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

De Wiki Gla
Ir para navegação Ir para pesquisar
m
Etiqueta: Revertido
m
 
(123 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
<script>
/*******************************************************************************
    (function () {
* TEMA ESCURO MODERNO - WIKI GLA
        const buttons = document.querySelectorAll('.tab-btn');
* Estilo wiki.gg com paleta personalizada
        const contents = document.querySelectorAll('.tab-content');
* Substitua seu Common.css por este arquivo
        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();
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&display=swap');


        const placeholder = document.createElement('div');
/*******************************************************************************
        placeholder.className = 'video-placeholder';
* SISTEMA DE VARIÁVEIS - PALETA ESCURA
        placeholder.innerHTML = `<img src="/images/d/d5/Icon_gla.png" alt="Cargando...">`;
*******************************************************************************/
        videoContainer.appendChild(placeholder);
:root {
    /* Backgrounds */
    --page-bg: #14161b;
    --content-bg: #1f2229;
    --content-bg-alt: #242831;
    --surface-bg: #2a2f38;
   
    /* Borders & Shadows */
    --border-color: #2d313a;
    --border-light: #343a46;
    --shadow-color: rgba(0, 0, 0, 0.45);
    --content-shadow: 0 8px 22px var(--shadow-color);
   
    /* Text */
    --text-primary: #e7ebf2;
    --text-secondary: #b7bfcc;
    --text-muted: #8891a0;
   
    /* Links */
    --link-color: #7ec8ff;
    --link-visited: #9aa9ff;
    --link-hover: #a7e0ff;
    --link-new: #ff6b6b;
   
    /* Accent Colors */
    --accent-primary: #459cca;
    --accent-secondary: #5684c8;
    --accent-gradient: linear-gradient(135deg, #459cca 0%, #5684c8 100%);
   
    /* Tables */
    --table-bg: #242831;
    --table-header: #2d313a;
    --table-border: #343a46;
    --table-hover: #2a303b;
    --table-stripe: #262b34;
   
    /* Forms */
    --input-bg: #242831;
    --input-border: #3d4450;
    --input-focus: #459cca;
   
    /* Scrollbar */
    --scrollbar-track: #1f2229;
    --scrollbar-thumb: #3d4450;
    --scrollbar-hover: #4a5263;
   
    /* Legacy compatibility */
    --content-text: var(--text-primary);
    --simpleSearch-bg: var(--input-bg);
    --searchInput-text: var(--text-secondary);
    --lightGray: var(--surface-bg);
    --gray: var(--border-light);
    --transparent-blue: rgba(69, 156, 202, 0.3);
    --blue: #459cca;
}


        function removePlaceholderSmooth() {
/*******************************************************************************
            placeholder.classList.add('fade-out');
* BASE & BODY
            placeholder.addEventListener('transitionend', () => placeholder.remove(), { once: true });
*******************************************************************************/
        }
html {
    scroll-behavior: smooth;
}


        function checkAllVideosLoaded() {
body {
            if (loadedVideos === totalVideos && totalVideos > 0) {
    background-color: var(--page-bg);
                autoplayEnabled = true;
    color: var(--text-primary);
            }
    font-family: 'Noto Sans', sans-serif;
        }
}


        // Pré-carregar todos os vídeos
/* Remove imagem de fundo clara */
        cuadros.forEach(div => {
body::before {
            const videoSrc = div.dataset.video;
    display: none !important;
            const index = div.dataset.index;
}


            if (videoSrc && videoSrc.trim() !== '' && !videosCache[index]) {
/*******************************************************************************
                totalVideos++;
* TIPOGRAFIA
*******************************************************************************/
body,
.mw-parser-output,
.mw-headline,
#firstHeading,
h1, h2, h3, h4, h5, h6,
p, ul, ol, li,
table, td, th, caption {
    font-family: 'Noto Sans', sans-serif !important;
    color: var(--text-primary);
}


                const videoEl = document.createElement('video');
h1, h2, h3, h4, h5, h6 {
                videoEl.setAttribute('width', '100%');
    color: var(--text-primary) !important;
                videoEl.setAttribute('controls', '');
    border-bottom: none !important;
                videoEl.setAttribute('preload', 'auto');
}
                videoEl.setAttribute('playsinline', '');
                videoEl.dataset.index = index;
                videoEl.style.display = 'none';


                const source = document.createElement('source');
.mw-headline {
                source.src = videoSrc;
    border-bottom: none !important;
                source.type = 'video/webm';
}
                videoEl.appendChild(source);


                // Quando o vídeo já estiver pronto, remover placeholder
#firstHeading {
                videoEl.addEventListener('canplay', () => {
    border-bottom: none !important;
                    loadedVideos++;
    color: var(--text-primary) !important;
                    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();
                });


/*******************************************************************************
* LINKS
*******************************************************************************/
a {
    color: var(--link-color) !important;
    transition: color 0.2s ease;
}


a:visited {
    color: var(--link-visited) !important;
}


                videoEl.addEventListener('error', () => {
a:hover {
                    loadedVideos++;
    color: var(--link-hover) !important;
                    removePlaceholderSmooth();
    text-decoration: none;
                    checkAllVideosLoaded();
}
                });


                videoContainer.appendChild(videoEl);
a.new {
                videosCache[index] = videoEl;
    color: var(--link-new) !important;
            }
}
        });


        // Se não houver vídeos, ocultar imediatamente
/*******************************************************************************
        if (totalVideos === 0) {
* CONTENT AREA
            placeholder.remove();
*******************************************************************************/
        }
#content,
.mw-body {
    background-color: var(--content-bg) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: var(--content-shadow);
}


        buttons.forEach(btn => btn.addEventListener('click', () => {
#mw-page-base,
            buttons.forEach(b => b.classList.remove('active'));
#mw-head-base {
            contents.forEach(c => c.classList.remove('active'));
    background: transparent !important;
            btn.classList.add('active');
}
            document.getElementById(btn.dataset.tab).classList.add('active');
        }));


        cuadros.forEach(div => {
#mw-head-base {
            const nome = div.dataset.nome;
    background: linear-gradient(180deg, var(--page-bg) 0%, transparent 100%) !important;
            const desc = div.dataset.desc.replace(/'''(.*?)'''/g, '<b>$1</b>');
}
            const atr = div.dataset.atr;
            const index = div.dataset.index;
            const hasVideo = div.dataset.video && div.dataset.video.trim() !== '';


            div.title = nome;
/*******************************************************************************
* SIDEBAR & NAVIGATION
*******************************************************************************/
#mw-panel {
    background: transparent;
}


            div.addEventListener('click', () => {
#mw-panel .mw-portlet {
                if (!autoplayEnabled && loadedVideos > 0) {
    background: transparent;
                    autoplayEnabled = true;
}
                }
                descripcionContainer.innerHTML = `
                <div class="titulo-habilidad">
                    <h3>${nome}</h3>
                </div>
                ${generarHTMLAtributos(atr)}
                <div class="desc">${desc}</div>
            `;


                Object.values(videosCache).forEach(v => {
#mw-panel .mw-portlet h3 {
                    v.pause();
    color: var(--text-muted) !important;
                    v.style.display = 'none';
    font-size: 0.75em;
                });
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


                // Gerenciar habilidades com/sem vídeo
#mw-panel .mw-portlet .vector-menu-content-list > li > a {
                if (hasVideo) {
    color: var(--link-color) !important;
                    const videoEl = videosCache[index];
    font-size: 0.80rem !important;
                    if (videoEl) {
    font-weight: 500 !important;
                        videoContainer.style.display = 'block';
    padding: 0.3em 0;
                        videoEl.style.display = 'block';
    transition: color 0.2s ease, padding-left 0.2s ease;
                        videoEl.currentTime = 0;
}
                        if (autoplayEnabled) {
                            videoEl.play().catch(e => console.log('Autoplay bloqueado:', e));
                        }
                    }


                } else {
#mw-panel .mw-portlet .vector-menu-content-list > li > a:hover {
                    videoContainer.style.display = 'none';
    color: var(--link-hover) !important;
                }
    padding-left: 4px;
}


                cuadros.forEach(c => c.classList.remove('activo'));
#p-logo {
                div.classList.add('activo');
    background-color: transparent !important;
            });
}
            ['data-nome', 'data-desc', 'data-atr', 'data-video'].forEach(attr => div.removeAttribute(attr));
        });


        if (Object.keys(videosCache).length === 0) {
#p-navigation {
            videoContainer.style.display = 'none';
    background-color: transparent;
        }
}


        if (cuadros.length) cuadros[0].click();
#p-tb {
    display: none;
}


        cuadrosContainer.addEventListener('wheel', e => {
/*******************************************************************************
            if (e.deltaY) {
* SEARCH BAR
                e.preventDefault();
*******************************************************************************/
                cuadrosContainer.scrollLeft += e.deltaY;
#simpleSearch {
            }
    background-color: var(--input-bg) !important;
        });
    border: 1px solid var(--input-border) !important;
    border-radius: 6px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}


        function activarFlechasCarrusel() {
#simpleSearch:focus-within {
            const carousel = document.querySelector('.skins-carousel');
    border-color: var(--input-focus) !important;
            const wrapper = document.querySelector('.skins-carousel-wrapper');
    box-shadow: 0 0 0 3px rgba(69, 156, 202, 0.2);
            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;
#searchInput {
    background-color: transparent !important;
    color: var(--text-primary) !important;
    border: none !important;
}


            const hideArrow = btn => {
#searchInput::placeholder {
                if (!btn.classList.contains('desapareciendo') && btn.style.display !== 'none') {
    color: var(--text-muted);
                    btn.classList.add('desapareciendo');
}
                    setTimeout(() => {
                        btn.style.display = 'none';
                        btn.classList.remove('desapareciendo');
                    }, 300);
                }
            };


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


            const setArrowsState = scrollLeft => {
#p-search {
                const maxScroll = carousel.scrollWidth - carousel.clientWidth;
    float: left;
                const hasLeft = scrollLeft > 5, hasRight = scrollLeft < maxScroll - 5;
    margin-left: -0.1em;
                hasLeft ? showArrow(leftBtn) : hideArrow(leftBtn);
    margin-right: 1em;
                hasRight ? showArrow(rightBtn) : hideArrow(rightBtn);
    margin-top: -0.4em;
                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;
* TABS & ACTIONS
                const scrollLeft = carousel.scrollLeft, maxScroll = carousel.scrollWidth - carousel.clientWidth;
*******************************************************************************/
                const nextScroll = dir === 'left' ? Math.max(0, scrollLeft - getScrollAmount()) : Math.min(maxScroll, scrollLeft + getScrollAmount());
.vector-menu-tabs,
.vector-menu-tabs a,
#mw-head .vector-menu-dropdown h3 {
    background: none;
}


                setArrowsState(nextScroll);
.vector-menu-tabs li {
                carousel.scrollTo({ left: nextScroll, behavior: 'smooth' });
    background: transparent;
}


                let last = -1, still = 0;
.vector-menu-tabs li a {
                const wait = setInterval(() => {
    color: var(--text-secondary) !important;
                    const current = Math.round(carousel.scrollLeft);
    background: transparent;
                    if (current === last) {
    transition: color 0.2s ease;
                        if (++still >= 2) {
}
                            clearInterval(wait);
                            isPredictingScroll = false;
                            setArrowsState(current);
                        }
                    } else {
                        last = current;
                        still = 0;
                    }
                }, 50);
            };


            carousel.addEventListener('scroll', () => {
.vector-menu-tabs li a:hover {
                if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
    color: var(--link-hover) !important;
            });
}


            new ResizeObserver(() => {
.vector-menu-tabs .selected {
                if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
    background: var(--content-bg) !important;
            }).observe(carousel);
    border: 1px solid var(--border-color) !important;
    border-bottom-color: var(--content-bg) !important;
    border-radius: 4px 4px 0 0;
}


            leftBtn.addEventListener('click', () => handleArrowClick('left'));
.vector-menu-tabs .selected a {
            rightBtn.addEventListener('click', () => handleArrowClick('right'));
    color: var(--text-primary) !important;
            setArrowsState(carousel.scrollLeft);
    font-weight: 600;
        }
}
        // Resolve o arquivo de forma confiável (cai no /images/... certo)
        function resolveFile(name) {
            if (window.mw && mw.util && typeof mw.util.getUrl === 'function') {
                return mw.util.getUrl('Special:FilePath/' + encodeURIComponent(name));
            }
            return '/index.php/Special:FilePath/' + encodeURIComponent(name);
        }


        function generarHTMLAtributos(str) {
#p-cactions {
            const vals = (str || '').split(',').map(v => v.trim());
    background: none;
            // ordem recebida: [PVE, PVP, Energia, Recarga]
    margin-top: -0.6em;
            const pveRaw = vals[0] ?? '-';
}
            const pvpRaw = vals[1] ?? '-';
            const eneRaw = vals[2] ?? '-';
            const cdRaw = vals[3] ?? '-';


            const energia = (eneRaw === '-' || isNaN(parseInt(eneRaw, 10)))
#p-cactions li {
                ? '-' : ((parseInt(eneRaw, 10) > 0 ? '+' : '') + parseInt(eneRaw, 10));
    background: none;
}


            const recarga = (cdRaw === '-' || isNaN(parseInt(cdRaw, 10)))
#p-cactions li.selected {
                ? '-' : (parseInt(cdRaw, 10) + ' seg');
    background: var(--content-bg);
    border: 1px solid var(--border-color);
}


            const rows = [
#p-cactions li a {
                ['Recarga', recarga],
    background-color: var(--surface-bg) !important;
                ['Energia', energia],
    color: var(--link-color) !important;
                ['Poder', (pveRaw === '-' || isNaN(parseInt(pveRaw, 10))) ? '-' : parseInt(pveRaw, 10)],
}
                ['Poder PvP', (pvpRaw === '-' || isNaN(parseInt(pvpRaw, 10))) ? '-' : parseInt(pvpRaw, 10)],
            ];


            return `
.vector-menu-dropdown .vector-menu-content {
     <div class="attr-list">
     background-color: var(--content-bg) !important;
      ${rows.map(([label, value]) => `
    border: 1px solid var(--border-color) !important;
        <div class="attr-row${value === '-' ? ' is-empty' : ''}">
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
          <span class="attr-label">${label}:</span>
}
          <span class="attr-value">${value}</span>
        </div>
      `).join('')}
    </div>
  `;
        }


     })();
.vector-menu-dropdown .vector-menu-content li a {
</script>
     color: var(--text-primary) !important;
}


<style>
.vector-menu-dropdown .vector-menu-content li a:hover {
     /* --------- Resetzinhos úteis ---------- */
    background-color: var(--surface-bg) !important;
     img {
}
        pointer-events: none;
 
        user-select: none;
#ca-view,
     }
#ca-history,
#ca-viewsource {
     display: none !important;
}
 
/*******************************************************************************
* DISCORD BUTTON
*******************************************************************************/
#n-Discord {
    font-size: 10px;
    line-height: 1.5em;
}
 
#p-Discord-label {
    display: none;
}
 
#n-Discord a {
    color: #fff !important;
    font-weight: bold;
    border-radius: 6px;
    border: 1px solid #4c57d0;
    background-color: #5865f2;
    display: block;
    position: relative;
    padding: 6px 8px 5px calc(14px + 6.5px * 2);
    box-shadow: 0 2px 8px rgba(88, 101, 242, 0.3);
    transition: all 0.2s ease;
}
 
#n-Discord a::after {
    content: '';
    background: url(/images/7/76/Discord-brands.png) no-repeat;
    background-size: contain;
    background-position: center;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1));
    position: absolute;
    top: 4px;
    left: 6px;
    width: 18px;
    height: 18px;
}
 
#n-Discord a:hover {
    text-decoration: none;
    background-color: #7885ff;
    border-color: #6c77f0;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(88, 101, 242, 0.4);
}
 
/*******************************************************************************
* TABLES - GENERAL
*******************************************************************************/
table {
    background-color: var(--table-bg);
    border-color: var(--table-border);
}
 
table th {
    background-color: var(--table-header) !important;
    color: var(--text-primary) !important;
    border-color: var(--table-border) !important;
}
 
table td {
    background-color: var(--table-bg) !important;
    color: var(--text-primary) !important;
    border-color: var(--table-border) !important;
}
 
table tr:hover td {
    background-color: var(--table-hover) !important;
}
 
/*******************************************************************************
* TABLE-ENHANCE
*******************************************************************************/
table.table-enhance {
    background-color: var(--table-bg);
    border: 1px solid var(--table-border);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
 
.table-enhance th,
.table-enhance td {
    border: 1px solid var(--table-border);
    color: var(--text-primary);
}
 
.table-enhance th {
    background-color: var(--table-header);
    color: var(--text-primary);
}
 
.table-enhance tr:nth-child(even) td {
    background-color: var(--table-stripe);
}
 
.table-enhance tr:hover td {
    background-color: var(--table-hover);
}
 
.table-enhance-vertical td:first-child {
    color: var(--link-color);
}
 
/*******************************************************************************
* WIKITABLES
*******************************************************************************/
table.wikitable,
table.wikitablec,
table.wikitablew,
table.wikitablenb,
table.wikitablewhite,
table.wikitablecenter,
table.wikitablew-tr,
table.prettytable {
    background-color: var(--table-bg) !important;
    border: 1px solid var(--table-border) !important;
}
 
table.wikitable th,
table.wikitablec th,
table.wikitablew th,
table.wikitablenb th,
table.wikitablewhite th,
table.wikitablecenter th,
table.wikitablew-tr th,
table.prettytable th {
    background-color: var(--table-header) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--table-border) !important;
}
 
table.wikitable td,
table.wikitablec td,
table.wikitablew td,
table.wikitablenb td,
table.wikitablewhite td,
table.wikitablecenter td,
table.wikitablew-tr td,
table.prettytable td {
    background-color: var(--table-bg) !important;
     color: var(--text-primary) !important;
    border: 1px solid var(--table-border) !important;
}
 
table.wikitable tr:hover td,
table.wikitablew tr:hover td,
table.wikitablew-tr tr:hover td {
    background-color: var(--table-hover) !important;
}
 
/*******************************************************************************
* JQUERY TABLESORTER
*******************************************************************************/
.jquery-tablesorter {
    background-color: var(--table-bg) !important;
    border-color: var(--table-border) !important;
}
 
.jquery-tablesorter tr td {
    background-color: var(--table-bg) !important;
     color: var(--text-primary) !important;
}


    video {
.jquery-tablesorter tr th {
        max-height: 33.25em;
    background-color: var(--table-header) !important;
        object-fit: fill;
    color: var(--text-primary) !important;
    }
}


    .mw-body {
#mw-content-text .mw-parser-output .jquery-tablesorter {
        padding: unset !important;
    background-color: var(--table-bg) !important;
     }
    color: var(--text-primary) !important;
     border-color: var(--table-border) !important;
}


     .mw-body-content {
/*******************************************************************************
        line-height: 1.5 !important;
* CARDS
     }
*******************************************************************************/
.card {
     background-color: var(--content-bg);
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
     transition: transform 0.2s ease, box-shadow 0.2s ease;
}


    .mw-body-content p {
.card:hover {
        display: none;
    transform: translateY(-2px);
     }
     box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}


    /* --------- Banner de fundo do topo ---------- */
.card-title {
     .banner {
     background: var(--accent-gradient);
        position: absolute;
    color: #fff;
        z-index: -9;
}
        width: 100%;
        height: 100%;
        background-image: url(https://i.imgur.com/OVGhLvl.png);
        background-size: cover;
    }


    .banner-personaje {
/*******************************************************************************
        width: 100%;
* HOMEPAGE
        height: auto;
*******************************************************************************/
    }
.initialPage--table {
    background: transparent !important;
}


    .banner::before {
.initialPage--table > tbody > tr > th,
        content: "";
.initialPage--table > tbody > tr > td {
        position: absolute;
    background: transparent !important;
        inset: 0;
}
        background: linear-gradient(to right, rgba(0, 0, 0, .6), rgba(0, 0, 0, .2));
    }


    /* --------- Caixa geral ---------- */
.initialPage--title th {
     .personaje-box {
     background-color: transparent !important;
        padding: unset !important;
    color: var(--text-primary) !important;
        color: #000;
}
        font-family: 'Noto Sans', sans-serif !important;
        width: 100%;
        margin: auto;
        position: relative;
        user-select: none;
    }


    .personaje-box p {
.initialPage--menuTitle {
        display: unset;
    background: var(--accent-gradient);
     }
     color: #fff;
}


    /* --------- Topbar ---------- */
.initialPage--menuContainer,
    .personaje-topbar {
.initialPage--sideMenuContainer {
        display: flex;
    background: transparent;
        flex-direction: column;
}
        align-items: flex-start;
        padding: 8px 20px;
        padding-top: 4px;
    }


    .personaje-nome-box {
/*******************************************************************************
        display: flex;
* SOCIAL MEDIA LINKS
        align-items: center;
*******************************************************************************/
        gap: 14px;
.initialPage--socialMedia {
    }
    border-top: 2px solid var(--border-light);
}


    .topbar-icon {
.initialPage--socialMediaLink {
        margin-top: 8px;
    color: var(--text-secondary) !important;
        width: 100px;
}
        height: 100px;
        object-fit: none;
    }


    .nome {
.initialPage--socialMediaLink:visited {
        text-shadow: 0 0 6px #000, 0 0 9px #000;
    color: var(--text-secondary) !important;
        color: #fff;
}
        font-size: 56px;
        font-family: 'Orbitron', sans-serif;
        font-weight: 900;
    }


    .topbar-description {
.socialMedia--svg svg {
        display: none !important;
    fill: var(--text-secondary);
        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 {
/* Discord */
        position: relative;
.initialPage--socialMedia.discord > .initialPage--socialMediaLink:hover {
        overflow: hidden;
    color: #5865f2 !important;
        display: flex;
}
        gap: 10px;
        flex-direction: column;
    }


    /* Arte do personagem – fica dentro do header e por trás do conteúdo */
.initialPage--socialMedia.discord:before {
    .art-personaje {
    background: #5865f2;
        width: 34.3vw;
}
        height: auto;
        position: absolute;
        right: 3.5rem;
        top: -3.1rem;
        z-index: 1;
        pointer-events: none;
    }


    .classes {
.initialPage--socialMedia.discord > .initialPage--socialMediaLink:hover > .socialMedia--svg svg {
        display: flex;
    fill: #5865f2 !important;
        gap: 9px;
}
        flex-wrap: wrap;
        margin-left: .28rem;
    }


    .classe {
/* Instagram */
        background: #353420;
.initialPage--socialMedia.instagram > .initialPage--socialMediaLink:hover {
        color: #fff;
    color: #f09433 !important;
        outline: 2px solid #000;
}
        padding: 1px 6px;
        border-radius: 4px;
        font-size: .9em;
        font-weight: bold;
        box-shadow: 0 0 2px rgb(0 0 0 / 70%);
    }


    .personaje-info {
.initialPage--socialMedia.instagram:before {
        user-select: none;
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    }
}


    .personaje-info .tier,
/* Facebook */
    .personaje-info .classe {
.initialPage--socialMedia.facebook > .initialPage--socialMediaLink:hover {
        font-size: 18px;
    color: #4267B2 !important;
        color: #bbb;
}
    }


    /* --------- Abas ---------- */
.initialPage--socialMedia.facebook:before {
    .personaje-tabs {
    background: #4267B2;
        margin: 4px 0 4px 8px;
}
        display: flex;
        gap: 12px;
        justify-content: flex-start;
    }


    .tab-btn {
/*******************************************************************************
        padding: 5px 20px;
* BADGES & SECTION TITLES
        background: #333;
*******************************************************************************/
        color: #fff;
.badge {
        border: 2px solid transparent;
    background: var(--accent-gradient);
        border-radius: 8px;
    color: #fff;
        font-size: 20px;
    box-shadow: rgba(69, 156, 202, 0.3) 0px 0px 0px 3px;
        cursor: pointer;
}
        font-weight: 600;
        line-height: 1;
        transition: background .15s ease, border-color .15s ease;
    }


    .tab-btn.active {
.section-title {
        background: #156bc7;
    background: var(--accent-gradient);
        border-color: #156bc7;
    color: #fff;
    }
}


    .tab-content {
/*******************************************************************************
        display: none;
* FILTERS (CHARACTERS PAGE)
        background: #26211cd6;
*******************************************************************************/
        padding: 0 8px 8px;
.filter {
        position: relative;
    background-color: var(--content-bg);
        z-index: 3;
    border: 2px solid var(--border-light);
    }
}


    .tab-content.active {
.filter--title {
        display: block;
    background: var(--accent-gradient);
     }
    border-right: 2px solid var(--border-light);
     color: #fff;
}


    /* --------- Habilidades ---------- */
.filter--input {
    .habilidades-container {
    background-color: var(--input-bg);
        display: flex;
    border: 2px solid var(--border-light);
        gap: 20px;
    color: var(--text-primary);
    }
}


    .habilidades-details {
.filter--input::placeholder {
        flex: 1;
    color: var(--text-muted);
        display: flex;
}
        flex-direction: column;
        gap: 10px;
        width: 50%;
        justify-content: center;
    }


    /* Barra dos ícones – ocupa toda a largura e fica acima da arte */
.filter--searchButton {
    .cuadros-container {
    background: var(--accent-gradient);
        display: flex;
    border: 2px solid var(--border-light);
        flex-wrap: nowrap;
}
        gap: 10px;
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 10px 0 3px 1px;
        position: relative;
        z-index: 4;
        margin-bottom: 6px;
        scrollbar-width: thin;
        scrollbar-color: #ababab transparent;
        scroll-behavior: smooth;
        justify-content: flex-start;
    }


    .cuadros-container::-webkit-scrollbar {
.filter--icon img {
        height: 6px;
    filter: grayscale(0.5) brightness(0.9);
    }
}


    .cuadros-container::-webkit-scrollbar-track {
.filter--icon.active img {
        background: transparent;
    filter: grayscale(0) brightness(1);
     }
     box-shadow: 0 0 12px rgba(69, 156, 202, 0.5);
}


    .cuadros-container::-webkit-scrollbar-thumb {
/*******************************************************************************
        background-color: #151515;
* CHARACTER CARDS
        border-radius: 3px;
*******************************************************************************/
    }
#characters-container > div > a > img {
    filter: grayscale(0.2) brightness(0.95);
    border: 2px solid var(--border-color);
    transition: all 0.25s ease;
}


    .cuadros-container .cuadro {
#characters-container > div:hover > a > img {
        flex: 0 0 auto;
    filter: grayscale(0) brightness(1);
        width: 50px;
    border-color: var(--accent-primary);
        height: 50px;
    box-shadow: 0 0 20px rgba(69, 156, 202, 0.4);
        border-radius: 5px;
    transform: scale(1.05);
        cursor: pointer;
}
        transition: transform .2s, box-shadow .2s;
    }


    .cuadros-container .cuadro.activo {
/*******************************************************************************
        box-shadow: 0 0 0 1.5px #FFD700;
* CHARACTER PAGE
    }
*******************************************************************************/
.characterInfo--name {
    color: var(--text-primary) !important;
}


    .cuadro img {
.characterInfo--contentContainer {
        width: 100%;
    background-color: var(--content-bg);
        height: 100%;
}
        object-fit: cover;
    }


    /* Título e tooltip */
.stats--container {
    .titulo-habilidad {
    background-color: var(--content-bg);
        position: relative;
}
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 8px;
        padding-right: 32px;
    }


    .titulo-habilidad h3 {
.bar-filled {
        font-size: 1.6em;
    background: var(--accent-primary);
        color: #fff;
}
        text-align: center;
        margin: 0;
        width: 100%;
    }


    .tooltip-container {
.bar-notFilled {
        position: absolute;
    background: var(--transparent-blue);
        right: 0;
}
        top: 50%;
        transform: translateY(-50%);
    }


    .info-btn {
/*******************************************************************************
        border: none;
* SKILLS TABS
        color: #D3DBDC;
*******************************************************************************/
        background: #787878;
.tabsContainer table {
        font-weight: bold;
    background: transparent;
        border-radius: 50%;
}
        width: 44px;
        height: 44px;
        font-family: 'Noto Sans';
        cursor: pointer;
        transition: .2s;
        box-shadow: 0 0 3px #000;
        font-size: 40px;
        padding: 0;
        line-height: 24px;
        text-align: center;
    }


    .tooltip-text {
.tabsContainer table > tbody > tr > td {
        visibility: hidden;
    border-bottom: 2px solid var(--border-color);
        width: 220px;
}
        background: #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 .3s;
        font-size: 12px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, .5);
        pointer-events: none;
    }


     .tooltip-container:hover .tooltip-text {
.tab-skill {
        visibility: visible;
     background-color: var(--content-bg);
        opacity: 1;
    border: 2px solid transparent;
    }
    transition: all 0.25s ease;
}


    /* Descrição da habilidade */
.tab-skill.active {
    .descripcion-container {
    border-color: var(--accent-primary);
        min-height: 27.5rem;
    background-color: var(--surface-bg);
        height: 100%;
}
        padding: 4px 16px !important;
        background: #26211C;
        border-radius: 8px;
        position: relative;
        box-shadow: 0 6px 18px rgba(0, 0, 0, .28);
        color: #fff;
        backdrop-filter: blur(2px);
        transition: all .3s ease;
        text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
        padding-top: 0 !important;
        z-index: 99;
    }


    .descripcion-container h3 {
.tab-skill:hover {
        font-size: 2.7em;
    background-color: var(--surface-bg);
        margin: 0;
}
        text-align: center;
        padding-top: 0;
    }


    .descripcion-container p,
.skillInfo--name {
     .desc {
     color: var(--text-primary) !important;
        font-size: 1.2em;
}
        margin: 0;
    }


    .desc {
.skillInfo--description {
        overflow-y: auto !important;
    color: var(--text-secondary);
        max-height: inherit;
}
        margin-top: 10px;
    }


    .desc * {
.skillInfo > div > .skillInfo--infoContainer b {
        font-size: inherit !important;
    color: var(--link-color) !important;
        line-height: inherit;
}
    }


    .descripcion-container .descLevel {
.skillInfo--attributesContainer > h1 {
        margin-top: 5px;
    color: var(--text-muted) !important;
        font-weight: bold;
}
    }


    .descripcion-container .desc::-webkit-scrollbar,
/* Scrollbar for skills */
    .tabSkill--container::-webkit-scrollbar {
.skillInfo--description::-webkit-scrollbar,
        width: 7px;
.tabSkill--container::-webkit-scrollbar {
        height: 7px;
    width: 8px;
    }
    height: 8px;
}


    .descripcion-container .desc::-webkit-scrollbar-thumb,
.skillInfo--description::-webkit-scrollbar-track,
    .tabSkill--container::-webkit-scrollbar-thumb {
.tabSkill--container::-webkit-scrollbar-track {
        background-color: rgb(71 153 255);
    background-color: var(--scrollbar-track);
        border-radius: 10px;
    border-radius: 10px;
    }
}


    .descripcion-container .desc::-webkit-scrollbar-track,
.skillInfo--description::-webkit-scrollbar-thumb,
    .tabSkill--container::-webkit-scrollbar-track {
.tabSkill--container::-webkit-scrollbar-thumb {
        background-color: #151515a8;
    background-color: var(--scrollbar-thumb);
        border-radius: 10px;
    border-radius: 10px;
    }
}


    /* Tiers */
.skillInfo--description::-webkit-scrollbar-thumb:hover,
    .tier-bronze .topbar-icon,
.tabSkill--container::-webkit-scrollbar-thumb:hover {
    .tier-bronze .tier {
    background-color: var(--scrollbar-hover);
        outline: 2px solid #7b4e2f !important;
}
    }


    .tier-silver .topbar-icon,
/*******************************************************************************
     .tier-silver .tier {
* ATTRIBUTE CARDS
        outline: 2px solid #d6d2d2 !important;
*******************************************************************************/
    }
.attribute--cardsContainer {
     background: var(--surface-bg);
    border: 2px solid var(--border-color);
}


    .tier-gold .topbar-icon,
.cardAttribute--value {
     .tier-gold .tier {
     color: var(--text-primary) !important;
        outline: 2px solid #fcd300 !important;
}
    }


    .tier-diamond .topbar-icon,
/*******************************************************************************
     .tier-diamond .tier {
* SKINS CONTAINER
        outline: 2px solid #60dae2 !important;
*******************************************************************************/
    }
.skins--container {
     background-color: var(--content-bg);
}


    /* Vídeo da habilidade */
.skins--container::-webkit-scrollbar {
    video::-webkit-media-controls {
    width: 8px;
        opacity: 0;
    height: 8px;
        transition: opacity .3s;
}
    }


    video:hover::-webkit-media-controls {
.skins--container::-webkit-scrollbar-track {
        opacity: 1;
    background-color: var(--scrollbar-track);
     }
     border-radius: 10px;
}


    .video-container {
.skins--container::-webkit-scrollbar-thumb {
        position: relative;
    background-color: var(--scrollbar-thumb);
        width: 43%;
    border-radius: 10px;
        background: #000;
}
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 2%;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
        overflow: hidden;
        z-index: 999;
    }


    .video-placeholder {
/*******************************************************************************
        position: absolute;
* CALCULATOR XP
        inset: 0;
*******************************************************************************/
        background: #000;
.calcXp--container {
        display: flex;
    background-color: var(--content-bg);
        align-items: center;
    border: 2px solid var(--border-light);
        justify-content: center;
}
        z-index: 2;
        opacity: 1;
        transition: opacity .9s ease;
    }


    .video-placeholder img {
.calcXp--resultTitle {
        width: 120px;
    color: var(--text-secondary) !important;
        height: auto;
}
        animation: breathe 2.5s ease-in-out infinite;
        filter: drop-shadow(0 0 6px rgba(255, 255, 255, .3));
    }


    .video-placeholder.fade-out {
.calcXp--formItem input {
        opacity: 0;
    background-color: var(--input-bg);
     }
    border: 2px solid var(--border-light);
     color: var(--text-primary);
}


     @keyframes breathe {
.calcXp--formItem span {
     color: var(--link-color);
}


        0%,
#calculate-btn {
        100% {
    background: var(--accent-gradient);
            transform: scale(1);
    color: #fff;
            opacity: 1;
    border: none;
        }
    box-shadow: 0 4px 12px rgba(69, 156, 202, 0.3);
}


        50% {
#calculate-btn:hover {
            transform: scale(1.07);
    box-shadow: 0 6px 16px rgba(69, 156, 202, 0.4);
            opacity: .85;
    transform: translateY(-2px);
        }
    background: linear-gradient(135deg, #3d8ab8 0%, #4a76b5 100%);
    }
}


    /* ===== Atributos ===== */
/*******************************************************************************
    .attr-list {
* ITEM INFOBOX
        display: flex;
*******************************************************************************/
        flex-direction: column;
.iteminfobox {
        gap: 4px;
    background: var(--content-bg);
        margin: 4px 0 10px;
    border: 1px solid var(--border-color);
    }
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}


    .descripcion-container .attr-list,
.iteminfobox b {
     .descripcion-container .attr-list * {
     color: var(--link-color);
        text-shadow: none;
}
        font-family: 'Noto Sans', sans-serif;
    }


    .attr-row {
/*******************************************************************************
        min-height: 22px;
* TOOLTIPS
        display: flex;
*******************************************************************************/
        align-items: center;
.tooltipster-default {
        gap: 6px;
    background-color: var(--content-bg) !important;
    }
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}


     .attr-row.is-empty {
.tip2 {
        visibility: hidden;
     background-color: var(--content-bg);
     }
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
     color: var(--text-primary);
}


    .attr-label {
/*******************************************************************************
        font-weight: 700;
* TRANSCRIPTIONS / DIALOGS
        color: #f0c87b;
*******************************************************************************/
        font-size: 0.95rem;
.transcrições {
     }
    background-color: var(--surface-bg);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
     color: var(--text-primary);
}


    .attr-value {
.transcrições::before {
        color: #fff;
    background-color: var(--surface-bg);
        font-weight: 800;
}
        font-size: 1.05rem;
        letter-spacing: .01em;
    }


     @media (max-aspect-ratio: 3/4) {
.transcrições b,
        .attr-row {
.transcrições strong {
            min-height: 26px;
     color: var(--text-primary) !important;
        }
}


        .attr-label {
.me {
            font-size: 1.2rem;
    color: var(--text-primary);
        }
}


        .attr-value {
/*******************************************************************************
            font-size: 1.25rem;
* TABBER COMPONENT
        }
*******************************************************************************/
     }
.mw-tabber-container {
    background-color: var(--content-bg);
    border: 1px solid var(--border-color);
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}


.mw-tabber-tabs {
    background-color: var(--surface-bg);
    border-bottom: 2px solid var(--border-color);
}


    /* --------- Skins ---------- */
.mw-tabber-tab {
     .attribute-title,
     background-color: var(--surface-bg);
    .card-skins-title {
    border-right: 1px solid var(--border-color);
        font-size: 1.4em;
    color: var(--text-secondary);
        text-align: center;
}
        letter-spacing: 1px;
        font-family: 'Noto Sans', sans-serif !important;
        border-bottom: 2px solid #9d9c9c;
        color: #fff !important;
        padding-bottom: 8px;
        margin-bottom: 16px;
        width: 75%;
    }


    .card-skins {
.mw-tabber-tab:hover {
        padding-block: 12px;
    background-color: var(--content-bg);
        border-radius: 12px;
    color: var(--link-hover);
        user-select: none;
}
    }


    .skins-carousel-wrapper {
.mw-tabber-tab.active {
        min-height: 21.1rem;
    background-color: var(--content-bg);
        max-height: 60%;
    color: var(--link-color);
        padding: 0 16px 1px !important;
    border-bottom: 3px solid var(--accent-primary);
        background: #26211C;
}
        border-radius: 8px;
        position: relative;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
        color: #fff;
        backdrop-filter: blur(2px);
        transition: all .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;
    }


    /* Gradientes laterais quando houver rolagem */
.mw-tabber-content {
    .skins-carousel-wrapper::before,
     background-color: var(--content-bg);
     .skins-carousel-wrapper::after {
}
        content: '';
        position: absolute;
        top: 0;
        width: 60px;
        height: 100%;
        pointer-events: none;
        opacity: 0;
        transition: opacity .4s ease;
        z-index: 3;
    }


    .skins-carousel-wrapper::before {
/*******************************************************************************
        left: 0;
* PRESET ABAS
        background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
*******************************************************************************/
    }
.tabela-abas {
    background: transparent;
}


    .skins-carousel-wrapper::after {
.mostrar-aba {
        right: 0;
    background-color: transparent;
        background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
}
    }


    .skins-carousel-wrapper.has-left::before,
.mostrar-aba:hover::after {
     .skins-carousel-wrapper.has-right::after {
     background-color: var(--text-muted);
        opacity: 1;
}
    }


    .has-left {
.mostrar-aba.ativa::after {
        padding-left: 60px;
    background-color: var(--accent-primary);
    }
}


    .has-left .skins-carousel {
.sec-aba-cem {
        mask-image: linear-gradient(to right, transparent 0px, black 40px, black 100%);
    color: var(--text-primary);
    }
}


    .has-right {
.aba {
        padding-right: 60px;
    background-color: var(--content-bg);
    }
}


    .has-right .skins-carousel {
/*******************************************************************************
        mask-image: linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%);
* WANTED PAGE
    }
*******************************************************************************/
#selectbox-wanted {
    background-color: var(--input-bg);
    border: 2px solid var(--border-light);
    color: var(--text-primary);
}


    .card-skins-title {
.wantedPortrait--title {
        display: block;
    color: var(--text-primary);
        border-bottom: unset;
}
        font-size: 40px;
        font-weight: bold;
        padding-bottom: unset;
        margin-bottom: 10px;
        width: 47%;
    }


    .skins-carousel {
/*******************************************************************************
        display: flex;
* GLOBAL EVENT WIDGET
        gap: 1vw;
*******************************************************************************/
        overflow-x: auto;
.global-event-widget {
        scroll-behavior: smooth;
    background-color: var(--content-bg);
        padding: 10px 0;
    border: 1px solid var(--border-color);
        flex-grow: 1;
    border-radius: 8px;
    }
    overflow: hidden;
}


    .skins-carousel.both-mask {
#global-event-time {
        mask-image: linear-gradient(to right, transparent 0px, black 40px, black calc(100% - 40px), transparent 100%);
    background: linear-gradient(to right, rgba(20, 22, 27, 0.9), transparent);
     }
     color: var(--text-primary);
}


    .skins-carousel.left-mask {
/*******************************************************************************
        mask-image: linear-gradient(to right, transparent 0px, black 40px, black 100%);
* CATEGORIES
     }
*******************************************************************************/
#mw-normal-catlinks {
    background-color: var(--surface-bg);
    border: 1px solid var(--border-color);
     padding: 0.5em 1em;
    border-radius: 4px;
}


    .skins-carousel.right-mask {
#mw-normal-catlinks ul a,
        mask-image: linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%);
#mw-normal-catlinks a {
    }
    color: var(--link-color) !important;
}


     .skins-carousel.no-mask {
/*******************************************************************************
        mask-image: none;
* TABLE OF CONTENTS
    }
*******************************************************************************/
#toc {
     background-color: var(--surface-bg);
    border: 1px solid var(--border-color);
}


     .skins-carousel::-webkit-scrollbar {
#toc h2 {
        display: none;
     color: var(--text-primary);
    }
}


    .skins-arrow {
#toc ul li a {
        background: none;
    color: var(--link-color) !important;
        border: none;
}
        color: #fff;
        font-size: 36px;
        cursor: pointer;
        padding: 8px;
        z-index: 5;
        transition: opacity .3s ease, transform .3s ease;
    }


    .skins-arrow.left {
#toc .toctogglelabel,
        margin-right: 8px;
span.toctogglespan {
    }
    display: none !important;
}


    .skins-arrow.right {
/*******************************************************************************
        margin-left: 8px;
* IMAGE THUMBNAILS
     }
*******************************************************************************/
.thumb {
    background-color: var(--surface-bg);
     border: 1px solid var(--border-color);
}


    .skins-arrow.hidden {
.thumbinner {
        opacity: 0;
    background-color: var(--surface-bg);
        transform: scale(.8);
    border: 1px solid var(--border-color);
        pointer-events: none;
}
        visibility: hidden;
    }


    .skin-card {
.thumbcaption {
        position: relative;
    color: var(--text-secondary) !important;
        width: 12vw;
}
        height: 39vh;
        flex: 0 0 auto;
        border: 2px solid #697EC9 !important;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
        background: #111;
    }


    .skin-card::before {
.mw-parser-output .center .thumbcaption,
        content: '';
.mw-parser-output .tright .thumbcaption {
        position: absolute;
    color: var(--text-secondary) !important;
        inset: 0;
}
        pointer-events: none;
        border-radius: inherit;
        z-index: 2;
        box-shadow: inset 0 0 8px rgba(180, 180, 180, .18);
    }


    .skins--imageBanner {
.magnify a {
        width: 100%;
    display: none;
        height: 109%;
}
    }


    .skins--imageBanner img {
/*******************************************************************************
        width: 100%;
* EDITOR & UPLOAD
        height: 100%;
*******************************************************************************/
        object-fit: cover;
.wikiEditor-ui-toolbar {
        filter: brightness(.5);
    background-color: var(--surface-bg);
        scale: 1.1;
    border-color: var(--border-color);
    }
}


    .skins--imageSkin img {
.wikiEditor-ui-toolbar .tabs span.tab a {
        position: absolute;
    color: var(--text-primary) !important;
        bottom: 10px;
}
        left: 50%;
        transform: translateX(-50%);
        height: 140px;
        width: auto;
        z-index: 2;
        transition: transform .2s;
    }


    /* --------- Responsivo (tela “alta”/mobile) ---------- */
.wikiEditor-ui-toolbar .group .tool-select .label {
     @media (max-aspect-ratio: 3/4) {
     color: var(--text-primary) !important;
        .desc {
}
            font-size: 26px;
            line-height: 1.5;
            overflow-y: auto !important;
            max-height: inherit;
            margin: 0;
            width: 100%;
            margin-top: 8px;
        }


        .desc * {
.wikiEditor-ui-toolbar .group .tool-select .options .option {
            font-size: inherit !important;
    color: var(--text-primary) !important;
            line-height: inherit;
    background-color: var(--content-bg);
        }
}


        .habilidades-container {
.wikiEditor-ui-toolbar .group .tool-select .options .option:hover {
            display: flex;
    background-color: var(--surface-bg);
            gap: 20px;
}
            flex-direction: column-reverse;
        }


        .habilidades-details {
.wikiEditor-ui-toolbar .booklet > .index {
            flex: 1;
    color: var(--text-primary);
            display: flex;
    background-color: var(--surface-bg);
            flex-direction: column;
}
            width: 96%;
            align-self: center;
        }


        .video-container {
.codeEditor-status-message {
            width: 80%;
    color: var(--text-primary) !important;
            border-radius: 3%;
    background-color: var(--surface-bg);
            margin-top: 2%;
    border-color: var(--border-color);
            align-self: center;
}
        }


        .art-personaje {
#msupload-div a {
            display: none;
    color: var(--link-color) !important;
            width: 370px;
}
            height: 290px;
            position: absolute;
            right: .5rem;
            top: 1.1rem;
            z-index: 1;
            pointer-events: none;
        }


        .topbar-description {
#msupload-bottom a {
            font-size: 22px;
    color: var(--text-primary) !important;
        }
}


        .personaje-info .tier,
#msupload-list .file {
        .personaje-info .classe {
    background: var(--surface-bg);
            font-size: 30px;
    border-top: 1px solid var(--border-color);
        }
    color: var(--text-primary) !important;
}


        .cuadros-container {
/*******************************************************************************
            width: 98%;
* MISC ELEMENTS
            place-self: center;
*******************************************************************************/
            padding: 10px 0 16px 1px;
.mw-destfile-warning {
        }
    background-color: var(--surface-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}


        .cuadros-container .cuadro {
.mw-logline-protect {
            width: 80px;
    color: var(--text-primary) !important;
            height: 80px;
}
        }


        .descripcion-container h3 {
div.mw-number-text {
            font-size: 3.6em;
    color: var(--text-muted) !important;
            margin-top: -14px;
}
        }


        .descripcion-container p {
div.mw-number-text h3 {
            font-size: 2.3em;
    color: var(--text-secondary) !important;
            margin-bottom: 5px;
}
        }


        .descripcion-container {
hr {
            padding: 22px !important;
    border-color: var(--border-color);
        }
}


        .tab-btn {
ul {
            padding: 10px 20px;
    list-style-image: none;
            font-size: 26px;
}
        }


        .tab-content {
.mw-parser-output small li,
            position: relative;
.mw-parser-output tr i,
            z-index: 1;
.mw-parser-output tr big {
            padding: 0 8px 20px;
    color: var(--text-primary) !important;
        }
}


        .classe {
#contentSub,
            padding: 0 5px;
#contentSub2 {
            font-size: 1.4em;
    margin: 0 !important;
        }
    padding: 0 !important;
    display: none;
}


        /* chips maiores no mobile */
#footer-info-lastmod {
        .attr-chips {
    display: none !important;
            gap: 14px;
}
        }


        .attr-chip {
/*******************************************************************************
            padding: 10px 14px;
* SCALE UP HOVER EFFECT
            border-radius: 12px;
*******************************************************************************/
        }
.scaleUp-hover {
    transition: all 0.25s ease;
}


        .attr-label,
.scaleUp-hover:hover {
        .attr-value {
    transform: scale(1.08);
            font-size: 1.3rem;
    filter: brightness(1.1);
        }
}


        .skins-carousel {
/*******************************************************************************
            gap: 20px;
* GLOBAL SCROLLBAR
        }
*******************************************************************************/
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}


        .skin-card {
::-webkit-scrollbar-track {
            width: 236px;
    background-color: var(--scrollbar-track);
            height: 400px;
}
        }


        .skins--imageSkin img {
::-webkit-scrollbar-thumb {
            height: 170px;
    background-color: var(--scrollbar-thumb);
        }
    border-radius: 5px;
}


        .tooltipster-content {
::-webkit-scrollbar-thumb:hover {
            font-size: 26px;
    background-color: var(--scrollbar-hover);
        }
}


        .attribute-title,
/* Firefox */
        .card-skins-title {
* {
            width: 100% !important;
    scrollbar-width: thin;
        }
    scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}


        .skins-arrow {
/*******************************************************************************
            display: none !important;
* SELECTION HIGHLIGHT
        }
*******************************************************************************/
::selection {
    background-color: rgba(69, 156, 202, 0.4);
    color: var(--text-primary);
}


        .skins-carousel-wrapper::after,
::-moz-selection {
        .skins-carousel-wrapper::before {
    background-color: rgba(69, 156, 202, 0.4);
            background: unset;
    color: var(--text-primary);
        }
}


        video::-webkit-media-controls {
/*******************************************************************************
            opacity: unset;
* RESPONSIVE ADJUSTMENTS
            transition: unset;
*******************************************************************************/
        }
@media screen and (max-width: 1024px) {
    .initialPage--sideMenuContainer .card {
        background-color: var(--content-bg);
    }
}


         video:hover::-webkit-media-controls {
@media screen and (max-width: 768px) {
            opacity: unset;
    .mw-tabber-tab {
        }
         background-color: var(--surface-bg);
        border-bottom: 1px solid var(--border-color);
    }
   
    .mw-tabber-tab.active {
        border-bottom: 3px solid var(--accent-primary);
     }
     }
</style>
}
 
/*******************************************************************************
* VIDEO RESPONSIVO
*******************************************************************************/
.video-responsivo {
    background: var(--page-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
}
 
.pagevideo {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background-color: var(--page-bg);
}
 
/*******************************************************************************
* UTILITY OVERRIDES (ensure dark theme)
*******************************************************************************/
.oo-ui-popupWidget-head > .oo-ui-iconElement-noIcon + .oo-ui-labelElement-label {
    color: var(--text-primary);
}
 
#ca-delete a,
#ca-move a,
#ca-unprotect a {
    background-color: var(--surface-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--link-color) !important;
}

Edição atual tal como às 18h29min de 17 de janeiro de 2026

/*******************************************************************************

* TEMA ESCURO MODERNO - WIKI GLA
* Estilo wiki.gg com paleta personalizada
* Substitua seu Common.css por este arquivo
*******************************************************************************/

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

/*******************************************************************************

* SISTEMA DE VARIÁVEIS - PALETA ESCURA
*******************************************************************************/
root {
   /* Backgrounds */
   --page-bg: #14161b;
   --content-bg: #1f2229;
   --content-bg-alt: #242831;
   --surface-bg: #2a2f38;
   
   /* Borders & Shadows */
   --border-color: #2d313a;
   --border-light: #343a46;
   --shadow-color: rgba(0, 0, 0, 0.45);
   --content-shadow: 0 8px 22px var(--shadow-color);
   
   /* Text */
   --text-primary: #e7ebf2;
   --text-secondary: #b7bfcc;
   --text-muted: #8891a0;
   
   /* Links */
   --link-color: #7ec8ff;
   --link-visited: #9aa9ff;
   --link-hover: #a7e0ff;
   --link-new: #ff6b6b;
   
   /* Accent Colors */
   --accent-primary: #459cca;
   --accent-secondary: #5684c8;
   --accent-gradient: linear-gradient(135deg, #459cca 0%, #5684c8 100%);
   
   /* Tables */
   --table-bg: #242831;
   --table-header: #2d313a;
   --table-border: #343a46;
   --table-hover: #2a303b;
   --table-stripe: #262b34;
   
   /* Forms */
   --input-bg: #242831;
   --input-border: #3d4450;
   --input-focus: #459cca;
   
   /* Scrollbar */
   --scrollbar-track: #1f2229;
   --scrollbar-thumb: #3d4450;
   --scrollbar-hover: #4a5263;
   
   /* Legacy compatibility */
   --content-text: var(--text-primary);
   --simpleSearch-bg: var(--input-bg);
   --searchInput-text: var(--text-secondary);
   --lightGray: var(--surface-bg);
   --gray: var(--border-light);
   --transparent-blue: rgba(69, 156, 202, 0.3);
   --blue: #459cca;

}

/*******************************************************************************

* BASE & BODY
*******************************************************************************/

html {

   scroll-behavior: smooth;

}

body {

   background-color: var(--page-bg);
   color: var(--text-primary);
   font-family: 'Noto Sans', sans-serif;

}

/* Remove imagem de fundo clara */ body::before {

   display: none !important;

}

/*******************************************************************************

* TIPOGRAFIA
*******************************************************************************/

body, .mw-parser-output, .mw-headline,

  1. firstHeading,

h1, h2, h3, h4, h5, h6, p, ul, ol, li, table, td, th, caption {

   font-family: 'Noto Sans', sans-serif !important;
   color: var(--text-primary);

}

h1, h2, h3, h4, h5, h6 {

   color: var(--text-primary) !important;
   border-bottom: none !important;

}

.mw-headline {

   border-bottom: none !important;

}

  1. firstHeading {
   border-bottom: none !important;
   color: var(--text-primary) !important;

}

/*******************************************************************************

* LINKS
*******************************************************************************/

a {

   color: var(--link-color) !important;
   transition: color 0.2s ease;

}

a:visited {

   color: var(--link-visited) !important;

}

a:hover {

   color: var(--link-hover) !important;
   text-decoration: none;

}

a.new {

   color: var(--link-new) !important;

}

/*******************************************************************************

* CONTENT AREA
*******************************************************************************/
  1. content,

.mw-body {

   background-color: var(--content-bg) !important;
   color: var(--text-primary) !important;
   border: 1px solid var(--border-color) !important;
   box-shadow: var(--content-shadow);

}

  1. mw-page-base,
  2. mw-head-base {
   background: transparent !important;

}

  1. mw-head-base {
   background: linear-gradient(180deg, var(--page-bg) 0%, transparent 100%) !important;

}

/*******************************************************************************

* SIDEBAR & NAVIGATION
*******************************************************************************/
  1. mw-panel {
   background: transparent;

}

  1. mw-panel .mw-portlet {
   background: transparent;

}

  1. mw-panel .mw-portlet h3 {
   color: var(--text-muted) !important;
   font-size: 0.75em;
   text-transform: uppercase;
   letter-spacing: 0.5px;

}

  1. mw-panel .mw-portlet .vector-menu-content-list > li > a {
   color: var(--link-color) !important;
   font-size: 0.80rem !important;
   font-weight: 500 !important;
   padding: 0.3em 0;
   transition: color 0.2s ease, padding-left 0.2s ease;

}

  1. mw-panel .mw-portlet .vector-menu-content-list > li > a:hover {
   color: var(--link-hover) !important;
   padding-left: 4px;

}

  1. p-logo {
   background-color: transparent !important;

}

  1. p-navigation {
   background-color: transparent;

}

  1. p-tb {
   display: none;

}

/*******************************************************************************

* SEARCH BAR
*******************************************************************************/
  1. simpleSearch {
   background-color: var(--input-bg) !important;
   border: 1px solid var(--input-border) !important;
   border-radius: 6px;
   transition: border-color 0.2s ease, box-shadow 0.2s ease;

}

  1. simpleSearch:focus-within {
   border-color: var(--input-focus) !important;
   box-shadow: 0 0 0 3px rgba(69, 156, 202, 0.2);

}

  1. searchInput {
   background-color: transparent !important;
   color: var(--text-primary) !important;
   border: none !important;

}

  1. searchInput::placeholder {
   color: var(--text-muted);

}

  1. searchButton {
   filter: invert(0.8);

}

  1. p-search {
   float: left;
   margin-left: -0.1em;
   margin-right: 1em;
   margin-top: -0.4em;

}

/*******************************************************************************

* TABS & ACTIONS
*******************************************************************************/

.vector-menu-tabs, .vector-menu-tabs a,

  1. mw-head .vector-menu-dropdown h3 {
   background: none;

}

.vector-menu-tabs li {

   background: transparent;

}

.vector-menu-tabs li a {

   color: var(--text-secondary) !important;
   background: transparent;
   transition: color 0.2s ease;

}

.vector-menu-tabs li a:hover {

   color: var(--link-hover) !important;

}

.vector-menu-tabs .selected {

   background: var(--content-bg) !important;
   border: 1px solid var(--border-color) !important;
   border-bottom-color: var(--content-bg) !important;
   border-radius: 4px 4px 0 0;

}

.vector-menu-tabs .selected a {

   color: var(--text-primary) !important;
   font-weight: 600;

}

  1. p-cactions {
   background: none;
   margin-top: -0.6em;

}

  1. p-cactions li {
   background: none;

}

  1. p-cactions li.selected {
   background: var(--content-bg);
   border: 1px solid var(--border-color);

}

  1. p-cactions li a {
   background-color: var(--surface-bg) !important;
   color: var(--link-color) !important;

}

.vector-menu-dropdown .vector-menu-content {

   background-color: var(--content-bg) !important;
   border: 1px solid var(--border-color) !important;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);

}

.vector-menu-dropdown .vector-menu-content li a {

   color: var(--text-primary) !important;

}

.vector-menu-dropdown .vector-menu-content li a:hover {

   background-color: var(--surface-bg) !important;

}

  1. ca-view,
  2. ca-history,
  3. ca-viewsource {
   display: none !important;

}

/*******************************************************************************

* DISCORD BUTTON
*******************************************************************************/
  1. n-Discord {
   font-size: 10px;
   line-height: 1.5em;

}

  1. p-Discord-label {
   display: none;

}

  1. n-Discord a {
   color: #fff !important;
   font-weight: bold;
   border-radius: 6px;
   border: 1px solid #4c57d0;
   background-color: #5865f2;
   display: block;
   position: relative;
   padding: 6px 8px 5px calc(14px + 6.5px * 2);
   box-shadow: 0 2px 8px rgba(88, 101, 242, 0.3);
   transition: all 0.2s ease;

}

  1. n-Discord a::after {
   content: ;
   background: url(/images/7/76/Discord-brands.png) no-repeat;
   background-size: contain;
   background-position: center;
   filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1));
   position: absolute;
   top: 4px;
   left: 6px;
   width: 18px;
   height: 18px;

}

  1. n-Discord a:hover {
   text-decoration: none;
   background-color: #7885ff;
   border-color: #6c77f0;
   transform: translateY(-1px);
   box-shadow: 0 4px 12px rgba(88, 101, 242, 0.4);

}

/*******************************************************************************

* TABLES - GENERAL
*******************************************************************************/

table {

   background-color: var(--table-bg);
   border-color: var(--table-border);

}

table th {

   background-color: var(--table-header) !important;
   color: var(--text-primary) !important;
   border-color: var(--table-border) !important;

}

table td {

   background-color: var(--table-bg) !important;
   color: var(--text-primary) !important;
   border-color: var(--table-border) !important;

}

table tr:hover td {

   background-color: var(--table-hover) !important;

}

/*******************************************************************************

* TABLE-ENHANCE
*******************************************************************************/

table.table-enhance {

   background-color: var(--table-bg);
   border: 1px solid var(--table-border);
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);

}

.table-enhance th, .table-enhance td {

   border: 1px solid var(--table-border);
   color: var(--text-primary);

}

.table-enhance th {

   background-color: var(--table-header);
   color: var(--text-primary);

}

.table-enhance tr:nth-child(even) td {

   background-color: var(--table-stripe);

}

.table-enhance tr:hover td {

   background-color: var(--table-hover);

}

.table-enhance-vertical td:first-child {

   color: var(--link-color);

}

/*******************************************************************************

* WIKITABLES
*******************************************************************************/

table.wikitable, table.wikitablec, table.wikitablew, table.wikitablenb, table.wikitablewhite, table.wikitablecenter, table.wikitablew-tr, table.prettytable {

   background-color: var(--table-bg) !important;
   border: 1px solid var(--table-border) !important;

}

table.wikitable th, table.wikitablec th, table.wikitablew th, table.wikitablenb th, table.wikitablewhite th, table.wikitablecenter th, table.wikitablew-tr th, table.prettytable th {

   background-color: var(--table-header) !important;
   color: var(--text-primary) !important;
   border: 1px solid var(--table-border) !important;

}

table.wikitable td, table.wikitablec td, table.wikitablew td, table.wikitablenb td, table.wikitablewhite td, table.wikitablecenter td, table.wikitablew-tr td, table.prettytable td {

   background-color: var(--table-bg) !important;
   color: var(--text-primary) !important;
   border: 1px solid var(--table-border) !important;

}

table.wikitable tr:hover td, table.wikitablew tr:hover td, table.wikitablew-tr tr:hover td {

   background-color: var(--table-hover) !important;

}

/*******************************************************************************

* JQUERY TABLESORTER
*******************************************************************************/

.jquery-tablesorter {

   background-color: var(--table-bg) !important;
   border-color: var(--table-border) !important;

}

.jquery-tablesorter tr td {

   background-color: var(--table-bg) !important;
   color: var(--text-primary) !important;

}

.jquery-tablesorter tr th {

   background-color: var(--table-header) !important;
   color: var(--text-primary) !important;

}

  1. mw-content-text .mw-parser-output .jquery-tablesorter {
   background-color: var(--table-bg) !important;
   color: var(--text-primary) !important;
   border-color: var(--table-border) !important;

}

/*******************************************************************************

* CARDS
*******************************************************************************/

.card {

   background-color: var(--content-bg);
   border: 1px solid var(--border-color);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
   transition: transform 0.2s ease, box-shadow 0.2s ease;

}

.card:hover {

   transform: translateY(-2px);
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);

}

.card-title {

   background: var(--accent-gradient);
   color: #fff;

}

/*******************************************************************************

* HOMEPAGE
*******************************************************************************/

.initialPage--table {

   background: transparent !important;

}

.initialPage--table > tbody > tr > th, .initialPage--table > tbody > tr > td {

   background: transparent !important;

}

.initialPage--title th {

   background-color: transparent !important;
   color: var(--text-primary) !important;

}

.initialPage--menuTitle {

   background: var(--accent-gradient);
   color: #fff;

}

.initialPage--menuContainer, .initialPage--sideMenuContainer {

   background: transparent;

}

/*******************************************************************************

* SOCIAL MEDIA LINKS
*******************************************************************************/

.initialPage--socialMedia {

   border-top: 2px solid var(--border-light);

}

.initialPage--socialMediaLink {

   color: var(--text-secondary) !important;

}

.initialPage--socialMediaLink:visited {

   color: var(--text-secondary) !important;

}

.socialMedia--svg svg {

   fill: var(--text-secondary);

}

/* Discord */ .initialPage--socialMedia.discord > .initialPage--socialMediaLink:hover {

   color: #5865f2 !important;

}

.initialPage--socialMedia.discord:before {

   background: #5865f2;

}

.initialPage--socialMedia.discord > .initialPage--socialMediaLink:hover > .socialMedia--svg svg {

   fill: #5865f2 !important;

}

/* Instagram */ .initialPage--socialMedia.instagram > .initialPage--socialMediaLink:hover {

   color: #f09433 !important;

}

.initialPage--socialMedia.instagram:before {

   background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);

}

/* Facebook */ .initialPage--socialMedia.facebook > .initialPage--socialMediaLink:hover {

   color: #4267B2 !important;

}

.initialPage--socialMedia.facebook:before {

   background: #4267B2;

}

/*******************************************************************************

* BADGES & SECTION TITLES
*******************************************************************************/

.badge {

   background: var(--accent-gradient);
   color: #fff;
   box-shadow: rgba(69, 156, 202, 0.3) 0px 0px 0px 3px;

}

.section-title {

   background: var(--accent-gradient);
   color: #fff;

}

/*******************************************************************************

* FILTERS (CHARACTERS PAGE)
*******************************************************************************/

.filter {

   background-color: var(--content-bg);
   border: 2px solid var(--border-light);

}

.filter--title {

   background: var(--accent-gradient);
   border-right: 2px solid var(--border-light);
   color: #fff;

}

.filter--input {

   background-color: var(--input-bg);
   border: 2px solid var(--border-light);
   color: var(--text-primary);

}

.filter--input::placeholder {

   color: var(--text-muted);

}

.filter--searchButton {

   background: var(--accent-gradient);
   border: 2px solid var(--border-light);

}

.filter--icon img {

   filter: grayscale(0.5) brightness(0.9);

}

.filter--icon.active img {

   filter: grayscale(0) brightness(1);
   box-shadow: 0 0 12px rgba(69, 156, 202, 0.5);

}

/*******************************************************************************

* CHARACTER CARDS
*******************************************************************************/
  1. characters-container > div > a > img {
   filter: grayscale(0.2) brightness(0.95);
   border: 2px solid var(--border-color);
   transition: all 0.25s ease;

}

  1. characters-container > div:hover > a > img {
   filter: grayscale(0) brightness(1);
   border-color: var(--accent-primary);
   box-shadow: 0 0 20px rgba(69, 156, 202, 0.4);
   transform: scale(1.05);

}

/*******************************************************************************

* CHARACTER PAGE
*******************************************************************************/

.characterInfo--name {

   color: var(--text-primary) !important;

}

.characterInfo--contentContainer {

   background-color: var(--content-bg);

}

.stats--container {

   background-color: var(--content-bg);

}

.bar-filled {

   background: var(--accent-primary);

}

.bar-notFilled {

   background: var(--transparent-blue);

}

/*******************************************************************************

* SKILLS TABS
*******************************************************************************/

.tabsContainer table {

   background: transparent;

}

.tabsContainer table > tbody > tr > td {

   border-bottom: 2px solid var(--border-color);

}

.tab-skill {

   background-color: var(--content-bg);
   border: 2px solid transparent;
   transition: all 0.25s ease;

}

.tab-skill.active {

   border-color: var(--accent-primary);
   background-color: var(--surface-bg);

}

.tab-skill:hover {

   background-color: var(--surface-bg);

}

.skillInfo--name {

   color: var(--text-primary) !important;

}

.skillInfo--description {

   color: var(--text-secondary);

}

.skillInfo > div > .skillInfo--infoContainer b {

   color: var(--link-color) !important;

}

.skillInfo--attributesContainer > h1 {

   color: var(--text-muted) !important;

}

/* Scrollbar for skills */ .skillInfo--description::-webkit-scrollbar, .tabSkill--container::-webkit-scrollbar {

   width: 8px;
   height: 8px;

}

.skillInfo--description::-webkit-scrollbar-track, .tabSkill--container::-webkit-scrollbar-track {

   background-color: var(--scrollbar-track);
   border-radius: 10px;

}

.skillInfo--description::-webkit-scrollbar-thumb, .tabSkill--container::-webkit-scrollbar-thumb {

   background-color: var(--scrollbar-thumb);
   border-radius: 10px;

}

.skillInfo--description::-webkit-scrollbar-thumb:hover, .tabSkill--container::-webkit-scrollbar-thumb:hover {

   background-color: var(--scrollbar-hover);

}

/*******************************************************************************

* ATTRIBUTE CARDS
*******************************************************************************/

.attribute--cardsContainer {

   background: var(--surface-bg);
   border: 2px solid var(--border-color);

}

.cardAttribute--value {

   color: var(--text-primary) !important;

}

/*******************************************************************************

* SKINS CONTAINER
*******************************************************************************/

.skins--container {

   background-color: var(--content-bg);

}

.skins--container::-webkit-scrollbar {

   width: 8px;
   height: 8px;

}

.skins--container::-webkit-scrollbar-track {

   background-color: var(--scrollbar-track);
   border-radius: 10px;

}

.skins--container::-webkit-scrollbar-thumb {

   background-color: var(--scrollbar-thumb);
   border-radius: 10px;

}

/*******************************************************************************

* CALCULATOR XP
*******************************************************************************/

.calcXp--container {

   background-color: var(--content-bg);
   border: 2px solid var(--border-light);

}

.calcXp--resultTitle {

   color: var(--text-secondary) !important;

}

.calcXp--formItem input {

   background-color: var(--input-bg);
   border: 2px solid var(--border-light);
   color: var(--text-primary);

}

.calcXp--formItem span {

   color: var(--link-color);

}

  1. calculate-btn {
   background: var(--accent-gradient);
   color: #fff;
   border: none;
   box-shadow: 0 4px 12px rgba(69, 156, 202, 0.3);

}

  1. calculate-btn:hover {
   box-shadow: 0 6px 16px rgba(69, 156, 202, 0.4);
   transform: translateY(-2px);
   background: linear-gradient(135deg, #3d8ab8 0%, #4a76b5 100%);

}

/*******************************************************************************

* ITEM INFOBOX
*******************************************************************************/

.iteminfobox {

   background: var(--content-bg);
   border: 1px solid var(--border-color);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);

}

.iteminfobox b {

   color: var(--link-color);

}

/*******************************************************************************

* TOOLTIPS
*******************************************************************************/

.tooltipster-default {

   background-color: var(--content-bg) !important;
   color: var(--text-primary) !important;
   border: 1px solid var(--border-color);
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);

}

.tip2 {

   background-color: var(--content-bg);
   border: 1px solid var(--border-color);
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
   color: var(--text-primary);

}

/*******************************************************************************

* TRANSCRIPTIONS / DIALOGS
*******************************************************************************/

.transcrições {

   background-color: var(--surface-bg);
   border-radius: 8px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
   color: var(--text-primary);

}

.transcrições::before {

   background-color: var(--surface-bg);

}

.transcrições b, .transcrições strong {

   color: var(--text-primary) !important;

}

.me {

   color: var(--text-primary);

}

/*******************************************************************************

* TABBER COMPONENT
*******************************************************************************/

.mw-tabber-container {

   background-color: var(--content-bg);
   border: 1px solid var(--border-color);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);

}

.mw-tabber-tabs {

   background-color: var(--surface-bg);
   border-bottom: 2px solid var(--border-color);

}

.mw-tabber-tab {

   background-color: var(--surface-bg);
   border-right: 1px solid var(--border-color);
   color: var(--text-secondary);

}

.mw-tabber-tab:hover {

   background-color: var(--content-bg);
   color: var(--link-hover);

}

.mw-tabber-tab.active {

   background-color: var(--content-bg);
   color: var(--link-color);
   border-bottom: 3px solid var(--accent-primary);

}

.mw-tabber-content {

   background-color: var(--content-bg);

}

/*******************************************************************************

* PRESET ABAS
*******************************************************************************/

.tabela-abas {

   background: transparent;

}

.mostrar-aba {

   background-color: transparent;

}

.mostrar-aba:hover::after {

   background-color: var(--text-muted);

}

.mostrar-aba.ativa::after {

   background-color: var(--accent-primary);

}

.sec-aba-cem {

   color: var(--text-primary);

}

.aba {

   background-color: var(--content-bg);

}

/*******************************************************************************

* WANTED PAGE
*******************************************************************************/
  1. selectbox-wanted {
   background-color: var(--input-bg);
   border: 2px solid var(--border-light);
   color: var(--text-primary);

}

.wantedPortrait--title {

   color: var(--text-primary);

}

/*******************************************************************************

* GLOBAL EVENT WIDGET
*******************************************************************************/

.global-event-widget {

   background-color: var(--content-bg);
   border: 1px solid var(--border-color);
   border-radius: 8px;
   overflow: hidden;

}

  1. global-event-time {
   background: linear-gradient(to right, rgba(20, 22, 27, 0.9), transparent);
   color: var(--text-primary);

}

/*******************************************************************************

* CATEGORIES
*******************************************************************************/
  1. mw-normal-catlinks {
   background-color: var(--surface-bg);
   border: 1px solid var(--border-color);
   padding: 0.5em 1em;
   border-radius: 4px;

}

  1. mw-normal-catlinks ul a,
  2. mw-normal-catlinks a {
   color: var(--link-color) !important;

}

/*******************************************************************************

* TABLE OF CONTENTS
*******************************************************************************/
  1. toc {
   background-color: var(--surface-bg);
   border: 1px solid var(--border-color);

}

  1. toc h2 {
   color: var(--text-primary);

}

  1. toc ul li a {
   color: var(--link-color) !important;

}

  1. toc .toctogglelabel,

span.toctogglespan {

   display: none !important;

}

/*******************************************************************************

* IMAGE THUMBNAILS
*******************************************************************************/

.thumb {

   background-color: var(--surface-bg);
   border: 1px solid var(--border-color);

}

.thumbinner {

   background-color: var(--surface-bg);
   border: 1px solid var(--border-color);

}

.thumbcaption {

   color: var(--text-secondary) !important;

}

.mw-parser-output .center .thumbcaption, .mw-parser-output .tright .thumbcaption {

   color: var(--text-secondary) !important;

}

.magnify a {

   display: none;

}

/*******************************************************************************

* EDITOR & UPLOAD
*******************************************************************************/

.wikiEditor-ui-toolbar {

   background-color: var(--surface-bg);
   border-color: var(--border-color);

}

.wikiEditor-ui-toolbar .tabs span.tab a {

   color: var(--text-primary) !important;

}

.wikiEditor-ui-toolbar .group .tool-select .label {

   color: var(--text-primary) !important;

}

.wikiEditor-ui-toolbar .group .tool-select .options .option {

   color: var(--text-primary) !important;
   background-color: var(--content-bg);

}

.wikiEditor-ui-toolbar .group .tool-select .options .option:hover {

   background-color: var(--surface-bg);

}

.wikiEditor-ui-toolbar .booklet > .index {

   color: var(--text-primary);
   background-color: var(--surface-bg);

}

.codeEditor-status-message {

   color: var(--text-primary) !important;
   background-color: var(--surface-bg);
   border-color: var(--border-color);

}

  1. msupload-div a {
   color: var(--link-color) !important;

}

  1. msupload-bottom a {
   color: var(--text-primary) !important;

}

  1. msupload-list .file {
   background: var(--surface-bg);
   border-top: 1px solid var(--border-color);
   color: var(--text-primary) !important;

}

/*******************************************************************************

* MISC ELEMENTS
*******************************************************************************/

.mw-destfile-warning {

   background-color: var(--surface-bg);
   border: 1px solid var(--border-color);
   color: var(--text-primary);

}

.mw-logline-protect {

   color: var(--text-primary) !important;

}

div.mw-number-text {

   color: var(--text-muted) !important;

}

div.mw-number-text h3 {

   color: var(--text-secondary) !important;

}

hr {

   border-color: var(--border-color);

}

ul {

   list-style-image: none;

}

.mw-parser-output small li, .mw-parser-output tr i, .mw-parser-output tr big {

   color: var(--text-primary) !important;

}

  1. contentSub,
  2. contentSub2 {
   margin: 0 !important;
   padding: 0 !important;
   display: none;

}

  1. footer-info-lastmod {
   display: none !important;

}

/*******************************************************************************

* SCALE UP HOVER EFFECT
*******************************************************************************/

.scaleUp-hover {

   transition: all 0.25s ease;

}

.scaleUp-hover:hover {

   transform: scale(1.08);
   filter: brightness(1.1);

}

/*******************************************************************************

* GLOBAL SCROLLBAR
*******************************************************************************/
-webkit-scrollbar {
   width: 10px;
   height: 10px;

}

-webkit-scrollbar-track {
   background-color: var(--scrollbar-track);

}

-webkit-scrollbar-thumb {
   background-color: var(--scrollbar-thumb);
   border-radius: 5px;

}

-webkit-scrollbar-thumb:hover {
   background-color: var(--scrollbar-hover);

}

/* Firefox */

  • {
   scrollbar-width: thin;
   scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);

}

/*******************************************************************************

* SELECTION HIGHLIGHT
*******************************************************************************/
selection {
   background-color: rgba(69, 156, 202, 0.4);
   color: var(--text-primary);

}

-moz-selection {
   background-color: rgba(69, 156, 202, 0.4);
   color: var(--text-primary);

}

/*******************************************************************************

* RESPONSIVE ADJUSTMENTS
*******************************************************************************/

@media screen and (max-width: 1024px) {

   .initialPage--sideMenuContainer .card {
       background-color: var(--content-bg);
   }

}

@media screen and (max-width: 768px) {

   .mw-tabber-tab {
       background-color: var(--surface-bg);
       border-bottom: 1px solid var(--border-color);
   }
   
   .mw-tabber-tab.active {
       border-bottom: 3px solid var(--accent-primary);
   }

}

/*******************************************************************************

* VIDEO RESPONSIVO
*******************************************************************************/

.video-responsivo {

   background: var(--page-bg);
   border: 1px solid var(--border-color);
   border-radius: 8px;
   overflow: hidden;

}

.pagevideo {

   border: 1px solid var(--border-color);
   border-radius: 8px;
   background-color: var(--page-bg);

}

/*******************************************************************************

* UTILITY OVERRIDES (ensure dark theme)
*******************************************************************************/

.oo-ui-popupWidget-head > .oo-ui-iconElement-noIcon + .oo-ui-labelElement-label {

   color: var(--text-primary);

}

  1. ca-delete a,
  2. ca-move a,
  3. ca-unprotect a {
   background-color: var(--surface-bg) !important;
   border-color: var(--border-color) !important;
   color: var(--link-color) !important;

}