MediaWiki:Common.css
Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
- Opera: Pressione Ctrl-F5.
/* =========================================================
* 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;
}
/* =========================================================
* BRILHO AUTOMÁTICO NOS CARDS
* ========================================================= */
.pokestorm-card::after,
.pokestorm-card-hover::after {
content: "";
position: absolute;
top: 0;
left: -150%;
width: 55%;
height: 100%;
background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,0.28),
transparent
);
transform:
skewX(-20deg);
pointer-events: none;
animation:
pokestormCardShine 6s ease-in-out infinite;
}
@keyframes pokestormCardShine {
0% {
left: -150%;
}
20% {
left: 150%;
}
100% {
left: 150%;
}
}
/* =========================================================
* 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);
}
}
/* =========================================================
* 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);
}
.pokestorm-event::before {
content: "";
position: absolute;
top: 0;
left: -120%;
width: 60%;
height: 100%;
background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,0.55),
transparent
);
transform:
skewX(-20deg);
animation:
pokestormEventShine 5s ease-in-out infinite;
pointer-events: none;
}
@keyframes pokestormEventShine {
0% {
left: -120%;
}
25% {
left: 140%;
}
100% {
left: 140%;
}
}
/* =========================================================
* 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-card::after,
.pokestorm-card-hover::after,
.pokestorm-floating,
.pokestorm-button,
.pokestorm-event::before,
.pokestorm-rare,
.pokestorm-card,
.pokestorm-card-hover,
.pokestorm-event,
.pokestorm-highlight,
.pokestorm-dungeon,
.pokestorm-reward {
animation:
none !important;
}
}