Widget:Character.Base
Ir para navegação
Ir para pesquisar
<style>
/* ===========================BASE STYLES & RESET=========================== */
img {
pointer-events: none;
-webkit-user-select: none;
user-select: none;
}
video {
max-height: none;
}
.mw-body {
padding: unset !important;
}
.mw-body-content {
line-height: 1.5;
}
.mw-body-content p {
display: none;
}
/* ===========================CHARACTER CONTAINER & BACKGROUND=========================== */
.banner {
display: none !important;
}
.character-box {
color: #000;
font-family: 'Noto Sans', sans-serif;
width: 100%;
margin: auto;
position: relative;
-webkit-user-select: none;
user-select: none;
/* background-image será definido inline pelo Módulo (via |background=Arquivo.ext|) */
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
z-index: 1;
}
.character-box p {
display: unset;
}
.character-box::before {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
background: linear-gradient(to bottom, rgba(0, 0, 0, .45), rgba(0, 0, 0, .60));
z-index: 0;
}
/* ===========================CHARACTER HEADER & INFO=========================== */
.character-header {
position: relative;
overflow: hidden;
display: flex;
gap: 10px;
flex-direction: column;
z-index: 1;
}
.character-art {
display: none !important;
width: 0 !important;
height: 0 !important;
overflow: hidden !important;
}
.character-topbar {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 8px 20px 0;
z-index: 1;
}
.character-name-box {
display: flex;
align-items: center;
gap: 14px;
}
.topbar-icon {
margin-top: 8px;
width: 100px;
height: 100px;
object-fit: none;
}
.character-name {
color: #fff;
font-size: 56px;
font-family: 'Orbitron', sans-serif;
font-weight: 900;
text-shadow: 0 0 6px #000, 0 0 9px #000;
}
.topbar-description {
display: none;
}
.class-tags {
display: flex;
gap: 9px;
flex-wrap: wrap;
margin-left: .28rem;
}
.class-tag {
background: #353420;
color: #fff;
outline: 2px solid #000;
padding: 1px 6px;
border-radius: 4px;
font-size: .9em;
font-weight: 700;
box-shadow: 0 0 2px rgb(0 0 0 / 70%);
}
.character-info .tier,
.character-info .class-tag {
font-size: 18px;
color: #bbb;
}
/* ===========================TABS SYSTEM=========================== */
.character-tabs {
margin: 4px 0 4px 8px;
display: flex;
gap: 12px;
}
.tab-btn {
padding: 5px 20px;
background: #333;
color: #fff;
border: 2px solid transparent;
border-radius: 8px;
font-size: 20px;
cursor: pointer;
font-weight: 600;
line-height: 1;
transition: background .15s, border-color .15s;
}
.tab-btn.active {
background: #156bc7;
border-color: #156bc7;
}
.tab-content {
display: none;
padding: 0 8px 8px;
position: relative;
z-index: 2;
opacity: 0;
transform: translateY(12px);
transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
will-change: opacity, transform;
}
.tab-content.active {
display: block;
opacity: 1;
transform: translateY(0);
}
/* Wrapper para transição de altura das abas */
.tabs-height-wrapper {
position: relative;
overflow: hidden;
will-change: height;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: translateZ(0);
transform: translateZ(0);
}
/* Previne scroll e mudanças bruscas durante transição */
body.transitioning-tabs {
overflow-x: hidden !important;
}
body.transitioning-tabs .character-box {
overflow: hidden;
}
.character-box {
overflow: visible;
}
/* ===========================SKILLS SYSTEM=========================== */
.skills-container {
display: flex;
gap: 20px;
align-items: flex-start;
}
.skills-details {
flex: 1;
display: flex;
flex-direction: column;
gap: 10px;
width: auto;
justify-content: center;
}
/* ===========================SKILL ICONS & BAR=========================== */
.icon-bar {
display: flex;
flex-wrap: nowrap;
gap: 10px;
width: 100%;
overflow-x: auto;
overflow-y: hidden;
padding: 6px 6px;
margin-bottom: 6px;
scroll-behavior: smooth;
/* Firefox */
scrollbar-width: thin;
scrollbar-color: #ababab transparent;
justify-content: flex-start;
align-items: center;
position: relative;
z-index: 4;
}
/* Weapon Toggle Button - Estilos completamente isolados usando .weapon-active */
.icon-bar .skill-icon.weapon-bar-toggle {
background: rgba(40, 40, 48, 0.85) !important;
color: rgba(255, 255, 255, 0.7) !important;
border: 1px solid rgba(255, 255, 255, 0.08) !important;
overflow: visible !important;
transform: none !important;
box-shadow: none !important;
}
.icon-bar .skill-icon.weapon-bar-toggle::before {
display: none !important;
opacity: 0 !important;
box-shadow: none !important;
}
.icon-bar .skill-icon.weapon-bar-toggle::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) rgba(180, 180, 180, 0.5) !important;
}
.icon-bar .skill-icon.weapon-bar-toggle:hover {
background: rgba(55, 55, 65, 0.9) !important;
color: rgba(255, 255, 255, 0.95) !important;
transform: none !important;
}
.icon-bar .skill-icon.weapon-bar-toggle:hover::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) rgba(220, 220, 220, 0.6) !important;
}
/* Estado ativo do toggle usa .weapon-active em vez de .active */
.icon-bar .skill-icon.weapon-bar-toggle.weapon-active {
background: linear-gradient(145deg, rgba(200, 60, 40, 0.95), rgba(160, 45, 30, 0.95)) !important;
color: #fff !important;
transform: scale(1.08) !important;
}
.icon-bar .skill-icon.weapon-bar-toggle.weapon-active::before {
display: none !important;
}
.icon-bar .skill-icon.weapon-bar-toggle.weapon-active::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) #FF5722 !important;
animation: togglePulse 1.8s ease-in-out infinite;
}
@keyframes togglePulse {
0%,
100% {
box-shadow: inset 0 0 0 var(--icon-ring-w) rgba(255, 87, 34, 0.9);
}
50% {
box-shadow: inset 0 0 0 var(--icon-ring-w) #FF7043, inset 0 0 10px 2px rgba(255, 112, 67, 0.35);
}
}
.icon-bar .skill-icon.weapon-bar-toggle svg {
width: 22px;
height: 22px;
pointer-events: none;
}
.icon-bar .skill-icon.weapon-bar-toggle:focus-visible {
outline: none;
}
.icon-bar .skill-icon.weapon-bar-toggle:focus-visible::after {
box-shadow: 0 0 0 3px rgba(220, 80, 80, 0.5) !important;
}
/* Back handle for nested skill bars */
.top-rail.skills {
position: relative;
overflow: visible;
z-index: 10;
transition: width .24s ease, max-width .24s ease;
}
.top-rail.skills.weapon-mode-on {
background: linear-gradient(135deg, rgba(65, 25, 25, 0.96), rgba(50, 18, 18, 0.96));
border-color: transparent;
animation: weapon-bar-glow 3.5s ease-in-out infinite;
}
.top-rail.skills.weapon-mode-on::before {
content: "";
position: absolute;
inset: -2px;
border-radius: inherit;
padding: 2px;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 80, 80, 0.8) 25%,
rgba(255, 120, 60, 1) 50%,
rgba(255, 80, 80, 0.8) 75%,
transparent 100%);
background-size: 200% 100%;
animation: weapon-border-scan 4s linear infinite;
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
z-index: -1;
}
.top-rail.skills.weapon-mode-on::after {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
box-shadow:
0 0 15px rgba(255, 80, 80, 0.4),
inset 0 0 20px rgba(255, 80, 80, 0.1);
animation: weapon-bar-pulse 3s ease-in-out infinite;
pointer-events: none;
}
@keyframes weapon-border-scan {
0% {
background-position: 200% 0;
}
100% {
background-position: -200% 0;
}
}
@keyframes weapon-bar-glow {
0%,
100% {
filter: brightness(1);
}
50% {
filter: brightness(1.1);
}
}
@keyframes weapon-bar-pulse {
0%,
100% {
opacity: 0.6;
box-shadow:
0 0 12px rgba(255, 80, 80, 0.3),
inset 0 0 15px rgba(255, 80, 80, 0.08);
}
50% {
opacity: 1;
box-shadow:
0 0 25px rgba(255, 80, 80, 0.5),
inset 0 0 25px rgba(255, 80, 80, 0.15);
}
}
.skills-back-wrapper {
display: none;
position: absolute;
left: 50px;
top: 50%;
transform: translateY(-50%);
width: 70px;
height: 95%;
z-index: -1;
pointer-events: none;
}
.skills-rail-wrap {
position: relative;
z-index: 0;
}
.skills-rail-wrap.has-sub-bar::before {
content: "";
position: absolute;
left: 2px;
/* alinha por dentro da borda do rail (2px) */
top: 2px;
bottom: 2px;
/* evita vazar na parte de baixo */
width: 70px;
background: rgba(28, 28, 34, .95);
border: 0;
/* sem borda própria para não “escapar” */
box-shadow: none;
/* sem sombra aqui */
border-radius: 10px 0 0 10px;
/* 12px - 2px da borda externa */
pointer-events: none;
z-index: 0;
}
.skills-back-wrapper .skills-back {
display: flex;
position: absolute;
left: 0;
top: 0;
transform: translateX(-97%);
width: 70px;
height: 100%;
padding: 0;
border-radius: 12px 0 0 12px;
border: 2px solid rgba(255, 255, 255, .08);
border-right: none;
background: rgba(28, 28, 34, .95);
color: rgba(255, 255, 255, 0.8);
cursor: pointer;
pointer-events: all;
align-items: center;
justify-content: center;
box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
-webkit-backdrop-filter: blur(2px);
backdrop-filter: blur(2px);
transition: transform .22s ease, background .22s ease, color .22s ease;
overflow: visible;
}
.skills-back-wrapper .skills-back:hover {
transform: translateX(-150%);
background: rgba(40, 40, 48, .95);
color: rgba(255, 255, 255, 1.0);
box-shadow: 0 4px 16px rgba(0, 0, 0, .35), 0 0 8px rgba(255, 255, 255, 0.12);
border-color: rgba(255, 255, 255, 0.12);
}
@keyframes backPeekPulse {
0%,
100% {
box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
}
50% {
box-shadow: 0 4px 16px rgba(0, 0, 0, .35), 0 0 8px rgba(255, 255, 255, 0.18);
}
}
.skills-back-wrapper .skills-back.peek {
animation: backPeekPulse 1.4s ease-in-out infinite;
}
.skills-back-wrapper .skills-back .back-chevron {
display: block;
width: 90%;
height: 90%;
}
.icon-bar::-webkit-scrollbar {
height: 6px;
}
.icon-bar::-webkit-scrollbar-track {
background: transparent;
}
.icon-bar::-webkit-scrollbar-thumb {
background: #151515;
border-radius: 3px;
}
/* Icon Variables */
:root {
--icon-size: 39px;
--icon-radius: 8px;
--icon-ring-w: 2px;
--icon-idle: #bbb;
--icon-active: #FFD257;
--icon-active-ring: rgba(255, 210, 87, .45);
--icon-active-glow: rgba(255, 210, 87, .35);
--skill-pane-height: unset;
}
.icon-bar .skill-icon {
width: var(--icon-size);
height: var(--icon-size);
position: relative;
flex: 0 0 auto;
border-radius: var(--icon-radius);
overflow: hidden;
contain: paint;
margin-top: 0;
display: flex;
align-items: center;
justify-content: center;
-webkit-tap-highlight-color: transparent;
background-clip: padding-box;
/* Anti-aliasing para bordas suaves */
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
border: 1px solid rgba(255, 255, 255, 0.05);
background-color: rgba(15, 15, 23, 0.95);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}
/* small + badge to indicate nested subs */
.icon-bar .skill-icon .sub-badge {
position: absolute;
right: 2px;
bottom: 2px;
width: 16px;
height: 16px;
border-radius: 50%;
background: #156bc7;
color: #fff;
font-weight: 900;
font-size: 12px;
line-height: 16px;
text-align: center;
box-shadow: 0 2px 6px rgba(0, 0, 0, .4);
cursor: pointer;
z-index: 3;
-webkit-user-select: none;
user-select: none;
}
/* back badge (−) to return to previous bar */
.icon-bar .skill-icon .back-badge {
position: absolute;
right: 2px;
bottom: 2px;
width: 16px;
height: 16px;
border-radius: 50%;
background: #c74615;
color: #fff;
font-weight: 900;
font-size: 14px;
line-height: 16px;
text-align: center;
box-shadow: 0 2px 6px rgba(0, 0, 0, .4);
cursor: pointer;
z-index: 3;
-webkit-user-select: none;
user-select: none;
}
.icon-bar .skill-icon img {
display: block;
width: 100%;
height: 100%;
border-radius: inherit;
-webkit-clip-path: inset(0 round var(--icon-radius));
clip-path: inset(0 round var(--icon-radius));
will-change: transform;
backface-visibility: hidden;
transform: translateZ(0);
transition: transform .12s ease;
}
/* Icon Ring Effects */
.icon-bar .skill-icon::after {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
box-shadow: inset 0 0 0 var(--icon-ring-w) var(--icon-idle);
pointer-events: none;
z-index: 2;
transition: box-shadow .14s ease;
/* Anti-aliasing para bordas suaves */
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
}
.icon-bar .skill-icon::before {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
pointer-events: none;
z-index: 1;
box-shadow: none;
opacity: 0;
transition: opacity .14s ease, box-shadow .14s ease;
}
.icon-bar .skill-icon:hover::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) #e0e0e0;
}
.icon-bar .skill-icon.active::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) var(--icon-active);
}
.icon-bar .skill-icon.active::before {
box-shadow: 0 0 10px 2px var(--icon-active-glow), 0 0 0 4px var(--icon-active-ring);
opacity: 1;
}
.icon-bar .skill-icon.active img {
transform: scale(1.10);
}
@media (prefers-reduced-motion: reduce) {
.icon-bar .skill-icon {
transition: none;
}
}
/* ===========================SKILL DESCRIPTION & CONTENT=========================== */
.skill-title {
margin: 0 0 12px;
display: flex;
justify-content: center;
align-items: center;
}
.skill-title h3 {
margin: 0;
width: 100%;
text-align: center;
font-size: 1.6em;
color: #fff;
}
.desc-box {
padding: 12px 18px;
background: transparent;
border-radius: 6px;
position: relative;
box-shadow: none;
color: #fff;
transition: all .3s ease;
z-index: 2;
display: flex;
flex-direction: column;
overflow: hidden;
text-shadow: none;
height: auto;
min-height: 0;
font-size: 16px;
/* Desabilita Font Boosting em mobile */
-webkit-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
text-size-adjust: 100%;
}
.desc-box h3 {
font-size: 2.7em;
margin: 0;
text-align: center;
padding-top: 0;
}
.desc {
font-size: 17px !important;
line-height: 1.75 !important;
letter-spacing: .01em;
overflow-x: hidden;
/* iOS smooth scroll */
-webkit-overflow-scrolling: touch;
scrollbar-gutter: stable;
margin-top: 5px;
padding-right: 8px;
color: #f1efe9;
overflow-wrap: anywhere;
word-break: break-word;
white-space: normal;
flex: 0 0 auto !important;
/* IMPORTANTE: Desabilita o Font Boosting que aumenta texto longo automaticamente */
-webkit-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
text-size-adjust: 100%;
max-height: none;
}
.desc b,
.desc strong {
font-weight: 700;
color: #fff;
}
.desc::-webkit-scrollbar {
width: 7px;
height: 7px;
}
.desc::-webkit-scrollbar-thumb {
background: #156bc7;
border-radius: 10px;
}
.desc::-webkit-scrollbar-track {
background: #151515a8;
border-radius: 10px;
}
/* ===========================ATTRIBUTES & STATS=========================== */
.attrs,
.attr-list {
display: block;
}
.desc-box .attrs,
.desc-box .attr-list,
.desc-box .attrs *,
.desc-box .attr-list * {
text-shadow: none;
font-family: 'Noto Sans', sans-serif;
}
.attrs__row,
.attr-row {
display: flex;
align-items: center;
gap: 5px;
min-height: 22px;
line-height: 1.2;
}
.attrs__row--empty,
.attr-row.is-empty {
display: none;
}
.attrs__label,
.attr-label {
font-weight: 700;
color: #f0c87b;
font-size: .98rem;
white-space: nowrap;
margin: 0;
}
.attrs__value,
.attr-value {
color: #fff;
font-weight: 800;
font-size: .98rem;
letter-spacing: .01em;
margin: 0;
}
/* ===========================VIDEO CONTAINER=========================== */
.video-container {
position: relative;
width: 100%;
max-width: 100%;
background: transparent;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10px;
box-shadow: none;
overflow: hidden;
padding: 0;
z-index: 2;
}
.video-container>video {
width: 100%;
max-width: 100%;
height: auto;
aspect-ratio: 16 / 9;
object-fit: contain;
object-position: center;
z-index: 2;
display: block;
border-radius: 6px;
background: #000;
}
.video-placeholder {
position: absolute;
inset: 0;
z-index: 6;
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
opacity: 1;
transition: opacity .28s ease;
background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0));
}
.video-placeholder img {
max-width: 160px;
width: auto;
height: auto;
opacity: 0.98;
display: block;
}
.video-placeholder.fade-out {
opacity: 0;
}
/* ===========================LAYOUT COMPONENTS=========================== */
.top-rail {
display: flex;
align-items: center;
justify-content: center;
width: max-content;
max-width: 96vw;
margin: 0px auto;
padding: 5px 5px;
background: rgba(28, 28, 34, .95);
border: 2px solid rgba(255, 255, 255, .08);
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
-webkit-backdrop-filter: blur(2px);
backdrop-filter: blur(2px);
}
.top-rail .rail-title {
display: none;
}
.top-rail.skins .rail-title {
display: block;
font-weight: 800;
font-size: clamp(20px, 2.2vw, 28px);
color: #fff;
margin-right: auto;
}
.top-rail .icon-bar {
width: auto;
justify-content: center;
margin: 0;
overflow-x: auto;
}
.content-card {
width: min(1600px, 96vw);
max-width: 96vw;
margin: 10px auto;
background: rgba(28, 28, 34, .95);
border-radius: 12px;
box-shadow: 0 8px 24px rgba(0, 0, 0, .30);
padding: 18px;
z-index: 2;
}
.content-card.skills-grid {
display: grid;
grid-template-columns: minmax(320px, 60%) minmax(320px, 45%);
gap: 16px;
align-items: start;
grid-auto-rows: auto;
margin: 10px auto 0;
}
/* ===========================TIER SYSTEM=========================== */
.tier-bronze .topbar-icon,
.tier-bronze .tier {
outline: 2px solid #7b4e2f;
}
.tier-silver .topbar-icon,
.tier-silver .tier {
outline: 2px solid #d6d2d2;
}
.tier-gold .topbar-icon,
.tier-gold .tier {
outline: 2px solid #fcd300;
}
.tier-diamond .topbar-icon,
.tier-diamond .tier {
outline: 2px solid #60dae2;
}
/* ===========================RESPONSIVE DESIGN & MOBILE=========================== */
@media (max-width:1100px) {
.top-rail {
flex-direction: column;
align-items: stretch;
}
.top-rail .icon-bar {
order: 2;
width: 100%;
flex-wrap: wrap;
}
.content-card.skills-grid {
grid-template-columns: 1fr;
gap: 12px;
}
.video-container {
width: 80%;
max-width: 820px;
align-self: center;
}
}
@media (max-aspect-ratio: 3/4) {
.character-header .character-art {
display: none;
}
.video-container {
width: 80%;
border-radius: 3%;
margin-top: 2%;
align-self: center;
}
}
@media (max-width:600px) {
.content-card {
box-sizing: border-box;
max-width: calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 16px);
width: 100%;
margin: 10px auto;
padding: 12px;
border-radius: 10px;
overflow: hidden;
}
.content-card.skills-grid {
grid-template-columns: 1fr;
gap: 12px;
}
.top-rail {
width: calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));
max-width: 100%;
margin: 0 auto 8px;
padding: 6px 8px;
border-radius: 0;
box-sizing: border-box;
overflow: hidden;
}
.top-rail .icon-bar {
width: 100%;
padding: 0 6px;
gap: 12px;
justify-content: flex-start;
overflow-x: auto;
/* iOS smooth scroll */
-webkit-overflow-scrolling: touch;
}
:root {
--icon-size: 92px;
}
.icon-bar .skill-icon {
width: var(--icon-size);
height: var(--icon-size);
flex: 0 0 auto;
}
.video-container,
.skins-carousel-wrapper,
.skins-carousel {
max-width: calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 16px);
box-sizing: border-box;
}
.video-container>video,
.video-container img,
.skins-carousel img {
max-width: 100%;
width: 100%;
height: auto;
}
html,
body,
.mw-body,
.mw-body-content {
overflow-x: hidden;
}
/* Base no mobile - desabilita Font Boosting */
.desc-box {
font-size: 16px !important;
-webkit-text-size-adjust: 100% !important;
-moz-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
}
.desc-box * {
-webkit-text-size-adjust: 100% !important;
-moz-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
}
/* Atributos no mobile - tamanho bem legível */
.attrs__label,
.attr-label {
font-size: 20px !important;
}
.attrs__value,
.attr-value {
font-size: 20px !important;
}
.attr-row {
margin-bottom: 12px;
}
#skills .desc-box .skill-level-line .attr-label {
font-size: 22px !important;
}
/* Descrição - TAMANHO GRANDE para leitura confortável no mobile */
.desc {
font-size: 24px !important;
line-height: 1.95 !important;
-webkit-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
}
.desc-box h3 {
font-size: 32px !important;
}
}
/* ===========================OVERFLOW PROTECTION=========================== */
html,
body,
.mw-body,
.mw-body-content {
box-sizing: border-box;
max-width: 100vw;
overflow-x: hidden;
/* iOS smooth scroll */
-webkit-overflow-scrolling: touch;
}
.content-card,
.top-rail,
.video-container,
.skins-carousel-wrapper,
.skins-carousel {
box-sizing: border-box;
max-width: 100%;
}
.content-card *,
.top-rail *,
.video-container * {
max-width: 100%;
box-sizing: border-box;
}
/* ===========================ICON ENHANCEMENTS & OVERRIDES=========================== */
:root {
--icon-size: 50px;
--icon-radius: 10px;
--icon-idle: #cfcfcf;
--icon-active: #FFD95A;
--icon-active-ring: rgba(255, 217, 90, 0.45);
--icon-active-glow: rgba(255, 217, 90, 0.30);
--icon-ring-w: 2px;
}
.icon-bar .skill-icon {
width: var(--icon-size) !important;
height: var(--icon-size) !important;
position: relative;
border: none !important;
outline: none !important;
overflow: hidden;
border-radius: var(--icon-radius);
contain: paint;
isolation: isolate;
will-change: transform;
transform: translateZ(0);
}
.icon-bar .skill-icon img {
display: block;
width: 100%;
height: 100%;
border-radius: inherit;
-webkit-clip-path: inset(0 round var(--icon-radius));
clip-path: inset(0 round var(--icon-radius));
transition: transform .12s ease;
backface-visibility: hidden;
transform: translateZ(0);
}
.icon-bar .skill-icon::after {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
pointer-events: none;
z-index: 2;
box-shadow: inset 0 0 0 var(--icon-ring-w) var(--icon-idle) !important;
transition: box-shadow .12s ease;
}
.icon-bar .skill-icon::before {
content: "";
position: absolute;
inset: -2px;
border-radius: calc(var(--icon-radius) + 2px);
pointer-events: none;
z-index: 1;
box-shadow: none;
opacity: 0;
transition: opacity .12s ease, box-shadow .12s ease;
}
.icon-bar .skill-icon.active {
transform: scale(1.08);
}
.icon-bar .skill-icon.active::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) var(--icon-active) !important;
}
.icon-bar .skill-icon.active::before {
opacity: 1;
box-shadow: 0 0 12px 3px var(--icon-active-glow), 0 0 0 4px var(--icon-active-ring) !important;
}
.icon-bar .skill-icon.active img {
transform: scale(1.08);
}
.icon-bar .skill-icon:hover:not(.active)::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) #e6e6e6 !important;
}
/* ===========================TOOLTIP SYSTEM=========================== */
.skill-tooltip {
position: fixed;
z-index: 9999;
pointer-events: none;
padding: 6px 8px;
border-radius: 6px;
background: rgba(17, 17, 17, .9);
color: #fff;
font-size: 14px;
box-shadow: 0 4px 12px rgba(0, 0, 0, .5);
opacity: 0;
transition: opacity .12s ease, transform .08s ease;
white-space: nowrap;
}
/* ===========================BACKGROUND SYSTEM=========================== */
.mw-body-content .character-box {
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
background-attachment: fixed;
position: relative;
z-index: 1;
}
.mw-body-content .character-box::before {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
background: linear-gradient(to bottom, rgba(0, 0, 0, .45), rgba(0, 0, 0, .60));
z-index: 0;
}
/* ===========================FINAL ICON OVERRIDES & FIXES=========================== */
:root {
--icon-idle: #d0d0d0;
--icon-active: #FFD95A;
--icon-active-ring: rgba(255, 217, 90, 0.50);
--icon-active-glow: rgba(255, 217, 90, 0.30);
--icon-ring-w: 2px;
}
.icon-bar .skill-icon::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) var(--icon-idle) !important;
transition: box-shadow .12s ease !important;
}
.icon-bar .skill-icon.active::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) var(--icon-active) !important;
}
.icon-bar .skill-icon::before {
inset: -4px;
border-radius: calc(var(--icon-radius) + 4px);
opacity: 0;
transition: opacity .12s ease, box-shadow .12s ease;
}
.icon-bar .skill-icon.active::before {
opacity: 1 !important;
box-shadow: 0 0 14px 4px var(--icon-active-glow), 0 0 0 calc(var(--icon-ring-w) * 2) var(--icon-active-ring) !important;
}
.icon-bar .skill-icon,
.icon-bar .skill-icon img,
.icon-bar .skill-icon::after,
.icon-bar .skill-icon::before {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
}
.icon-bar .skill-icon:hover:not(.active)::after {
box-shadow: inset 0 0 0 var(--icon-ring-w) #e6e6e6 !important;
}
.icon-bar .skill-icon.active {
transform: scale(1.10) !important;
z-index: 5;
}
.icon-bar .skill-icon.active img {
transform: none !important;
}
/* ===========================FINAL TOOLTIP STYLES=========================== */
.skill-tooltip {
position: fixed;
z-index: 10000;
pointer-events: none;
padding: 8px 10px;
border-radius: 8px;
background: rgba(28, 28, 34, .95);
color: #eaeaea;
font-size: 13px;
line-height: 1.25;
text-align: center;
max-width: 360px;
box-shadow: 0 8px 24px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .06);
left: -9999px;
top: -9999px;
transform: none;
opacity: 0;
transition: opacity .12s ease;
white-space: normal;
}
/* ===========================SKILL LEVEL STYLING=========================== */
#skills .desc-box .skill-title {
margin: 0 0 4px;
}
#skills .desc-box .skill-level-line {
margin: 0 0 10px;
text-align: center;
line-height: 1.15;
}
#skills .desc-box .skill-level-line .attr-label {
color: #f0c87b;
font-weight: 800;
letter-spacing: .2px;
font-size: .98rem;
}
/* ===========================SKILL FLAGS (CARACTERÍSTICAS)=========================== */
.video-container {
position: relative;
}
.skill-flags {
position: absolute;
top: 8px;
left: 8px;
display: flex;
flex-direction: row;
gap: 6px;
z-index: 10;
pointer-events: auto;
}
.skill-flag {
display: inline-block;
pointer-events: all;
cursor: pointer;
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}
/* Tooltip específico para flags (cor cinza para contraste) */
.skill-tooltip.flag-tooltip {
background: rgba(80, 80, 85, .98) !important;
box-shadow: 0 8px 24px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .12) !important;
}
/* Tooltip específico para weapon toggle (cor vermelha) */
.skill-tooltip.weapon-tooltip {
background: linear-gradient(135deg, rgba(140, 40, 40, .98), rgba(100, 30, 30, .98)) !important;
box-shadow: 0 8px 24px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 100, 100, .25) !important;
color: #fff !important;
}
</style>