MediaWiki:Common.css: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
| Linha 294: | Linha 294: | ||
.oo-ui-buttonElement-button { | .oo-ui-buttonElement-button { | ||
border-radius: 9px !important; | border-radius: 9px !important; | ||
transition: | |||
transform 0.2s ease, | |||
box-shadow 0.2s ease, | |||
background 0.2s ease !important; | |||
} | } | ||
| Linha 389: | Linha 394: | ||
} | } | ||
.pokestorm-card-hover:hover { | |||
transform: translateY(-5px); | |||
box-shadow: | |||
0 8px 22px rgba(22,137,215,0.20); | |||
} | |||
/** ========================================================= | |||
* BOTÃO POKESTORM | |||
* ========================================================= */ | |||
.pokestorm-button { | |||
display: inline-block; | |||
background: | background: | ||
linear-gradient( | linear-gradient( | ||
135deg, | |||
#5dbcfc, | |||
#1689d7 | |||
); | ); | ||
color: #ffffff !important; | |||
border-radius: 9px; | |||
padding: 8px 16px; | |||
font-weight: bold; | |||
text-decoration: none !important; | |||
box-shadow: | box-shadow: | ||
0 8px | 0 3px 8px rgba(22,137,215,0.18); | ||
. | transition: | ||
transform 0.2s ease, | |||
box-shadow 0.2s ease, | |||
filter 0.2s ease; | |||
} | } | ||
.pokestorm-button:hover { | |||
color: #ffffff !important; | |||
transform: translateY(-2px); | |||
box-shadow: | |||
0 6px 14px rgba(22,137,215,0.25); | |||
filter: brightness(1.05); | |||
} | |||
/** ========================================================= | |||
* IMAGENS | |||
* ========================================================= */ | |||
.pokestorm-image { | |||
border-radius: 15px; | |||
border: | |||
2px solid #9bd4f5; | |||
box-shadow: | |||
0 3px 12px rgba(22,137,215,0.12); | |||
box-shadow: | |||
0 3px | |||
transition: | transition: | ||
transform 0. | transform 0.25s ease, | ||
box-shadow 0. | box-shadow 0.25s ease, | ||
border-color 0.25s ease; | |||
} | } | ||
.pokestorm- | .pokestorm-image:hover { | ||
transform: scale(1.02); | |||
border-color: #5dbcfc; | |||
box-shadow: | box-shadow: | ||
0 | 0 7px 18px rgba(22,137,215,0.22); | ||
} | } | ||
/** ========================================================= | /** ========================================================= | ||
* | * TOC / ÍNDICE | ||
* ========================================================= */ | * ========================================================= */ | ||
. | #toc, | ||
.toc { | |||
background: | |||
linear-gradient( | |||
145deg, | |||
#ffffff, | |||
#f4fbff | |||
) !important; | |||
border: | border: | ||
1px solid #9bd4f5 !important; | |||
border-radius: 12px !important; | |||
padding: 12px !important; | |||
box-shadow: | box-shadow: | ||
0 | 0 3px 10px rgba(22,137,215,0.08); | ||
} | } | ||
#toc .toctitle, | |||
#toc .toctitle, | |||
.toc .toctitle { | .toc .toctitle { | ||
color: #1689d7 !important; | color: #1689d7 !important; | ||
| Linha 720: | Linha 696: | ||
* SELEÇÃO DE TEXTO | * SELEÇÃO DE TEXTO | ||
* ========================================================= */ | * ========================================================= */ | ||
::selection { | |||
background: #5dbcfc; | |||
color: #ffffff; | |||
} | |||
/** ========================================================= | /** ========================================================= | ||
| Linha 803: | Linha 785: | ||
/* | /* ========================================================= | ||
* CARDS COM BORDA #9bd4f5 | |||
* ========================================================= */ | |||
div[style*="border | div[style*="border:2px solid #9bd4f5"] { | ||
position: relative !important; | |||
overflow: hidden !important; | |||
transition: | |||
transform 0.3s ease, | |||
box-shadow 0.3s ease, | |||
border-color 0.3s ease !important; | |||
} | |||
div[style*="border:2px solid #9bd4f5"]:hover { | |||
transform: | |||
translateY(-7px) | |||
scale(1.015) !important; | |||
box-shadow: | |||
0 12px 28px rgba(22,137,215,0.22) !important; | |||
border-color: | |||
#5dbcfc !important; | |||
z-index: 5; | |||
z-index: | |||
} | } | ||
/* ========================================================= | /* ========================================================= | ||
* CARDS | * IMAGENS DENTRO DOS CARDS | ||
* ========================================================= */ | * ========================================================= */ | ||
div[style*="border:2px solid #9bd4f5"] { | div[style*="border-left:5px solid #1689d7"] img, | ||
div[style*="border:2px solid #9bd4f5"] img { | |||
transition: | |||
transform 0.3s ease, | |||
transition: | filter 0.3s ease !important; | ||
transform 0.3s ease, | |||
} | } | ||
div[style*="border:2px solid #9bd4f5"]:hover { | div[style*="border-left:5px solid #1689d7"]:hover img, | ||
div[style*="border:2px solid #9bd4f5"]:hover img { | |||
transform: | transform: | ||
scale(1.08) !important; | |||
scale(1. | |||
filter: | |||
drop-shadow( | |||
0 5px 8px | |||
rgba(22,137,215,0.25) | |||
); | |||
} | } | ||
/* ========================================================= | /* ========================================================= | ||
* | * BOTÕES DENTRO DOS CARDS | ||
* ========================================================= */ | * ========================================================= */ | ||
div[style*="border:2px solid #9bd4f5"] | div[style*="border-left:5px solid #1689d7"] a, | ||
div[style*="border:2px solid #9bd4f5"] a { | |||
transition: | |||
transform 0.2s ease, | |||
filter 0.2s ease !important; | |||
} | |||
div[style*="border-left:5px solid #1689d7"] a:hover, | |||
div[style*="border:2px solid #9bd4f5"] a:hover { | |||
transform: | |||
translateY(-2px) !important; | |||
filter: | |||
brightness(1.05); | |||
} | |||
/* ========================================================= | |||
* MOVIMENTO SUAVE CONTÍNUO | |||
* Somente nos cards que usam a classe | |||
* pokestorm-floating | |||
* ========================================================= */ | |||
.pokestorm-floating { | |||
animation: | |||
pokestormFloat 3s ease-in-out infinite; | |||
} | |||
@keyframes pokestormFloat { | |||
0% { | |||
transform: translateY(0); | |||
} | |||
50% { | |||
} | transform: translateY(-4px); | ||
} | |||
100% { | |||
transform: translateY(0); | |||
} | |||
} | } | ||
/* ========================================================= | /* ========================================================= | ||
* | * REDUÇÃO DE MOVIMENTO | ||
* ========================================================= */ | * ========================================================= */ | ||
@media (prefers-reduced-motion: reduce) { | |||
.pokestorm-shiny::after { | |||
animation: none !important; | |||
} | |||
} | |||
div[style*="border-left:5px solid #1689d7"], | |||
div[style*="border:2px solid #9bd4f5"], | |||
.pokestorm-floating { | |||
animation: none !important; | |||
transition: none !important; | |||
} | |||
} | } | ||
/* ========================================================= | /* ========================================================= | ||
* | * POKESTORM WIKI | ||
* DELUXE VISUAL EFFECTS | |||
* ========================================================= */ | * ========================================================= */ | ||
/* ========================================================= | |||
* CABEÇALHO ANIMADO | |||
* ========================================================= */ | |||
.vector-header-container { | |||
background-size: 200% 200% !important; | |||
animation: | |||
pokestormHeader 8s ease infinite; | |||
box-shadow: | |||
0 4px 18px rgba(22,137,215,0.28) !important; | |||
} | } | ||
@keyframes pokestormHeader { | |||
0% { | |||
background-position: 0% 50%; | |||
} | |||
50% { | |||
background-position: 100% 50%; | |||
} | |||
100% { | |||
background-position: 0% 50%; | |||
} | |||
} | |||
/* ========================================================= | /* ========================================================= | ||
* | * TÍTULO PRINCIPAL | ||
* ========================================================= */ | * ========================================================= */ | ||
.firstHeading { | |||
position: relative; | |||
. | |||
animation: | animation: | ||
pokestormTitleIn 0.6s ease both; | |||
} | } | ||
@keyframes | @keyframes pokestormTitleIn { | ||
from { | |||
opacity: 0; | |||
transform: translateY(-8px); | |||
} | } | ||
to { | |||
opacity: 1; | |||
transform: translateY(0); | |||
} | } | ||
| Linha 1 015: | Linha 974: | ||
/* ========================================================= | /* ========================================================= | ||
* | * LINHA DOS TÍTULOS COM BRILHO | ||
* ========================================================= */ | * ========================================================= */ | ||
. | .mw-heading2 h2::after { | ||
background-size: 200% 100% !important; | |||
animation: | animation: | ||
pokestormLineGlow 4s ease infinite; | |||
} | } | ||
@keyframes | @keyframes pokestormLineGlow { | ||
0% { | |||
background-position: 0% 50%; | |||
} | } | ||
50% { | |||
background-position: 100% 50%; | |||
50% { | |||
background-position: 100% 50%; | |||
} | } | ||
| Linha 1 121: | Linha 1 054: | ||
/* ========================================================= | /* ========================================================= | ||
* | * CARD FLUTUANTE | ||
* ========================================================= */ | * ========================================================= */ | ||
.pokestorm- | .pokestorm-floating { | ||
animation: | animation: | ||
pokestormFloatDeluxe 4s ease-in-out infinite; | |||
} | } | ||
@keyframes | @keyframes pokestormFloatDeluxe { | ||
0% { | 0% { | ||
transform: translateY(0); | |||
} | } | ||
50% { | |||
transform: translateY(-5px); | |||
} | } | ||
100% { | 100% { | ||
transform: translateY(0); | |||
} | } | ||
| Linha 1 171: | Linha 1 080: | ||
/* ========================================================= | /* ========================================================= | ||
* | * EFEITO SHINY - SOMENTE QUANDO SOLICITADO | ||
* | |||
* Use: class="pokestorm-shiny" | |||
* O brilho NÃO é aplicado automaticamente a nenhum card. | |||
* ========================================================= */ | * ========================================================= */ | ||
.pokestorm- | .pokestorm-shiny { | ||
position: relative; | |||
overflow: hidden; | |||
} | } | ||
.pokestorm-shiny::after { | |||
content: ""; | |||
position: absolute; | |||
top: 0; | |||
left: -150%; | |||
width: 60%; | |||
transform: | height: 100%; | ||
} | |||
background: | |||
linear-gradient( | |||
90deg, | |||
transparent, | |||
rgba(255,255,255,0.60), | |||
transparent | |||
); | |||
transform: skewX(-20deg); | |||
animation: | |||
pokestormShine 3.8s ease-in-out infinite; | |||
pointer-events: none; | |||
z-index: 10; | |||
} | |||
@keyframes pokestormShine { | |||
0% { | |||
left: -150%; | |||
} | |||
25% { | |||
left: 150%; | |||
} | |||
100% { | 100% { | ||
left: 150%; | |||
} | } | ||
} | } | ||
| Linha 1 427: | Linha 1 364: | ||
0 12px 28px | 0 12px 28px | ||
rgba(22,137,215,0.24); | rgba(22,137,215,0.24); | ||
} | } | ||
| Linha 1 858: | Linha 1 751: | ||
.firstHeading, | .firstHeading, | ||
.mw-heading2 h2::after, | .mw-heading2 h2::after, | ||
.pokestorm-floating, | .pokestorm-floating, | ||
.pokestorm-button, | .pokestorm-button, | ||
.pokestorm-rare, | .pokestorm-rare, | ||
.pokestorm-card, | .pokestorm-card, | ||
| Linha 1 869: | Linha 1 759: | ||
.pokestorm-highlight, | .pokestorm-highlight, | ||
.pokestorm-dungeon, | .pokestorm-dungeon, | ||
.pokestorm-reward { | .pokestorm-reward, | ||
.pokestorm-shiny::after { | |||
animation: | animation: | ||
none !important; | none !important; | ||
Edição atual tal como às 11h06min de 30 de setembro de 2026
/** =========================================================
* POKESTORM WIKI
* COMMON.CSS — BLUE EDITION
* ========================================================= */
/** =========================================================
* ABAS E ELEMENTOS OCULTOS
* ========================================================= */
#ca-nstab-main,
#ca-talk,
#ca-viewsource,
.vector-user-menu-logged-out/*,
.vector-pinnable-header-toggle-button*/
{
display: none !important;
}
/** =========================================================
* LARGURA
* ========================================================= */
@media screen and (min-width: 1400px) {
.vector-limited-width-toggle.cdx-button,
.vector-limited-width-popup {
display: none !important;
}
}
/** =========================================================
* FUNDO GLOBAL
* ========================================================= */
html {
background:
linear-gradient(
135deg,
#eaf6fd 0%,
#f7fcff 45%,
#e2f4fc 100%
) !important;
}
body {
background:
linear-gradient(
135deg,
#eaf6fd 0%,
#f7fcff 45%,
#e2f4fc 100%
) !important;
color: #333333;
}
/** =========================================================
* ÁREA PRINCIPAL
* ========================================================= */
#content,
.mw-body,
.mw-page-container {
background: rgba(255,255,255,0.96) !important;
}
/** =========================================================
* CABEÇALHO VECTOR
* ========================================================= */
.vector-header-container {
background:
linear-gradient(
135deg,
#126fba 0%,
#1689d7 45%,
#4db8f2 100%
) !important;
box-shadow:
0 3px 15px rgba(22,137,215,0.25);
}
.vector-header-container a {
color: #ffffff !important;
}
.vector-header-container a:hover {
color: #ffffff !important;
}
/** =========================================================
* MENU LATERAL
* ========================================================= */
.vector-main-menu {
background:
linear-gradient(
180deg,
#f7fcff 0%,
#eaf6fd 100%
) !important;
border-right: 1px solid #b9dff5;
}
.vector-main-menu .vector-menu-heading {
color: #1689d7 !important;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.3px;
}
.vector-main-menu a {
color: #1689d7 !important;
border-radius: 8px;
transition:
background 0.2s ease,
color 0.2s ease,
padding-left 0.2s ease;
}
.vector-main-menu a:hover {
background:
linear-gradient(
90deg,
#dff3fc,
#f4fbff
) !important;
color: #0b6eae !important;
padding-left: 8px;
}
/** =========================================================
* MENU DO USUÁRIO
* ========================================================= */
.vector-user-links {
background: transparent !important;
}
.vector-user-links a {
color: #1689d7 !important;
transition: all 0.2s ease;
}
.vector-user-links a:hover {
color: #0b6eae !important;
}
/** =========================================================
* TÍTULO PRINCIPAL
* ========================================================= */
.firstHeading {
color: #1689d7 !important;
font-weight: bold !important;
padding-bottom: 10px;
border-bottom:
3px solid #5dbcfc;
text-shadow:
0 1px 1px rgba(22,137,215,0.08);
}
/** =========================================================
* TÍTULOS
* ========================================================= */
.mw-heading2 h2 {
color: #1689d7 !important;
border-bottom:
2px solid #9bd4f5;
padding-bottom: 7px;
position: relative;
}
.mw-heading2 h2::after {
content: "";
display: block;
width: 55px;
height: 3px;
margin-top: 5px;
background:
linear-gradient(
90deg,
#1689d7,
#4db8f2
);
border-radius: 5px;
}
.mw-heading3 h3,
.mw-heading4 h4 {
color: #1689d7 !important;
}
/** =========================================================
* LINKS
* ========================================================= */
a {
color: #1689d7;
transition:
color 0.2s ease,
background 0.2s ease,
transform 0.2s ease;
}
a:hover {
color: #0b6eae !important;
}
/** =========================================================
* TABELAS
* ========================================================= */
.wikitable {
width: auto;
border:
1px solid #9bd4f5 !important;
border-radius: 12px;
overflow: hidden;
box-shadow:
0 3px 12px rgba(22,137,215,0.08);
border-collapse: separate !important;
border-spacing: 0;
}
.wikitable th {
background:
linear-gradient(
135deg,
#1689d7,
#4db8f2
) !important;
color: #ffffff !important;
border-color: #9bd4f5 !important;
padding: 10px;
}
.wikitable td {
border-color: #d5edf9 !important;
padding: 8px 10px;
transition:
background 0.15s ease;
}
.wikitable tr:nth-child(even) {
background-color: #f4fbff;
}
.wikitable tr:hover td {
background-color: #eaf6fd;
}
/** =========================================================
* BOTÕES OOUI
* ========================================================= */
.oo-ui-buttonElement-button {
border-radius: 9px !important;
transition:
transform 0.2s ease,
box-shadow 0.2s ease,
background 0.2s ease !important;
}
.oo-ui-buttonElement-button:hover {
border-color: #5dbcfc !important;
background:
linear-gradient(
135deg,
#eaf6fd,
#ffffff
) !important;
transform: translateY(-1px);
box-shadow:
0 3px 8px rgba(22,137,215,0.15);
}
/** =========================================================
* BOTÕES MEDIAWIKI
* ========================================================= */
.mw-ui-button {
border-radius: 9px !important;
transition:
transform 0.2s ease,
box-shadow 0.2s ease !important;
}
.mw-ui-button:hover {
background: #eaf6fd !important;
border-color: #5dbcfc !important;
transform: translateY(-1px);
box-shadow:
0 3px 8px rgba(22,137,215,0.15);
}
/** =========================================================
* CARDS POKESTORM
* ========================================================= */
.pokestorm-card {
background:
linear-gradient(
145deg,
#ffffff,
#f4fbff
);
border:
1px solid #9bd4f5;
border-radius: 15px;
padding: 15px;
box-shadow:
0 3px 12px rgba(22,137,215,0.10);
transition:
transform 0.25s ease,
box-shadow 0.25s ease,
border-color 0.25s ease;
}
.pokestorm-card:hover {
transform: translateY(-5px);
border-color: #5dbcfc;
box-shadow:
0 8px 22px rgba(22,137,215,0.20);
}
/** =========================================================
* CARD COM BRILHO
* ========================================================= */
.pokestorm-card-hover {
position: relative;
overflow: hidden;
transition:
transform 0.25s ease,
box-shadow 0.25s ease;
}
.pokestorm-card-hover:hover {
transform: translateY(-5px);
box-shadow:
0 8px 22px rgba(22,137,215,0.20);
}
/** =========================================================
* BOTÃO POKESTORM
* ========================================================= */
.pokestorm-button {
display: inline-block;
background:
linear-gradient(
135deg,
#5dbcfc,
#1689d7
);
color: #ffffff !important;
border-radius: 9px;
padding: 8px 16px;
font-weight: bold;
text-decoration: none !important;
box-shadow:
0 3px 8px rgba(22,137,215,0.18);
transition:
transform 0.2s ease,
box-shadow 0.2s ease,
filter 0.2s ease;
}
.pokestorm-button:hover {
color: #ffffff !important;
transform: translateY(-2px);
box-shadow:
0 6px 14px rgba(22,137,215,0.25);
filter: brightness(1.05);
}
/** =========================================================
* IMAGENS
* ========================================================= */
.pokestorm-image {
border-radius: 15px;
border:
2px solid #9bd4f5;
box-shadow:
0 3px 12px rgba(22,137,215,0.12);
transition:
transform 0.25s ease,
box-shadow 0.25s ease,
border-color 0.25s ease;
}
.pokestorm-image:hover {
transform: scale(1.02);
border-color: #5dbcfc;
box-shadow:
0 7px 18px rgba(22,137,215,0.22);
}
/** =========================================================
* TOC / ÍNDICE
* ========================================================= */
#toc,
.toc {
background:
linear-gradient(
145deg,
#ffffff,
#f4fbff
) !important;
border:
1px solid #9bd4f5 !important;
border-radius: 12px !important;
padding: 12px !important;
box-shadow:
0 3px 10px rgba(22,137,215,0.08);
}
#toc .toctitle,
.toc .toctitle {
color: #1689d7 !important;
font-weight: bold;
}
/** =========================================================
* INFOBOX
* ========================================================= */
.infobox {
border:
1px solid #9bd4f5 !important;
border-radius: 12px !important;
overflow: hidden;
box-shadow:
0 3px 12px rgba(22,137,215,0.10);
}
.infobox th {
background:
linear-gradient(
135deg,
#1689d7,
#4db8f2
) !important;
color: #ffffff !important;
}
.infobox td {
background-color: #f4fbff;
}
/** =========================================================
* CATEGORIAS
* ========================================================= */
.catlinks {
background:
linear-gradient(
145deg,
#ffffff,
#eaf6fd
) !important;
border:
1px solid #9bd4f5 !important;
border-radius: 10px !important;
padding: 10px !important;
box-shadow:
0 2px 8px rgba(22,137,215,0.07);
}
.catlinks a {
color: #1689d7 !important;
}
/** =========================================================
* CAIXAS DE AVISO
* ========================================================= */
.mw-message-box {
border-radius: 10px !important;
border-color: #9bd4f5 !important;
box-shadow:
0 2px 8px rgba(22,137,215,0.06);
}
/** =========================================================
* CÓDIGO
* ========================================================= */
pre,
.mw-code {
background:
linear-gradient(
145deg,
#f4fbff,
#eaf6fd
) !important;
border:
1px solid #9bd4f5 !important;
border-radius: 10px !important;
box-shadow:
inset 0 1px 2px rgba(22,137,215,0.05);
}
/** =========================================================
* CITAÇÕES
* ========================================================= */
blockquote {
background:
linear-gradient(
135deg,
#eaf6fd,
#f7fcff
);
border-left:
5px solid #1689d7;
border-radius: 9px;
padding: 12px 16px;
box-shadow:
0 2px 8px rgba(22,137,215,0.07);
}
/** =========================================================
* FORMULÁRIOS
* ========================================================= */
input,
textarea,
select {
border:
1px solid #9bd4f5 !important;
border-radius: 8px !important;
transition:
border-color 0.2s ease,
box-shadow 0.2s ease;
}
input:focus,
textarea:focus,
select:focus {
border-color: #5dbcfc !important;
outline: none !important;
box-shadow:
0 0 0 3px rgba(93,188,252,0.18);
}
/** =========================================================
* SCROLLBAR
* ========================================================= */
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: #eaf6fd;
}
::-webkit-scrollbar-thumb {
background:
linear-gradient(
180deg,
#9bd4f5,
#5dbcfc
);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background:
linear-gradient(
180deg,
#5dbcfc,
#1689d7
);
}
/** =========================================================
* SELEÇÃO DE TEXTO
* ========================================================= */
::selection {
background: #5dbcfc;
color: #ffffff;
}
/** =========================================================
* CORES UTILITÁRIAS
* ========================================================= */
.pokestorm-blue {
color: #1689d7 !important;
}
.pokestorm-light-blue {
color: #4db8f2 !important;
}
.pokestorm-background {
background-color: #eaf6fd !important;
}
.pokestorm-card-background {
background-color: #ffffff !important;
}
/** =========================================================
* RESPONSIVIDADE
* ========================================================= */
@media screen and (max-width: 700px) {
#content,
.mw-body,
.mw-page-container {
padding-left: 8px !important;
padding-right: 8px !important;
}
.wikitable {
font-size: 13px;
}
.firstHeading {
font-size: 24px;
}
}
/** =========================================================
* FIM
* ========================================================= */
/* =========================================================
* MOVIMENTO AUTOMÁTICO DOS CARDS DA POKESTORM WIKI
* Funciona nos cards atuais feitos com style=""
* ========================================================= */
/* Cards com borda azul lateral */
div[style*="border-left:5px solid #1689d7"] {
position: relative !important;
overflow: hidden !important;
transition:
transform 0.3s ease,
box-shadow 0.3s ease,
border-color 0.3s ease !important;
}
/* Movimento ao passar o mouse */
div[style*="border-left:5px solid #1689d7"]:hover {
transform:
translateY(-7px)
scale(1.02) !important;
box-shadow:
0 12px 25px rgba(22,137,215,0.22) !important;
z-index: 5;
}
/* =========================================================
* CARDS COM BORDA #9bd4f5
* ========================================================= */
div[style*="border:2px solid #9bd4f5"] {
position: relative !important;
overflow: hidden !important;
transition:
transform 0.3s ease,
box-shadow 0.3s ease,
border-color 0.3s ease !important;
}
div[style*="border:2px solid #9bd4f5"]:hover {
transform:
translateY(-7px)
scale(1.015) !important;
box-shadow:
0 12px 28px rgba(22,137,215,0.22) !important;
border-color:
#5dbcfc !important;
z-index: 5;
}
/* =========================================================
* IMAGENS DENTRO DOS CARDS
* ========================================================= */
div[style*="border-left:5px solid #1689d7"] img,
div[style*="border:2px solid #9bd4f5"] img {
transition:
transform 0.3s ease,
filter 0.3s ease !important;
}
div[style*="border-left:5px solid #1689d7"]:hover img,
div[style*="border:2px solid #9bd4f5"]:hover img {
transform:
scale(1.08) !important;
filter:
drop-shadow(
0 5px 8px
rgba(22,137,215,0.25)
);
}
/* =========================================================
* BOTÕES DENTRO DOS CARDS
* ========================================================= */
div[style*="border-left:5px solid #1689d7"] a,
div[style*="border:2px solid #9bd4f5"] a {
transition:
transform 0.2s ease,
filter 0.2s ease !important;
}
div[style*="border-left:5px solid #1689d7"] a:hover,
div[style*="border:2px solid #9bd4f5"] a:hover {
transform:
translateY(-2px) !important;
filter:
brightness(1.05);
}
/* =========================================================
* MOVIMENTO SUAVE CONTÍNUO
* Somente nos cards que usam a classe
* pokestorm-floating
* ========================================================= */
.pokestorm-floating {
animation:
pokestormFloat 3s ease-in-out infinite;
}
@keyframes pokestormFloat {
0% {
transform: translateY(0);
}
50% {
transform: translateY(-4px);
}
100% {
transform: translateY(0);
}
}
/* =========================================================
* REDUÇÃO DE MOVIMENTO
* ========================================================= */
@media (prefers-reduced-motion: reduce) {
.pokestorm-shiny::after {
animation: none !important;
}
div[style*="border-left:5px solid #1689d7"],
div[style*="border:2px solid #9bd4f5"],
.pokestorm-floating {
animation: none !important;
transition: none !important;
}
}
/* =========================================================
* POKESTORM WIKI
* DELUXE VISUAL EFFECTS
* ========================================================= */
/* =========================================================
* CABEÇALHO ANIMADO
* ========================================================= */
.vector-header-container {
background-size: 200% 200% !important;
animation:
pokestormHeader 8s ease infinite;
box-shadow:
0 4px 18px rgba(22,137,215,0.28) !important;
}
@keyframes pokestormHeader {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
/* =========================================================
* TÍTULO PRINCIPAL
* ========================================================= */
.firstHeading {
position: relative;
animation:
pokestormTitleIn 0.6s ease both;
}
@keyframes pokestormTitleIn {
from {
opacity: 0;
transform: translateY(-8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* =========================================================
* LINHA DOS TÍTULOS COM BRILHO
* ========================================================= */
.mw-heading2 h2::after {
background-size: 200% 100% !important;
animation:
pokestormLineGlow 4s ease infinite;
}
@keyframes pokestormLineGlow {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
/* =========================================================
* LINKS COM LINHA ANIMADA
* ========================================================= */
.mw-body a:not(.image):not(.mw-ui-button) {
position: relative;
text-decoration: none;
}
.mw-body a:not(.image):not(.mw-ui-button)::after {
content: "";
position: absolute;
left: 0;
bottom: -2px;
width: 0;
height: 2px;
background:
linear-gradient(
90deg,
#1689d7,
#5dbcfc
);
border-radius: 5px;
transition:
width 0.25s ease;
}
.mw-body a:not(.image):not(.mw-ui-button):hover::after {
width: 100%;
}
/* =========================================================
* CARDS POKESTORM - EFEITO DELUXE
* ========================================================= */
.pokestorm-card,
.pokestorm-card-hover {
transform-origin: center;
will-change:
transform,
box-shadow;
}
/* =========================================================
* CARD FLUTUANTE
* ========================================================= */
.pokestorm-floating {
animation:
pokestormFloatDeluxe 4s ease-in-out infinite;
}
@keyframes pokestormFloatDeluxe {
0% {
transform: translateY(0);
}
50% {
transform: translateY(-5px);
}
100% {
transform: translateY(0);
}
}
/* =========================================================
* EFEITO SHINY - SOMENTE QUANDO SOLICITADO
*
* Use: class="pokestorm-shiny"
* O brilho NÃO é aplicado automaticamente a nenhum card.
* ========================================================= */
.pokestorm-shiny {
position: relative;
overflow: hidden;
}
.pokestorm-shiny::after {
content: "";
position: absolute;
top: 0;
left: -150%;
width: 60%;
height: 100%;
background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,0.60),
transparent
);
transform: skewX(-20deg);
animation:
pokestormShine 3.8s ease-in-out infinite;
pointer-events: none;
z-index: 10;
}
@keyframes pokestormShine {
0% {
left: -150%;
}
25% {
left: 150%;
}
100% {
left: 150%;
}
}
/* =========================================================
* HOVER MAIS ELEGANTE
* ========================================================= */
.pokestorm-card:hover,
.pokestorm-card-hover:hover {
transform:
translateY(-7px)
scale(1.015);
box-shadow:
0 12px 28px rgba(22,137,215,0.22);
}
/* =========================================================
* BOTÕES POKESTORM
* ========================================================= */
.pokestorm-button {
position: relative;
overflow: hidden;
background-size:
200% 200% !important;
animation:
pokestormButtonGradient 5s ease infinite;
}
@keyframes pokestormButtonGradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.pokestorm-button::after {
content: "";
position: absolute;
top: 0;
left: -120%;
width: 50%;
height: 100%;
background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,0.4),
transparent
);
transform:
skewX(-20deg);
pointer-events: none;
}
.pokestorm-button:hover::after {
left: 140%;
transition:
left 0.6s ease;
}
/* =========================================================
* IMAGENS
* ========================================================= */
.pokestorm-image {
will-change:
transform,
filter;
}
.pokestorm-image:hover {
transform:
scale(1.035)
translateY(-2px) !important;
filter:
drop-shadow(
0 8px 12px
rgba(22,137,215,0.25)
);
}
/* =========================================================
* TOC / ÍNDICE
* ========================================================= */
#toc li,
.toc li {
transition:
transform 0.2s ease,
background 0.2s ease;
}
#toc li:hover,
.toc li:hover {
transform:
translateX(4px);
}
#toc a,
.toc a {
transition:
color 0.2s ease;
}
/* =========================================================
* TABELAS
* ========================================================= */
.wikitable tbody tr {
transition:
transform 0.2s ease,
box-shadow 0.2s ease;
}
.wikitable tbody tr:hover {
transform:
translateX(2px);
}
/* =========================================================
* INFOBOX
* ========================================================= */
.infobox {
transition:
transform 0.25s ease,
box-shadow 0.25s ease;
}
.infobox:hover {
transform:
translateY(-3px);
box-shadow:
0 8px 22px rgba(22,137,215,0.18);
}
/* =========================================================
* CAIXAS DE AVISO
* ========================================================= */
.mw-message-box {
transition:
transform 0.2s ease,
box-shadow 0.2s ease;
}
.mw-message-box:hover {
transform:
translateY(-2px);
box-shadow:
0 6px 16px rgba(22,137,215,0.15);
}
/* =========================================================
* CLASSE PARA EVENTOS
*
* Use:
* <div class="pokestorm-event">
* ...
* </div>
* ========================================================= */
.pokestorm-event {
position: relative;
overflow: hidden;
background:
linear-gradient(
135deg,
#ffffff,
#eaf6fd
);
border:
1px solid #5dbcfc;
border-radius:
15px;
padding:
15px;
box-shadow:
0 5px 18px
rgba(22,137,215,0.14);
transition:
transform 0.3s ease,
box-shadow 0.3s ease,
border-color 0.3s ease;
}
.pokestorm-event:hover {
transform:
translateY(-6px);
border-color:
#1689d7;
box-shadow:
0 12px 28px
rgba(22,137,215,0.24);
}
/* =========================================================
* CLASSE DE DESTAQUE
* ========================================================= */
.pokestorm-highlight {
position: relative;
background:
linear-gradient(
135deg,
#ffffff,
#f4fbff
);
border:
2px solid #9bd4f5;
border-radius:
14px;
padding:
14px;
box-shadow:
0 4px 15px
rgba(22,137,215,0.10);
transition:
transform 0.25s ease,
box-shadow 0.25s ease;
}
.pokestorm-highlight:hover {
transform:
translateY(-4px);
box-shadow:
0 10px 24px
rgba(22,137,215,0.20);
}
/* =========================================================
* POKÉMON RARO
* ========================================================= */
.pokestorm-rare {
position: relative;
overflow: hidden;
border:
2px solid #5dbcfc;
border-radius:
15px;
background:
linear-gradient(
135deg,
#ffffff,
#eaf6fd
);
box-shadow:
0 0 0
rgba(93,188,252,0);
animation:
pokestormRarePulse 3s ease-in-out infinite;
transition:
transform 0.25s ease;
}
.pokestorm-rare:hover {
transform:
translateY(-5px)
scale(1.02);
}
@keyframes pokestormRarePulse {
0% {
box-shadow:
0 0 0
rgba(93,188,252,0);
}
50% {
box-shadow:
0 0 18px
rgba(93,188,252,0.28);
}
100% {
box-shadow:
0 0 0
rgba(93,188,252,0);
}
}
/* =========================================================
* DUNGEON
* ========================================================= */
.pokestorm-dungeon {
position: relative;
overflow: hidden;
background:
linear-gradient(
135deg,
#f7fcff,
#e2f4fc
);
border:
2px solid #1689d7;
border-radius:
15px;
padding:
15px;
box-shadow:
0 5px 18px
rgba(22,137,215,0.16);
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
}
.pokestorm-dungeon:hover {
transform:
translateY(-6px);
box-shadow:
0 12px 30px
rgba(22,137,215,0.25);
}
/* =========================================================
* RECOMPENSA
* ========================================================= */
.pokestorm-reward {
position: relative;
background:
linear-gradient(
135deg,
#ffffff,
#eaf6fd
);
border:
1px solid #9bd4f5;
border-radius:
12px;
padding:
12px;
box-shadow:
0 3px 12px
rgba(22,137,215,0.10);
transition:
transform 0.25s ease,
border-color 0.25s ease,
box-shadow 0.25s ease;
}
.pokestorm-reward:hover {
transform:
translateY(-4px);
border-color:
#5dbcfc;
box-shadow:
0 9px 22px
rgba(22,137,215,0.20);
}
/* =========================================================
* ALERTA POKESTORM
* ========================================================= */
.pokestorm-alert {
position: relative;
background:
linear-gradient(
135deg,
#eaf6fd,
#ffffff
);
border-left:
5px solid #1689d7;
border-radius:
10px;
padding:
12px 15px;
box-shadow:
0 3px 12px
rgba(22,137,215,0.10);
}
/* =========================================================
* ENTRADA DOS CARDS
* ========================================================= */
.pokestorm-card,
.pokestorm-card-hover,
.pokestorm-event,
.pokestorm-highlight,
.pokestorm-rare,
.pokestorm-dungeon,
.pokestorm-reward {
animation:
pokestormCardIn 0.55s ease both;
}
@keyframes pokestormCardIn {
from {
opacity: 0;
transform:
translateY(10px);
}
to {
opacity: 1;
transform:
translateY(0);
}
}
/* =========================================================
* BOTÕES MEDIAWIKI / OOUI
* ========================================================= */
.oo-ui-buttonElement-button,
.mw-ui-button {
transition:
transform 0.2s ease,
box-shadow 0.2s ease,
background 0.2s ease !important;
}
.oo-ui-buttonElement-button:hover,
.mw-ui-button:hover {
transform:
translateY(-2px);
box-shadow:
0 5px 12px
rgba(22,137,215,0.16);
}
/* =========================================================
* CATEGORIAS
* ========================================================= */
.catlinks {
transition:
transform 0.25s ease,
box-shadow 0.25s ease;
}
.catlinks:hover {
transform:
translateY(-2px);
box-shadow:
0 6px 16px
rgba(22,137,215,0.13);
}
/* =========================================================
* CÓDIGO
* ========================================================= */
pre,
.mw-code {
transition:
border-color 0.2s ease,
box-shadow 0.2s ease;
}
pre:hover,
.mw-code:hover {
border-color:
#5dbcfc !important;
box-shadow:
0 4px 14px
rgba(22,137,215,0.10);
}
/* =========================================================
* SELEÇÃO
* ========================================================= */
::selection {
background:
#1689d7 !important;
color:
#ffffff !important;
}
/* =========================================================
* EFEITO DE FOCO
* ========================================================= */
.pokestorm-card:focus-within,
.pokestorm-card-hover:focus-within,
.pokestorm-button:focus,
.pokestorm-event:focus-within {
outline:
2px solid #5dbcfc;
outline-offset:
3px;
}
/* =========================================================
* MOBILE
* ========================================================= */
@media screen and (max-width: 700px) {
.pokestorm-card:hover,
.pokestorm-card-hover:hover,
.pokestorm-event:hover,
.pokestorm-highlight:hover,
.pokestorm-rare:hover,
.pokestorm-dungeon:hover,
.pokestorm-reward:hover {
transform:
translateY(-3px)
scale(1.005);
}
.pokestorm-button {
padding:
8px 12px;
}
}
/* =========================================================
* REDUÇÃO DE MOVIMENTO
* ========================================================= */
@media (prefers-reduced-motion: reduce) {
.vector-header-container,
.firstHeading,
.mw-heading2 h2::after,
.pokestorm-floating,
.pokestorm-button,
.pokestorm-rare,
.pokestorm-card,
.pokestorm-card-hover,
.pokestorm-event,
.pokestorm-highlight,
.pokestorm-dungeon,
.pokestorm-reward,
.pokestorm-shiny::after {
animation:
none !important;
}
}