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

De Wiki Gla
Ir para navegação Ir para pesquisar
 
(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@600;700&family=Outfit:wght@400;500;600&display=swap');
    /* ===== RESET ===== */
    .ba-wrap, .ba-wrap * { box-sizing: border-box; margin: 0; padding: 0; }
    .ba-wrap {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        border-radius: 12px;
        overflow: hidden;
        transition: background .3s, color .3s;
    }


/* === PAGE FIXES === */
    /* ===== TEMAS ===== */
#firstHeading, #contentSub, #contentSub2 { display: none !important; margin: 0 !important; padding: 0 !important; }
    .ba-wrap.dark { background: #14141f; color: #c8c8d8; }
.mw-parser-output > p:has(> style),
    .ba-wrap.light { background: #f0f0f5; color: #2a2a3d; }
.mw-parser-output > p:has(> script) { margin: 0 !important; padding: 0 !important; }


/* === FULL WIDTH (Vector skin) === */
    /* ===== HEADER ===== */
.mw-parser-output > #lk-outer {
    .ba-header {
    margin-inline: calc(var(--vector-body-padding-horizontal, 1em) * -1);
        display: flex; align-items: center; justify-content: space-between;
     width: calc(100% + var(--vector-body-padding-horizontal, 1em) * 2);
        padding: 16px 20px 0;
}
    }
    .ba-title { font-size: 20px; font-weight: 700; }
     .ba-wrap.dark .ba-title { color: #fff; }
    .ba-wrap.light .ba-title { color: #1a1a2a; }


/* === VARIABLES — LIGHT === */
     .ba-controls { display: flex; align-items: center; gap: 10px; }
#lk-outer {
    --bg:      #f1f3f8;
    --surf:    #ffffff;
    --surf2:  #edf0f7;
    --border:  #dce1ee;
    --text:    #18202e;
    --text2:  #636e88;
     --accent:  #c92a2a;
    --shadow:  0 1px 4px rgba(0,0,0,.07);
    --shadow2: 0 4px 20px rgba(0,0,0,.10);
    --r:      14px;
    --r2:     9px;
    --font:   'Outfit', system-ui, sans-serif;
    --font-hd: 'Rajdhani', system-ui, sans-serif;
    font-family: var(--font);
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
}
#lk-outer * { box-sizing: border-box; }


/* === DARK MODE === */
    .ba-mode-toggle {
#lk-outer.dk {
        display: flex; gap: 4px; border-radius: 20px; padding: 3px;
    --bg:     #0a0d16;
        transition: background .3s;
    --surf:   #111422;
     }
    --surf2:   #181c2e;
     .ba-wrap.dark .ba-mode-toggle { background: #1e1e30; }
    --border: #242840;
     .ba-wrap.light .ba-mode-toggle { background: #dddde5; }
     --text:    #dde4f5;
     --text2:   #6e789a;
     --shadow:  0 1px 6px rgba(0,0,0,.5);
    --shadow2: 0 4px 24px rgba(0,0,0,.6);
}


/* === HEADER === */
     .ba-mode-btn {
#lk-hd {
        padding: 5px 16px; border-radius: 16px; border: none;
     display: flex;
        font-size: 12px; font-weight: 700; cursor: pointer;
    align-items: center;
        background: transparent; transition: all .2s;
    justify-content: space-between;
        text-transform: uppercase; letter-spacing: .5px;
    padding: 18px 32px;
     }
    background: var(--surf);
     .ba-wrap.dark .ba-mode-btn { color: #6a6a8a; }
    border-bottom: 1px solid var(--border);
     .ba-wrap.light .ba-mode-btn { color: #8888a0; }
    gap: 14px;
     .ba-wrap.dark .ba-mode-btn.active { background: #2a2a44; color: #e8c84a; }
    flex-wrap: wrap;
     .ba-wrap.light .ba-mode-btn.active { background: #fff; color: #5a5a7a; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
    position: sticky;
    top: 0;
    z-index: 100;
}
#lk-eyebrow {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2.5px;
     text-transform: uppercase;
     color: var(--accent);
    margin-bottom: 2px;
}
#lk-title {
     font-family: var(--font-hd);
     font-size: 26px;
    font-weight: 700;
    color: var(--text);
     letter-spacing: 0.5px;
    line-height: 1.1;
}
#lk-hd-r { display: flex; align-items: center; gap: 10px; }


/* DIFFICULTY PILL */
    .ba-theme-btn {
#lk-diff {
        display: flex; align-items: center; gap: 6px;
    display: flex;
        padding: 6px 14px; border-radius: 20px; border: none;
    background: var(--surf2);
        cursor: pointer; font-size: 13px; font-weight: 600;
    border: 1px solid var(--border);
        transition: all .2s; white-space: nowrap;
    border-radius: 999px;
     }
    padding: 3px;
    .ba-wrap.dark .ba-theme-btn { background: #1e1e30; color: #c8c8d8; }
    gap: 2px;
    .ba-wrap.light .ba-theme-btn { background: #dddde5; color: #5a5a7a; }
}
.lk-db {
    padding: 5px 18px;
    border: none;
    background: transparent;
    border-radius: 999px;
    cursor: pointer;
    font-family: var(--font);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
     color: var(--text2);
    transition: all .2s ease;
}
.lk-db.on {
    background: var(--accent);
    color: #fff;
    box-shadow: 0 2px 10px rgba(201,42,42,.35);
}


/* THEME BTN */
    /* ===== TABS BOSSES ===== */
#lk-tb {
    .ba-tabs-bar {
    width: 34px; height: 34px;
        padding: 16px 20px 0;
    border-radius: 50%;
        overflow-x: auto;
     border: 1px solid var(--border);
     }
     background: var(--surf2);
     .ba-tabs-bar::-webkit-scrollbar { height: 0; }
    cursor: pointer;
    font-size: 15px;
    display: flex; align-items: center; justify-content: center;
    transition: all .2s;
    flex-shrink: 0;
}
#lk-tb:hover { background: var(--border); }


/* === DIFFICULTY BANNER === */
    .ba-tabs {
#lk-ban {
        display: flex; justify-content: center; gap: 0;
    overflow: hidden;
        border-bottom: 1px solid rgba(120,120,180,.15);
    max-height: 0;
     }
    transition: max-height .35s ease, padding .35s ease;
     .ba-wrap.light .ba-tabs { border-bottom-color: rgba(0,0,0,.08); }
    background: linear-gradient(90deg, rgba(201,42,42,.07) 0%, transparent 60%);
     border-bottom: 1px solid transparent;
     padding: 0 32px;
    display: flex;
    align-items: center;
}
#lk-ban.on {
    max-height: 60px;
    padding: 10px 32px;
    border-bottom-color: var(--border);
}
#lk-ban-bg {
    font-family: var(--font-hd);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    background: var(--accent);
    color: #fff;
    padding: 3px 12px;
    border-radius: 6px;
    margin-right: 12px;
    flex-shrink: 0;
}
#lk-ban-tx { font-size: 13px; color: var(--text2); }


/* === TABBER === */
     .ba-tab {
#lk-tabs-bar {
        padding: 10px 20px; background: transparent; border: none; cursor: pointer;
    background: var(--surf);
        font-size: 13px; font-weight: 600; white-space: nowrap;
    border-bottom: 2px solid var(--border);
        transition: all .2s; position: relative;
    overflow: hidden;
     }
}
     .ba-wrap.dark .ba-tab { color: #6a6a8a; }
#lk-tabs {
    .ba-wrap.light .ba-tab { color: #8888a0; }
    display: flex;
    .ba-wrap.dark .ba-tab.active { color: #e05555; }
    overflow-x: auto;
     .ba-wrap.light .ba-tab.active { color: #c04040; }
    padding: 0 24px;
     scrollbar-width: none;
}
#lk-tabs::-webkit-scrollbar { display: none; }
.lk-tab {
    flex-shrink: 0;
    padding: 13px 22px 11px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-family: var(--font);
    font-size: 13px;
    font-weight: 600;
    color: var(--text2);
    border-bottom: 3px solid transparent;
     margin-bottom: -2px;
     transition: color .2s, border-color .2s;
    white-space: nowrap;
}
.lk-tab:hover { color: var(--text); }
.lk-tab.on {
    color: var(--accent);
     border-bottom-color: var(--accent);
}


/* === PANELS === */
    .ba-tab.active::after {
#lk-panels { padding: 28px 32px; }
        content: ''; position: absolute; bottom: -1px; left: 15%; right: 15%;
.lk-panel { display: none; }
        height: 2px; border-radius: 2px;
.lk-panel.on { display: block; animation: lkFd .22s ease; }
    }
    .ba-wrap.dark .ba-tab.active::after { background: #6ab4ff; }
    .ba-wrap.light .ba-tab.active::after { background: #5a8ad0; }


@keyframes lkFd {
    /* ===== BODY ===== */
     from { opacity: 0; transform: translateY(7px); }
     .ba-body {
     to  { opacity: 1; transform: translateY(0); }
        padding: 20px; min-height: 320px; transition: background .3s;
}
    }
     .ba-wrap.dark .ba-body { background: #1c1c2e; }
    .ba-wrap.light .ba-body { background: #fff; }


/* BOSS CARD */
    .ba-section-label {
.lk-bcard {
        font-size: 11px; font-weight: 700;
    display: flex;
        letter-spacing: 1px; text-transform: uppercase; margin-bottom: 12px;
    gap: 24px;
     }
    align-items: flex-start;
     .ba-wrap.dark .ba-section-label { color: #7e7e9e; }
    background: var(--surf);
     .ba-wrap.light .ba-section-label { color: #9090a8; }
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 22px 22px 22px 28px;
    margin-bottom: 24px;
    box-shadow: var(--shadow2);
     position: relative;
    overflow: hidden;
}
.lk-bcard::before {
    content: '';
     position: absolute;
    top: 0; left: 0;
    width: 5px; height: 100%;
    background: var(--accent);
}
.lk-bportrait {
    flex-shrink: 0;
    width: 110px; height: 110px;
    border-radius: var(--r2);
    background: var(--surf2);
    border: 1px solid var(--border);
    overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.lk-bportrait img {
    max-width: 100%; max-height: 100%; object-fit: contain;
}
.lk-binfo { flex: 1; min-width: 0; }
.lk-bname {
    font-family: var(--font-hd);
    font-size: 22px;
    font-weight: 700;
    color: var(--text);
     margin: 0 0 8px;
    letter-spacing: 0.3px;
}
.lk-bdesc {
    font-size: 13px;
    color: var(--text2);
    line-height: 1.65;
    margin: 0;
}


/* === SKILLS === */
    /* ===== SKILLS ===== */
.lk-slbl {
     .ba-skills-area { display: flex; gap: 16px; }
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
     letter-spacing: 1.5px;
    color: var(--text2);
    margin-bottom: 10px;
}
.lk-sk {
    background: var(--surf);
    border: 1px solid var(--border);
    border-radius: var(--r2);
    margin-bottom: 8px;
    overflow: hidden;
    transition: border-color .2s;
    box-shadow: var(--shadow);
}
.lk-sk.open { border-color: var(--accent); }
.lk-skbtn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border: none;
    background: var(--surf2);
    cursor: pointer;
    transition: background .15s;
    gap: 12px;
}
.lk-skbtn:hover,
.lk-sk.open .lk-skbtn { background: var(--surf); }
.lk-skl {
    display: flex; align-items: center; gap: 10px;
    flex: 1; min-width: 0;
}
.lk-snum {
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    font-family: var(--font);
}
.lk-sname {
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lk-sarr {
    font-size: 10px;
    color: var(--text2);
    transition: transform .22s ease;
    flex-shrink: 0;
}
.lk-sk.open .lk-sarr { transform: rotate(180deg); }
.lk-skbody {
    display: none;
    padding: 16px;
    border-top: 1px solid var(--border);
    background: var(--surf);
}
.lk-skbody.open { display: block; animation: lkFd .18s ease; }
.lk-yvid {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    border-radius: var(--r2);
    overflow: hidden;
    background: #000;
    margin-bottom: 14px;
}
.lk-yvid iframe {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%; border: 0;
}
.lk-sdesc {
    font-size: 13px;
    color: var(--text2);
    line-height: 1.65;
    margin: 0;
}


/* === REWARD (renderizado fora do widget, movido para dentro via JS) === */
     .ba-skills-list {
.lk-reward-wrap {
        width: 200px; flex-shrink: 0; display: flex;
    margin: 0 32px 32px;
        flex-direction: column; gap: 4px;
    padding: 18px 24px;
    }
     background: var(--surf);
    border: 1px solid var(--border);
    border-radius: var(--r);
    box-shadow: var(--shadow2);
}
.lk-reward-lbl {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--text2);
    margin-bottom: 14px;
    display: flex; align-items: center; gap: 8px;
}
.lk-reward-lbl::before { content: '🏆'; font-size: 14px; }


/* === RESPONSIVE === */
    .ba-skill-btn {
@media (max-width: 640px) {
        display: flex; align-items: center; gap: 10px;
    #lk-hd { padding: 14px 16px; }
        padding: 9px 12px; border-radius: 8px; border: none;
    #lk-title { font-size: 20px; }
        cursor: pointer; font-size: 13px; font-weight: 500;
    .lk-db { padding: 4px 12px; font-size: 10px; }
        text-align: left; transition: all .15s; width: 100%;
    #lk-tabs { padding: 0 10px; }
        background: transparent;
    .lk-tab { padding: 11px 14px 9px; font-size: 12px; }
    }
    #lk-panels { padding: 16px; }
     .ba-wrap.dark .ba-skill-btn { color: #9090aa; }
     .lk-reward-wrap { margin: 0 16px 16px; padding: 14px 16px; }
     .ba-wrap.light .ba-skill-btn { color: #7a7a90; }
     #lk-ban.on { padding: 8px 16px; }
     .ba-wrap.dark .ba-skill-btn:hover { background: #24243a; color: #c8c8d8; }
     .lk-bcard { flex-direction: column; align-items: center; text-align: center; padding: 18px 18px 18px 20px; gap: 14px; }
     .ba-wrap.light .ba-skill-btn:hover { background: #f0f0f5; color: #2a2a3d; }
     .lk-bcard::before { width: 100%; height: 5px; }
     .ba-wrap.dark .ba-skill-btn.active { background: #2a2a44; color: #fff; border-left: 3px solid #6ab4ff; }
     .lk-bportrait { width: 80px; height: 80px; }
     .ba-wrap.light .ba-skill-btn.active { background: #eef4ff; color: #1a1a2a; border-left: 3px solid #5a8ad0; }
     .lk-bname { font-size: 18px; }
}
</style>


<!-- ===== DATA SPANS — NÃO APAGAR ===== -->
    .ba-skill-num {
<span id="lkd-el" style="display:none">{{{elite|}}}</span>
        width: 20px; height: 20px; border-radius: 50%;
<span id="lkd-hd" style="display:none">{{{hard|}}}</span>
        display: flex; align-items: center; justify-content: center;
        font-size: 10px; font-weight: 700; flex-shrink: 0;
    }
    .ba-wrap.dark .ba-skill-num { background: #2a2a44; color: #6ab4ff; }
    .ba-wrap.light .ba-skill-num { background: #dde8f8; color: #5a8ad0; }
    .ba-wrap.dark .ba-skill-btn.active .ba-skill-num { background: #6ab4ff; color: #14141f; }
    .ba-wrap.light .ba-skill-btn.active .ba-skill-num { background: #5a8ad0; color: #fff; }


<!-- Boss 1 -->
    /* ===== VIDEO ===== */
<span id="lkd-b1n" style="display:none">{{{boss1nome|}}}</span>
    .ba-video-area {
<span id="lkd-b1i" style="display:none">{{{boss1img|}}}</span>
        border-radius: 10px; overflow: hidden;
<span id="lkd-b1d" style="display:none">{{{boss1desc|}}}</span>
        aspect-ratio: 16/9; width: 480px; min-width: 360px;
<span id="lkd-b1s1n" style="display:none">{{{boss1skill1nome|}}}</span>
        display: flex; align-items: center; justify-content: center;
<span id="lkd-b1s1v" style="display:none">{{{boss1skill1video|}}}</span>
        flex-shrink: 0;
<span id="lkd-b1s1d" style="display:none">{{{boss1skill1desc|}}}</span>
    }
<span id="lkd-b1s2n" style="display:none">{{{boss1skill2nome|}}}</span>
    .ba-wrap.dark .ba-video-area { background: #111; border: 1px solid rgba(100,100,160,.15); }
<span id="lkd-b1s2v" style="display:none">{{{boss1skill2video|}}}</span>
    .ba-wrap.light .ba-video-area { background: #e8e8f0; border: 1px solid rgba(0,0,0,.08); }
<span id="lkd-b1s2d" style="display:none">{{{boss1skill2desc|}}}</span>
<span id="lkd-b1s3n" style="display:none">{{{boss1skill3nome|}}}</span>
<span id="lkd-b1s3v" style="display:none">{{{boss1skill3video|}}}</span>
<span id="lkd-b1s3d" style="display:none">{{{boss1skill3desc|}}}</span>
<span id="lkd-b1s4n" style="display:none">{{{boss1skill4nome|}}}</span>
<span id="lkd-b1s4v" style="display:none">{{{boss1skill4video|}}}</span>
<span id="lkd-b1s4d" style="display:none">{{{boss1skill4desc|}}}</span>
<span id="lkd-b1s5n" style="display:none">{{{boss1skill5nome|}}}</span>
<span id="lkd-b1s5v" style="display:none">{{{boss1skill5video|}}}</span>
<span id="lkd-b1s5d" style="display:none">{{{boss1skill5desc|}}}</span>
<span id="lkd-b1s6n" style="display:none">{{{boss1skill6nome|}}}</span>
<span id="lkd-b1s6v" style="display:none">{{{boss1skill6video|}}}</span>
<span id="lkd-b1s6d" style="display:none">{{{boss1skill6desc|}}}</span>
<span id="lkd-b1s7n" style="display:none">{{{boss1skill7nome|}}}</span>
<span id="lkd-b1s7v" style="display:none">{{{boss1skill7video|}}}</span>
<span id="lkd-b1s7d" style="display:none">{{{boss1skill7desc|}}}</span>
<span id="lkd-b1s8n" style="display:none">{{{boss1skill8nome|}}}</span>
<span id="lkd-b1s8v" style="display:none">{{{boss1skill8video|}}}</span>
<span id="lkd-b1s8d" style="display:none">{{{boss1skill8desc|}}}</span>


<!-- Boss 2 -->
    .ba-video-placeholder { text-align: center; }
<span id="lkd-b2n" style="display:none">{{{boss2nome|}}}</span>
    .ba-wrap.dark .ba-video-placeholder { color: #555; }
<span id="lkd-b2i" style="display:none">{{{boss2img|}}}</span>
    .ba-wrap.light .ba-video-placeholder { color: #aaa; }
<span id="lkd-b2d" style="display:none">{{{boss2desc|}}}</span>
    .ba-video-placeholder p { font-size: 12px; }
<span id="lkd-b2s1n" style="display:none">{{{boss2skill1nome|}}}</span>
<span id="lkd-b2s1v" style="display:none">{{{boss2skill1video|}}}</span>
<span id="lkd-b2s1d" style="display:none">{{{boss2skill1desc|}}}</span>
<span id="lkd-b2s2n" style="display:none">{{{boss2skill2nome|}}}</span>
<span id="lkd-b2s2v" style="display:none">{{{boss2skill2video|}}}</span>
<span id="lkd-b2s2d" style="display:none">{{{boss2skill2desc|}}}</span>
<span id="lkd-b2s3n" style="display:none">{{{boss2skill3nome|}}}</span>
<span id="lkd-b2s3v" style="display:none">{{{boss2skill3video|}}}</span>
<span id="lkd-b2s3d" style="display:none">{{{boss2skill3desc|}}}</span>
<span id="lkd-b2s4n" style="display:none">{{{boss2skill4nome|}}}</span>
<span id="lkd-b2s4v" style="display:none">{{{boss2skill4video|}}}</span>
<span id="lkd-b2s4d" style="display:none">{{{boss2skill4desc|}}}</span>
<span id="lkd-b2s5n" style="display:none">{{{boss2skill5nome|}}}</span>
<span id="lkd-b2s5v" style="display:none">{{{boss2skill5video|}}}</span>
<span id="lkd-b2s5d" style="display:none">{{{boss2skill5desc|}}}</span>
<span id="lkd-b2s6n" style="display:none">{{{boss2skill6nome|}}}</span>
<span id="lkd-b2s6v" style="display:none">{{{boss2skill6video|}}}</span>
<span id="lkd-b2s6d" style="display:none">{{{boss2skill6desc|}}}</span>
<span id="lkd-b2s7n" style="display:none">{{{boss2skill7nome|}}}</span>
<span id="lkd-b2s7v" style="display:none">{{{boss2skill7video|}}}</span>
<span id="lkd-b2s7d" style="display:none">{{{boss2skill7desc|}}}</span>
<span id="lkd-b2s8n" style="display:none">{{{boss2skill8nome|}}}</span>
<span id="lkd-b2s8v" style="display:none">{{{boss2skill8video|}}}</span>
<span id="lkd-b2s8d" style="display:none">{{{boss2skill8desc|}}}</span>


<!-- Boss 3 -->
    .ba-skill-desc {
<span id="lkd-b3n" style="display:none">{{{boss3nome|}}}</span>
        font-size: 12px; line-height: 1.5;
<span id="lkd-b3i" style="display:none">{{{boss3img|}}}</span>
        padding: 8px 12px; border-radius: 8px;
<span id="lkd-b3d" style="display:none">{{{boss3desc|}}}</span>
        flex: 1; min-width: 80px;
<span id="lkd-b3s1n" style="display:none">{{{boss3skill1nome|}}}</span>
    }
<span id="lkd-b3s1v" style="display:none">{{{boss3skill1video|}}}</span>
    .ba-wrap.dark .ba-skill-desc { color: #8888a8; background: #1a1a2a; border-left: 2px solid #6ab4ff; }
<span id="lkd-b3s1d" style="display:none">{{{boss3skill1desc|}}}</span>
    .ba-wrap.light .ba-skill-desc { color: #6a6a80; background: #f5f5fa; border-left: 2px solid #5a8ad0; }
<span id="lkd-b3s2n" style="display:none">{{{boss3skill2nome|}}}</span>
<span id="lkd-b3s2v" style="display:none">{{{boss3skill2video|}}}</span>
<span id="lkd-b3s2d" style="display:none">{{{boss3skill2desc|}}}</span>
<span id="lkd-b3s3n" style="display:none">{{{boss3skill3nome|}}}</span>
<span id="lkd-b3s3v" style="display:none">{{{boss3skill3video|}}}</span>
<span id="lkd-b3s3d" style="display:none">{{{boss3skill3desc|}}}</span>
<span id="lkd-b3s4n" style="display:none">{{{boss3skill4nome|}}}</span>
<span id="lkd-b3s4v" style="display:none">{{{boss3skill4video|}}}</span>
<span id="lkd-b3s4d" style="display:none">{{{boss3skill4desc|}}}</span>
<span id="lkd-b3s5n" style="display:none">{{{boss3skill5nome|}}}</span>
<span id="lkd-b3s5v" style="display:none">{{{boss3skill5video|}}}</span>
<span id="lkd-b3s5d" style="display:none">{{{boss3skill5desc|}}}</span>
<span id="lkd-b3s6n" style="display:none">{{{boss3skill6nome|}}}</span>
<span id="lkd-b3s6v" style="display:none">{{{boss3skill6video|}}}</span>
<span id="lkd-b3s6d" style="display:none">{{{boss3skill6desc|}}}</span>
<span id="lkd-b3s7n" style="display:none">{{{boss3skill7nome|}}}</span>
<span id="lkd-b3s7v" style="display:none">{{{boss3skill7video|}}}</span>
<span id="lkd-b3s7d" style="display:none">{{{boss3skill7desc|}}}</span>
<span id="lkd-b3s8n" style="display:none">{{{boss3skill8nome|}}}</span>
<span id="lkd-b3s8v" style="display:none">{{{boss3skill8video|}}}</span>
<span id="lkd-b3s8d" style="display:none">{{{boss3skill8desc|}}}</span>


<!-- Boss 4 -->
    .ba-video-row {
<span id="lkd-b4n" style="display:none">{{{boss4nome|}}}</span>
        display: flex; gap: 14px; align-items: flex-start; flex: 1;
<span id="lkd-b4i" style="display:none">{{{boss4img|}}}</span>
    }
<span id="lkd-b4d" style="display:none">{{{boss4desc|}}}</span>
<span id="lkd-b4s1n" style="display:none">{{{boss4skill1nome|}}}</span>
<span id="lkd-b4s1v" style="display:none">{{{boss4skill1video|}}}</span>
<span id="lkd-b4s1d" style="display:none">{{{boss4skill1desc|}}}</span>
<span id="lkd-b4s2n" style="display:none">{{{boss4skill2nome|}}}</span>
<span id="lkd-b4s2v" style="display:none">{{{boss4skill2video|}}}</span>
<span id="lkd-b4s2d" style="display:none">{{{boss4skill2desc|}}}</span>
<span id="lkd-b4s3n" style="display:none">{{{boss4skill3nome|}}}</span>
<span id="lkd-b4s3v" style="display:none">{{{boss4skill3video|}}}</span>
<span id="lkd-b4s3d" style="display:none">{{{boss4skill3desc|}}}</span>
<span id="lkd-b4s4n" style="display:none">{{{boss4skill4nome|}}}</span>
<span id="lkd-b4s4v" style="display:none">{{{boss4skill4video|}}}</span>
<span id="lkd-b4s4d" style="display:none">{{{boss4skill4desc|}}}</span>
<span id="lkd-b4s5n" style="display:none">{{{boss4skill5nome|}}}</span>
<span id="lkd-b4s5v" style="display:none">{{{boss4skill5video|}}}</span>
<span id="lkd-b4s5d" style="display:none">{{{boss4skill5desc|}}}</span>
<span id="lkd-b4s6n" style="display:none">{{{boss4skill6nome|}}}</span>
<span id="lkd-b4s6v" style="display:none">{{{boss4skill6video|}}}</span>
<span id="lkd-b4s6d" style="display:none">{{{boss4skill6desc|}}}</span>
<span id="lkd-b4s7n" style="display:none">{{{boss4skill7nome|}}}</span>
<span id="lkd-b4s7v" style="display:none">{{{boss4skill7video|}}}</span>
<span id="lkd-b4s7d" style="display:none">{{{boss4skill7desc|}}}</span>
<span id="lkd-b4s8n" style="display:none">{{{boss4skill8nome|}}}</span>
<span id="lkd-b4s8v" style="display:none">{{{boss4skill8video|}}}</span>
<span id="lkd-b4s8d" style="display:none">{{{boss4skill8desc|}}}</span>


<!-- Boss 5 -->
    .ba-empty {
<span id="lkd-b5n" style="display:none">{{{boss5nome|}}}</span>
        text-align: center; padding: 60px 20px; opacity: .4; font-size: 14px;
<span id="lkd-b5i" style="display:none">{{{boss5img|}}}</span>
    }
<span id="lkd-b5d" style="display:none">{{{boss5desc|}}}</span>
<span id="lkd-b5s1n" style="display:none">{{{boss5skill1nome|}}}</span>
<span id="lkd-b5s1v" style="display:none">{{{boss5skill1video|}}}</span>
<span id="lkd-b5s1d" style="display:none">{{{boss5skill1desc|}}}</span>
<span id="lkd-b5s2n" style="display:none">{{{boss5skill2nome|}}}</span>
<span id="lkd-b5s2v" style="display:none">{{{boss5skill2video|}}}</span>
<span id="lkd-b5s2d" style="display:none">{{{boss5skill2desc|}}}</span>
<span id="lkd-b5s3n" style="display:none">{{{boss5skill3nome|}}}</span>
<span id="lkd-b5s3v" style="display:none">{{{boss5skill3video|}}}</span>
<span id="lkd-b5s3d" style="display:none">{{{boss5skill3desc|}}}</span>
<span id="lkd-b5s4n" style="display:none">{{{boss5skill4nome|}}}</span>
<span id="lkd-b5s4v" style="display:none">{{{boss5skill4video|}}}</span>
<span id="lkd-b5s4d" style="display:none">{{{boss5skill4desc|}}}</span>
<span id="lkd-b5s5n" style="display:none">{{{boss5skill5nome|}}}</span>
<span id="lkd-b5s5v" style="display:none">{{{boss5skill5video|}}}</span>
<span id="lkd-b5s5d" style="display:none">{{{boss5skill5desc|}}}</span>
<span id="lkd-b5s6n" style="display:none">{{{boss5skill6nome|}}}</span>
<span id="lkd-b5s6v" style="display:none">{{{boss5skill6video|}}}</span>
<span id="lkd-b5s6d" style="display:none">{{{boss5skill6desc|}}}</span>
<span id="lkd-b5s7n" style="display:none">{{{boss5skill7nome|}}}</span>
<span id="lkd-b5s7v" style="display:none">{{{boss5skill7video|}}}</span>
<span id="lkd-b5s7d" style="display:none">{{{boss5skill7desc|}}}</span>
<span id="lkd-b5s8n" style="display:none">{{{boss5skill8nome|}}}</span>
<span id="lkd-b5s8v" style="display:none">{{{boss5skill8video|}}}</span>
<span id="lkd-b5s8d" style="display:none">{{{boss5skill8desc|}}}</span>


<!-- Boss 6 -->
    /* ===== RESPONSIVO ===== */
<span id="lkd-b6n" style="display:none">{{{boss6nome|}}}</span>
    @media (max-width: 600px) {
<span id="lkd-b6i" style="display:none">{{{boss6img|}}}</span>
        .ba-skills-area { flex-direction: column; }
<span id="lkd-b6d" style="display:none">{{{boss6desc|}}}</span>
        .ba-skills-list {
<span id="lkd-b6s1n" style="display:none">{{{boss6skill1nome|}}}</span>
            width: 100%; flex-direction: row;
<span id="lkd-b6s1v" style="display:none">{{{boss6skill1video|}}}</span>
            overflow-x: auto; gap: 6px;
<span id="lkd-b6s1d" style="display:none">{{{boss6skill1desc|}}}</span>
        }
<span id="lkd-b6s2n" style="display:none">{{{boss6skill2nome|}}}</span>
        .ba-skill-btn { white-space: nowrap; }
<span id="lkd-b6s2v" style="display:none">{{{boss6skill2video|}}}</span>
        .ba-video-row { flex-direction: column; }
<span id="lkd-b6s2d" style="display:none">{{{boss6skill2desc|}}}</span>
        .ba-video-area { min-width: unset; max-width: 100%; width: 100%; }
<span id="lkd-b6s3n" style="display:none">{{{boss6skill3nome|}}}</span>
    }
<span id="lkd-b6s3v" style="display:none">{{{boss6skill3video|}}}</span>
<span id="lkd-b6s3d" style="display:none">{{{boss6skill3desc|}}}</span>
<span id="lkd-b6s4n" style="display:none">{{{boss6skill4nome|}}}</span>
<span id="lkd-b6s4v" style="display:none">{{{boss6skill4video|}}}</span>
<span id="lkd-b6s4d" style="display:none">{{{boss6skill4desc|}}}</span>
<span id="lkd-b6s5n" style="display:none">{{{boss6skill5nome|}}}</span>
<span id="lkd-b6s5v" style="display:none">{{{boss6skill5video|}}}</span>
<span id="lkd-b6s5d" style="display:none">{{{boss6skill5desc|}}}</span>
<span id="lkd-b6s6n" style="display:none">{{{boss6skill6nome|}}}</span>
<span id="lkd-b6s6v" style="display:none">{{{boss6skill6video|}}}</span>
<span id="lkd-b6s6d" style="display:none">{{{boss6skill6desc|}}}</span>
<span id="lkd-b6s7n" style="display:none">{{{boss6skill7nome|}}}</span>
<span id="lkd-b6s7v" style="display:none">{{{boss6skill7video|}}}</span>
<span id="lkd-b6s7d" style="display:none">{{{boss6skill7desc|}}}</span>
<span id="lkd-b6s8n" style="display:none">{{{boss6skill8nome|}}}</span>
<span id="lkd-b6s8v" style="display:none">{{{boss6skill8video|}}}</span>
<span id="lkd-b6s8d" style="display:none">{{{boss6skill8desc|}}}</span>


<!-- Boss 7 -->
    /* Fix MediaWiki <p> wrapping */
<span id="lkd-b7n" style="display:none">{{{boss7nome|}}}</span>
    .mw-parser-output > p:has(> style),
<span id="lkd-b7i" style="display:none">{{{boss7img|}}}</span>
    .mw-parser-output > p:has(> script) {
<span id="lkd-b7d" style="display:none">{{{boss7desc|}}}</span>
        margin: 0 !important;
<span id="lkd-b7s1n" style="display:none">{{{boss7skill1nome|}}}</span>
    }
<span id="lkd-b7s1v" style="display:none">{{{boss7skill1video|}}}</span>
</style>
<span id="lkd-b7s1d" style="display:none">{{{boss7skill1desc|}}}</span>
<span id="lkd-b7s2n" style="display:none">{{{boss7skill2nome|}}}</span>
<span id="lkd-b7s2v" style="display:none">{{{boss7skill2video|}}}</span>
<span id="lkd-b7s2d" style="display:none">{{{boss7skill2desc|}}}</span>
<span id="lkd-b7s3n" style="display:none">{{{boss7skill3nome|}}}</span>
<span id="lkd-b7s3v" style="display:none">{{{boss7skill3video|}}}</span>
<span id="lkd-b7s3d" style="display:none">{{{boss7skill3desc|}}}</span>
<span id="lkd-b7s4n" style="display:none">{{{boss7skill4nome|}}}</span>
<span id="lkd-b7s4v" style="display:none">{{{boss7skill4video|}}}</span>
<span id="lkd-b7s4d" style="display:none">{{{boss7skill4desc|}}}</span>
<span id="lkd-b7s5n" style="display:none">{{{boss7skill5nome|}}}</span>
<span id="lkd-b7s5v" style="display:none">{{{boss7skill5video|}}}</span>
<span id="lkd-b7s5d" style="display:none">{{{boss7skill5desc|}}}</span>
<span id="lkd-b7s6n" style="display:none">{{{boss7skill6nome|}}}</span>
<span id="lkd-b7s6v" style="display:none">{{{boss7skill6video|}}}</span>
<span id="lkd-b7s6d" style="display:none">{{{boss7skill6desc|}}}</span>
<span id="lkd-b7s7n" style="display:none">{{{boss7skill7nome|}}}</span>
<span id="lkd-b7s7v" style="display:none">{{{boss7skill7video|}}}</span>
<span id="lkd-b7s7d" style="display:none">{{{boss7skill7desc|}}}</span>
<span id="lkd-b7s8n" style="display:none">{{{boss7skill8nome|}}}</span>
<span id="lkd-b7s8v" style="display:none">{{{boss7skill8video|}}}</span>
<span id="lkd-b7s8d" style="display:none">{{{boss7skill8desc|}}}</span>


<!-- ===== ESTRUTURA PRINCIPAL ===== -->
<script>
<div id="lk-outer">
(function () {
     <div id="lk-hd">
     function run() {
         <div>
         var wrap = document.getElementById('ba-wrap');
            <div id="lk-eyebrow">Dinâmica</div>
         if (!wrap) return;
            <div id="lk-title">Boss Rush</div>
         </div>
        <div id="lk-hd-r">
            <div id="lk-diff">
                <button class="lk-db" data-d="elite">Elite</button>
                <button class="lk-db" data-d="hard">Hard</button>
            </div>
            <button id="lk-tb" title="Alternar tema">🌙</button>
        </div>
    </div>


    <div id="lk-ban">
        var bosses;
         <span id="lk-ban-bg"></span>
         try {
         <span id="lk-ban-tx"></span>
            bosses = JSON.parse(wrap.getAttribute('data-bosses') || '[]');
    </div>
         } catch (e) { return; }


    <div id="lk-tabs-bar">
         if (!bosses.length) return;
         <div id="lk-tabs"></div>
    </div>


    <div id="lk-panels"></div>
        var titulo = wrap.getAttribute('data-titulo') || '';
</div>
        var currentMode = 'elite';
        var currentBoss = 0;
        var currentSkill = 0;
        var isDark = wrap.classList.contains('dark');


<script>
        /* ---------- Extrai YouTube ID ---------- */
(function () {
        function ytId(str) {
    function g(id) {
            if (!str) return '';
        var el = document.getElementById(id);
            var m = str.match(/(?:youtube\.com\/(?:watch\?v=|embed\/)|youtu\.be\/)([A-Za-z0-9_-]{11})/);
        return el ? el.textContent.trim() : '';
            if (m) return m[1];
    }
            if (/^[A-Za-z0-9_-]{11}$/.test(str.trim())) return str.trim();
 
            return '';
    var N = 7, S = 8;
        }
    var bosses = [];


    for (var i = 1; i <= N; i++) {
         /* ---------- Monta HTML interno ---------- */
         var nome = g('lkd-b' + i + 'n');
         function buildShell() {
        if (!nome) continue;
             wrap.innerHTML = '';
        var skills = [];
        for (var j = 1; j <= S; j++) {
            var sn = g('lkd-b' + i + 's' + j + 'n');
            if (!sn) continue;
            skills.push({
                nome:  sn,
                video: g('lkd-b' + i + 's' + j + 'v'),
                desc:  g('lkd-b' + i + 's' + j + 'd')
            });
        }
         bosses.push({
             nome:  nome,
            img:    g('lkd-b' + i + 'i'),
            desc:  g('lkd-b' + i + 'd'),
            skills: skills
        });
    }


    var elTxt = g('lkd-el');
            /* Header */
    var hdTxt = g('lkd-hd');
            var header = document.createElement('div');
            header.className = 'ba-header';


    var outer    = document.getElementById('lk-outer');
            var titleEl = document.createElement('div');
    var tabsEl  = document.getElementById('lk-tabs');
            titleEl.className = 'ba-title';
    var panelsEl = document.getElementById('lk-panels');
            titleEl.textContent = titulo;
    var ban      = document.getElementById('lk-ban');
            header.appendChild(titleEl);
    var banBg    = document.getElementById('lk-ban-bg');
    var banTx    = document.getElementById('lk-ban-tx');
    var themeBtn = document.getElementById('lk-tb');
    var curDiff  = null;


    /* --- YouTube embed URL --- */
            var controls = document.createElement('div');
    function yt(url) {
            controls.className = 'ba-controls';
        if (!url) return '';
        var m = url.trim().match(/(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=))([\w-]+)/);
        return m ? 'https://www.youtube.com/embed/' + m[1] + '?rel=0' : '';
    }


    /* --- Image URL via Special:FilePath --- */
            var modeToggle = document.createElement('div');
    function imgSrc(fn) {
             modeToggle.className = 'ba-mode-toggle';
        if (!fn) return '';
        var base = (typeof mw !== 'undefined' && mw.config)
            ? mw.config.get('wgScriptPath') + '/index.php'
             : '/index.php';
        return base + '?title=Special:FilePath&file=' + encodeURIComponent(fn);
    }


    /* --- Build UI --- */
            var btnElite = document.createElement('button');
    bosses.forEach(function (boss, idx) {
            btnElite.className = 'ba-mode-btn active';
        /* Tab */
            btnElite.textContent = 'ELITE';
        var tab = document.createElement('button');
            btnElite.addEventListener('click', function () { setMode('elite', this); });
        tab.className = 'lk-tab' + (idx === 0 ? ' on' : '');
        tab.textContent = boss.nome;
        tab.addEventListener('click', function () { switchTab(idx); });
        tabsEl.appendChild(tab);


        /* Panel */
            var btnHard = document.createElement('button');
        var panel = document.createElement('div');
            btnHard.className = 'ba-mode-btn';
        panel.className = 'lk-panel' + (idx === 0 ? ' on' : '');
            btnHard.textContent = 'HARD';
            btnHard.addEventListener('click', function () { setMode('hard', this); });


        /* Boss card */
            modeToggle.appendChild(btnElite);
        var card = document.createElement('div');
            modeToggle.appendChild(btnHard);
        card.className = 'lk-bcard';
            controls.appendChild(modeToggle);


        var port = document.createElement('div');
            var themeBtn = document.createElement('button');
        port.className = 'lk-bportrait';
            themeBtn.className = 'ba-theme-btn';
        if (boss.img) {
            themeBtn.id = 'ba-theme-btn';
            var img = document.createElement('img');
             themeBtn.innerHTML = isDark ? '&#x2744;&#xFE0F; Light' : '&#x1F319; Dark';
             img.src = imgSrc(boss.img);
             themeBtn.addEventListener('click', toggleTheme);
            img.alt = boss.nome;
            controls.appendChild(themeBtn);
             port.appendChild(img);
        }
        card.appendChild(port);


        var info = document.createElement('div');
            header.appendChild(controls);
        info.className = 'lk-binfo';
            wrap.appendChild(header);


        var nm = document.createElement('div');
            /* Tabs bar */
        nm.className = 'lk-bname';
            var tabsBar = document.createElement('div');
        nm.textContent = boss.nome;
            tabsBar.className = 'ba-tabs-bar';
        info.appendChild(nm);
            var tabsEl = document.createElement('div');
            tabsEl.className = 'ba-tabs';
            tabsEl.id = 'ba-tabs';
            tabsBar.appendChild(tabsEl);
            wrap.appendChild(tabsBar);


        if (boss.desc) {
            /* Body */
             var dc = document.createElement('p');
             var body = document.createElement('div');
             dc.className = 'lk-bdesc';
             body.className = 'ba-body';
             dc.textContent = boss.desc;
             body.id = 'ba-body';
             info.appendChild(dc);
             wrap.appendChild(body);
         }
         }
        card.appendChild(info);
        panel.appendChild(card);
        /* Skills */
        if (boss.skills.length > 0) {
            var lbl = document.createElement('div');
            lbl.className = 'lk-slbl';
            lbl.textContent = 'Habilidades';
            panel.appendChild(lbl);
            boss.skills.forEach(function (skill, si) {
                var item = document.createElement('div');
                item.className = 'lk-sk';


        /* ---------- Render tabs ---------- */
        function renderTabs() {
            var el = document.getElementById('ba-tabs');
            if (!el) return;
            el.innerHTML = '';
            bosses.forEach(function (b, i) {
                 var btn = document.createElement('button');
                 var btn = document.createElement('button');
                 btn.className = 'lk-skbtn';
                 btn.className = 'ba-tab' + (i === currentBoss ? ' active' : '');
                btn.textContent = b.nome;
                btn.addEventListener('click', function () {
                    currentBoss = i;
                    currentSkill = 0;
                    render();
                });
                el.appendChild(btn);
            });
        }


                var left = document.createElement('div');
        /* ---------- Render body ---------- */
                left.className = 'lk-skl';
        function renderBody() {
            var el = document.getElementById('ba-body');
            if (!el) return;


                var num = document.createElement('span');
            var boss = bosses[currentBoss];
                num.className = 'lk-snum';
            if (!boss) { currentBoss = 0; boss = bosses[0]; }
                num.textContent = si + 1;
                left.appendChild(num);


                var sname = document.createElement('span');
            var skills = boss[currentMode] || [];
                 sname.className = 'lk-sname';
            if (!skills.length) {
                 sname.textContent = skill.nome;
                 el.innerHTML = '<div class="ba-empty">Nenhuma skill cadastrada para este modo.</div>';
                left.appendChild(sname);
                 return;
            }
            if (currentSkill >= skills.length) currentSkill = 0;


                btn.appendChild(left);
            var html = '<div class="ba-section-label">Skills</div>';
            html += '<div class="ba-skills-area">';


                 var arr = document.createElement('span');
            /* Lista de skills */
                 arr.className = 'lk-sarr';
            html += '<div class="ba-skills-list">';
                arr.innerHTML = '&#9660;';
            skills.forEach(function (s, i) {
                btn.appendChild(arr);
                 html += '<button class="ba-skill-btn' + (i === currentSkill ? ' active' : '') + '" data-si="' + i + '">';
                 html += '<span class="ba-skill-num">' + (i + 1) + '</span> ' + s.nome + '</button>';
            });
            html += '</div>';


                item.appendChild(btn);
            /* Vídeo + descrição lado a lado */
            var skill = skills[currentSkill];
            html += '<div class="ba-video-row">';


                 /* Skill body */
            var vid = ytId(skill.video);
                var body = document.createElement('div');
            if (vid) {
                 body.className = 'lk-skbody';
                 html += '<div class="ba-video-area"><iframe width="100%" height="100%" src="https://www.youtube.com/embed/' + vid + '" frameborder="0" allowfullscreen style="border:0;"></iframe></div>';
            } else {
                 html += '<div class="ba-video-area"><div class="ba-video-placeholder"><p>Sem vídeo disponível</p></div></div>';
            }


                var embedUrl = yt(skill.video);
            if (skill.desc) {
                 if (embedUrl) {
                 html += '<div class="ba-skill-desc">' + skill.desc + '</div>';
                    var vw = document.createElement('div');
            }
                    vw.className = 'lk-yvid';
            html += '</div></div>';
                    var iframe = document.createElement('iframe');
                    iframe.src = embedUrl;
                    iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture');
                    iframe.setAttribute('allowfullscreen', 'true');
                    vw.appendChild(iframe);
                    body.appendChild(vw);
                }
 
                if (skill.desc) {
                    var sd = document.createElement('p');
                    sd.className = 'lk-sdesc';
                    sd.textContent = skill.desc;
                    body.appendChild(sd);
                }


                item.appendChild(body);
            el.innerHTML = html;


            /* Listeners skills */
            el.querySelectorAll('.ba-skill-btn').forEach(function (btn) {
                 btn.addEventListener('click', function () {
                 btn.addEventListener('click', function () {
                     var isOpen = item.classList.contains('open');
                     currentSkill = parseInt(this.getAttribute('data-si'));
                    item.classList.toggle('open', !isOpen);
                     renderBody();
                     body.classList.toggle('open', !isOpen);
                 });
                 });
                panel.appendChild(item);
             });
             });
         }
         }


         panelsEl.appendChild(panel);
         /* ---------- Render completo ---------- */
    });
        function render() {
            renderTabs();
            renderBody();
        }


    /* --- Tab switch --- */
        /* ---------- Trocar modo ---------- */
    function switchTab(idx) {
        function setMode(mode, btn) {
        tabsEl.querySelectorAll('.lk-tab').forEach(function (t, i) { t.classList.toggle('on', i === idx); });
            currentMode = mode;
        panelsEl.querySelectorAll('.lk-panel').forEach(function (p, i) { p.classList.toggle('on', i === idx); });
            currentBoss = 0;
    }
            currentSkill = 0;
            wrap.querySelectorAll('.ba-mode-btn').forEach(function (b) {
                b.classList.remove('active');
            });
            btn.classList.add('active');
            render();
        }


    /* --- Difficulty toggle --- */
        /* ---------- Trocar tema ---------- */
    document.querySelectorAll('.lk-db').forEach(function (btn) {
         function toggleTheme() {
         btn.addEventListener('click', function () {
             isDark = !isDark;
             var d = btn.getAttribute('data-d');
             wrap.classList.toggle('dark', isDark);
             if (curDiff === d) {
            wrap.classList.toggle('light', !isDark);
                curDiff = null;
             var tb = document.getElementById('ba-theme-btn');
                document.querySelectorAll('.lk-db').forEach(function (b) { b.classList.remove('on'); });
            if (tb) tb.innerHTML = isDark ? '&#x2744;&#xFE0F; Light' : '&#x1F319; Dark';
                ban.classList.remove('on');
         }
             } else {
                curDiff = d;
                document.querySelectorAll('.lk-db').forEach(function (b) {
                    b.classList.toggle('on', b.getAttribute('data-d') === d);
                });
                var txt = d === 'elite' ? elTxt : hdTxt;
                banBg.textContent = d === 'elite' ? 'Elite' : 'Hard';
                banTx.textContent = txt;
                ban.classList.toggle('on', !!txt);
            }
         });
    });


    /* --- Theme (persiste em localStorage) --- */
         buildShell();
    var dark = localStorage.getItem('lk-theme') === 'dark';
         render();
    function applyTheme(d) {
        dark = d;
         outer.classList.toggle('dk', d);
         themeBtn.textContent = d ? '☀️' : '🌙';
        localStorage.setItem('lk-theme', d ? 'dark' : 'light');
     }
     }
    applyTheme(dark);
    themeBtn.addEventListener('click', function () { applyTheme(!dark); });


    /* --- Mover seção de reward para dentro do container (herda CSS vars) --- */
     if (document.readyState === 'loading') {
    function moveReward() {
         document.addEventListener('DOMContentLoaded', run);
        var rw = document.querySelector('.lk-reward-wrap');
        if (rw && outer && rw.parentNode !== outer) {
            outer.appendChild(rw);
        }
    }
     if (document.readyState !== 'loading') {
         moveReward();
     } else {
     } else {
         document.addEventListener('DOMContentLoaded', moveReward);
         run();
     }
     }
 
})();
}());
</script>
</script>

Edição atual tal como às 13h40min de 17 de março de 2026

<style>

   /* ===== RESET ===== */
   .ba-wrap, .ba-wrap * { box-sizing: border-box; margin: 0; padding: 0; }
   .ba-wrap {
       font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
       border-radius: 12px;
       overflow: hidden;
       transition: background .3s, color .3s;
   }
   /* ===== TEMAS ===== */
   .ba-wrap.dark { background: #14141f; color: #c8c8d8; }
   .ba-wrap.light { background: #f0f0f5; color: #2a2a3d; }
   /* ===== HEADER ===== */
   .ba-header {
       display: flex; align-items: center; justify-content: space-between;
       padding: 16px 20px 0;
   }
   .ba-title { font-size: 20px; font-weight: 700; }
   .ba-wrap.dark .ba-title { color: #fff; }
   .ba-wrap.light .ba-title { color: #1a1a2a; }
   .ba-controls { display: flex; align-items: center; gap: 10px; }
   .ba-mode-toggle {
       display: flex; gap: 4px; border-radius: 20px; padding: 3px;
       transition: background .3s;
   }
   .ba-wrap.dark .ba-mode-toggle { background: #1e1e30; }
   .ba-wrap.light .ba-mode-toggle { background: #dddde5; }
   .ba-mode-btn {
       padding: 5px 16px; border-radius: 16px; border: none;
       font-size: 12px; font-weight: 700; cursor: pointer;
       background: transparent; transition: all .2s;
       text-transform: uppercase; letter-spacing: .5px;
   }
   .ba-wrap.dark .ba-mode-btn { color: #6a6a8a; }
   .ba-wrap.light .ba-mode-btn { color: #8888a0; }
   .ba-wrap.dark .ba-mode-btn.active { background: #2a2a44; color: #e8c84a; }
   .ba-wrap.light .ba-mode-btn.active { background: #fff; color: #5a5a7a; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
   .ba-theme-btn {
       display: flex; align-items: center; gap: 6px;
       padding: 6px 14px; border-radius: 20px; border: none;
       cursor: pointer; font-size: 13px; font-weight: 600;
       transition: all .2s; white-space: nowrap;
   }
   .ba-wrap.dark .ba-theme-btn { background: #1e1e30; color: #c8c8d8; }
   .ba-wrap.light .ba-theme-btn { background: #dddde5; color: #5a5a7a; }
   /* ===== TABS BOSSES ===== */
   .ba-tabs-bar {
       padding: 16px 20px 0;
       overflow-x: auto;
   }
   .ba-tabs-bar::-webkit-scrollbar { height: 0; }
   .ba-tabs {
       display: flex; justify-content: center; gap: 0;
       border-bottom: 1px solid rgba(120,120,180,.15);
   }
   .ba-wrap.light .ba-tabs { border-bottom-color: rgba(0,0,0,.08); }
   .ba-tab {
       padding: 10px 20px; background: transparent; border: none; cursor: pointer;
       font-size: 13px; font-weight: 600; white-space: nowrap;
       transition: all .2s; position: relative;
   }
   .ba-wrap.dark .ba-tab { color: #6a6a8a; }
   .ba-wrap.light .ba-tab { color: #8888a0; }
   .ba-wrap.dark .ba-tab.active { color: #e05555; }
   .ba-wrap.light .ba-tab.active { color: #c04040; }
   .ba-tab.active::after {
       content: ; position: absolute; bottom: -1px; left: 15%; right: 15%;
       height: 2px; border-radius: 2px;
   }
   .ba-wrap.dark .ba-tab.active::after { background: #6ab4ff; }
   .ba-wrap.light .ba-tab.active::after { background: #5a8ad0; }
   /* ===== BODY ===== */
   .ba-body {
       padding: 20px; min-height: 320px; transition: background .3s;
   }
   .ba-wrap.dark .ba-body { background: #1c1c2e; }
   .ba-wrap.light .ba-body { background: #fff; }
   .ba-section-label {
       font-size: 11px; font-weight: 700;
       letter-spacing: 1px; text-transform: uppercase; margin-bottom: 12px;
   }
   .ba-wrap.dark .ba-section-label { color: #7e7e9e; }
   .ba-wrap.light .ba-section-label { color: #9090a8; }
   /* ===== SKILLS ===== */
   .ba-skills-area { display: flex; gap: 16px; }
   .ba-skills-list {
       width: 200px; flex-shrink: 0; display: flex;
       flex-direction: column; gap: 4px;
   }
   .ba-skill-btn {
       display: flex; align-items: center; gap: 10px;
       padding: 9px 12px; border-radius: 8px; border: none;
       cursor: pointer; font-size: 13px; font-weight: 500;
       text-align: left; transition: all .15s; width: 100%;
       background: transparent;
   }
   .ba-wrap.dark .ba-skill-btn { color: #9090aa; }
   .ba-wrap.light .ba-skill-btn { color: #7a7a90; }
   .ba-wrap.dark .ba-skill-btn:hover { background: #24243a; color: #c8c8d8; }
   .ba-wrap.light .ba-skill-btn:hover { background: #f0f0f5; color: #2a2a3d; }
   .ba-wrap.dark .ba-skill-btn.active { background: #2a2a44; color: #fff; border-left: 3px solid #6ab4ff; }
   .ba-wrap.light .ba-skill-btn.active { background: #eef4ff; color: #1a1a2a; border-left: 3px solid #5a8ad0; }
   .ba-skill-num {
       width: 20px; height: 20px; border-radius: 50%;
       display: flex; align-items: center; justify-content: center;
       font-size: 10px; font-weight: 700; flex-shrink: 0;
   }
   .ba-wrap.dark .ba-skill-num { background: #2a2a44; color: #6ab4ff; }
   .ba-wrap.light .ba-skill-num { background: #dde8f8; color: #5a8ad0; }
   .ba-wrap.dark .ba-skill-btn.active .ba-skill-num { background: #6ab4ff; color: #14141f; }
   .ba-wrap.light .ba-skill-btn.active .ba-skill-num { background: #5a8ad0; color: #fff; }
   /* ===== VIDEO ===== */
   .ba-video-area {
       border-radius: 10px; overflow: hidden;
       aspect-ratio: 16/9; width: 480px; min-width: 360px;
       display: flex; align-items: center; justify-content: center;
       flex-shrink: 0;
   }
   .ba-wrap.dark .ba-video-area { background: #111; border: 1px solid rgba(100,100,160,.15); }
   .ba-wrap.light .ba-video-area { background: #e8e8f0; border: 1px solid rgba(0,0,0,.08); }
   .ba-video-placeholder { text-align: center; }
   .ba-wrap.dark .ba-video-placeholder { color: #555; }
   .ba-wrap.light .ba-video-placeholder { color: #aaa; }
   .ba-video-placeholder p { font-size: 12px; }
   .ba-skill-desc {
       font-size: 12px; line-height: 1.5;
       padding: 8px 12px; border-radius: 8px;
       flex: 1; min-width: 80px;
   }
   .ba-wrap.dark .ba-skill-desc { color: #8888a8; background: #1a1a2a; border-left: 2px solid #6ab4ff; }
   .ba-wrap.light .ba-skill-desc { color: #6a6a80; background: #f5f5fa; border-left: 2px solid #5a8ad0; }
   .ba-video-row {
       display: flex; gap: 14px; align-items: flex-start; flex: 1;
   }
   .ba-empty {
       text-align: center; padding: 60px 20px; opacity: .4; font-size: 14px;
   }
   /* ===== RESPONSIVO ===== */
   @media (max-width: 600px) {
       .ba-skills-area { flex-direction: column; }
       .ba-skills-list {
           width: 100%; flex-direction: row;
           overflow-x: auto; gap: 6px;
       }
       .ba-skill-btn { white-space: nowrap; }
       .ba-video-row { flex-direction: column; }
       .ba-video-area { min-width: unset; max-width: 100%; width: 100%; }
   }

/* Fix MediaWiki

wrapping */ .mw-parser-output > p:has(> style), .mw-parser-output > p:has(> script) { margin: 0 !important; } </style> <script> (function () { function run() { var wrap = document.getElementById('ba-wrap'); if (!wrap) return; var bosses; try { bosses = JSON.parse(wrap.getAttribute('data-bosses') || '[]'); } catch (e) { return; } if (!bosses.length) return; var titulo = wrap.getAttribute('data-titulo') || ; var currentMode = 'elite'; var currentBoss = 0; var currentSkill = 0; var isDark = wrap.classList.contains('dark'); /* ---------- Extrai YouTube ID ---------- */ function ytId(str) { if (!str) return ; var m = str.match(/(?:youtube\.com\/(?:watch\?v=|embed\/)|youtu\.be\/)([A-Za-z0-9_-]{11})/); if (m) return m[1]; if (/^[A-Za-z0-9_-]{11}$/.test(str.trim())) return str.trim(); return ; } /* ---------- Monta HTML interno ---------- */ function buildShell() { wrap.innerHTML = ; /* Header */ var header = document.createElement('div'); header.className = 'ba-header'; var titleEl = document.createElement('div'); titleEl.className = 'ba-title'; titleEl.textContent = titulo; header.appendChild(titleEl); var controls = document.createElement('div'); controls.className = 'ba-controls'; var modeToggle = document.createElement('div'); modeToggle.className = 'ba-mode-toggle'; var btnElite = document.createElement('button'); btnElite.className = 'ba-mode-btn active'; btnElite.textContent = 'ELITE'; btnElite.addEventListener('click', function () { setMode('elite', this); }); var btnHard = document.createElement('button'); btnHard.className = 'ba-mode-btn'; btnHard.textContent = 'HARD'; btnHard.addEventListener('click', function () { setMode('hard', this); }); modeToggle.appendChild(btnElite); modeToggle.appendChild(btnHard); controls.appendChild(modeToggle); var themeBtn = document.createElement('button'); themeBtn.className = 'ba-theme-btn'; themeBtn.id = 'ba-theme-btn'; themeBtn.innerHTML = isDark ? '❄️ Light' : '🌙 Dark'; themeBtn.addEventListener('click', toggleTheme); controls.appendChild(themeBtn); header.appendChild(controls); wrap.appendChild(header); /* Tabs bar */ var tabsBar = document.createElement('div'); tabsBar.className = 'ba-tabs-bar'; var tabsEl = document.createElement('div'); tabsEl.className = 'ba-tabs'; tabsEl.id = 'ba-tabs'; tabsBar.appendChild(tabsEl); wrap.appendChild(tabsBar); /* Body */ var body = document.createElement('div'); body.className = 'ba-body'; body.id = 'ba-body'; wrap.appendChild(body); } /* ---------- Render tabs ---------- */ function renderTabs() { var el = document.getElementById('ba-tabs'); if (!el) return; el.innerHTML = ; bosses.forEach(function (b, i) { var btn = document.createElement('button'); btn.className = 'ba-tab' + (i === currentBoss ? ' active' : ); btn.textContent = b.nome; btn.addEventListener('click', function () { currentBoss = i; currentSkill = 0; render(); }); el.appendChild(btn); }); } /* ---------- Render body ---------- */ function renderBody() { var el = document.getElementById('ba-body'); if (!el) return; var boss = bosses[currentBoss]; if (!boss) { currentBoss = 0; boss = bosses[0]; } var skills = boss[currentMode] || []; if (!skills.length) { el.innerHTML = '

Nenhuma skill cadastrada para este modo.

';

               return;
           }
           if (currentSkill >= skills.length) currentSkill = 0;

var html = '

'; html += '

';
           /* Lista de skills */
html += '
';
           skills.forEach(function (s, i) {
               html += '<button class="ba-skill-btn' + (i === currentSkill ? ' active' : ) + '" data-si="' + i + '">';
               html += '' + (i + 1) + ' ' + s.nome + '</button>';
           });
html += '
';
           /* Vídeo + descrição lado a lado */
           var skill = skills[currentSkill];
html += '
';
           var vid = ytId(skill.video);
           if (vid) {
html += '
<iframe width="100%" height="100%" src="https://www.youtube.com/embed/' + vid + '" frameborder="0" allowfullscreen style="border:0;"></iframe>
';
           } else {
html += '

Sem vídeo disponível

';
           }
           if (skill.desc) {
html += '
' + skill.desc + '
';
           }
html += '

';

           el.innerHTML = html;
           /* Listeners skills */
           el.querySelectorAll('.ba-skill-btn').forEach(function (btn) {
               btn.addEventListener('click', function () {
                   currentSkill = parseInt(this.getAttribute('data-si'));
                   renderBody();
               });
           });
       }
       /* ---------- Render completo ---------- */
       function render() {
           renderTabs();
           renderBody();
       }
       /* ---------- Trocar modo ---------- */
       function setMode(mode, btn) {
           currentMode = mode;
           currentBoss = 0;
           currentSkill = 0;
           wrap.querySelectorAll('.ba-mode-btn').forEach(function (b) {
               b.classList.remove('active');
           });
           btn.classList.add('active');
           render();
       }
       /* ---------- Trocar tema ---------- */
       function toggleTheme() {
           isDark = !isDark;
           wrap.classList.toggle('dark', isDark);
           wrap.classList.toggle('light', !isDark);
           var tb = document.getElementById('ba-theme-btn');
           if (tb) tb.innerHTML = isDark ? '❄️ Light' : '🌙 Dark';
       }
       buildShell();
       render();
   }
   if (document.readyState === 'loading') {
       document.addEventListener('DOMContentLoaded', run);
   } else {
       run();
   }

})(); </script>