Jump to content

MediaWiki:Common.css

From Vampiro
Revision as of 18:58, 31 August 2026 by Fernando (talk | contribs) (Botão de busca Investigar com fundo preto e texto branco de alto contraste)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* ==========================================================================
   TEMA DARK GÓTICO-PUNK — VAMPIRO: A MÁSCARA
   Cobertura agressiva: Vector 2022, Vector Legacy, Common
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;900&family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,400&display=swap');

/* === VARIÁVEIS === */
:root {
  --vtm-void: #08080b;
  --vtm-abyss: #0c0c10;
  --vtm-obsidian: #101015;
  --vtm-onyx: #16161d;
  --vtm-slate: #1c1c25;
  --vtm-charcoal: #22222d;
  --vtm-ash: #2a2a36;
  --vtm-text: #ddd9d0;
  --vtm-text-dim: #9e9a91;
  --vtm-text-ghost: #5e5b55;
  --vtm-blood: #8b0000;
  --vtm-blood-vivid: #c9182b;
  --vtm-blood-neon: #ff2a3f;
  --vtm-blood-glow: rgba(201, 24, 43, 0.45);
  --vtm-gold: #c5a059;
  --vtm-gold-bright: #e5be75;
  --vtm-border: #252530;
  --vtm-border-blood: #3d0a12;
  --vtm-font-title: 'Cinzel', 'Playfair Display', Georgia, serif;
  --vtm-font-body: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* ==========================================================================
   1. NUCLEAR DARK MODE — TUDO ESCURO, SEM EXCEÇÃO
   ========================================================================== */

/* Raiz absoluta */
html,
html body,
html body.skin--responsive,
html body.mediawiki,
html body.skin-vector,
html body.skin-vector-legacy {
  background: var(--vtm-void) !important;
  background-color: var(--vtm-void) !important;
  color: var(--vtm-text) !important;
  font-family: var(--vtm-font-body) !important;
}

/* === VECTOR 2022 — Container principal e fundo branco === */
.mw-page-container,
.mw-page-container-inner,
.vector-column-start,
.vector-column-end {
  background: var(--vtm-void) !important;
  background-color: var(--vtm-void) !important;
}

/* A área de conteúdo central (o grande bloco branco) */
.mw-body,
.vector-body,
.mw-body-content,
.mw-content-container,
#content,
#bodyContent,
#mw-content-text,
.mw-parser-output,
main.mw-body {
  background: var(--vtm-obsidian) !important;
  background-color: var(--vtm-obsidian) !important;
  color: var(--vtm-text) !important;
  border-color: var(--vtm-border) !important;
}

/* Vector 2022 wrapper externo */
.vector-feature-zebra-design-enabled .mw-page-container,
.vector-feature-zebra-design-enabled .mw-body,
.vector-feature-zebra-design-enabled .vector-body {
  background: var(--vtm-obsidian) !important;
  background-color: var(--vtm-obsidian) !important;
}

/* Elimina qualquer borda/sombra branca residual */
.mw-body {
  border: none !important;
  box-shadow: none !important;
}

/* === Backgrounds residuais do Vector Legacy === */
#mw-page-base {
  background: var(--vtm-void) !important;
  background-image: none !important;
}

#mw-head-base {
  background: var(--vtm-void) !important;
  background-image: none !important;
  border-bottom: 1px solid var(--vtm-border-blood) !important;
}

/* === HEADER / NAVBAR === */
.vector-header,
.vector-header-container,
.mw-header,
#mw-head,
.vector-sticky-header,
.vector-sticky-header-container {
  background: var(--vtm-abyss) !important;
  background-color: var(--vtm-abyss) !important;
  border-bottom: 1px solid var(--vtm-border-blood) !important;
}

/* Sticky header */
.vector-sticky-header {
  background: rgba(8, 8, 11, 0.96) !important;
  backdrop-filter: blur(8px) !important;
}

/* === FOOTER === */
#footer,
.mw-footer,
.vector-footer-container,
footer.mw-footer {
  background: var(--vtm-void) !important;
  background-color: var(--vtm-void) !important;
  color: var(--vtm-text-ghost) !important;
  border-top: 1px solid var(--vtm-border) !important;
}

#footer a {
  color: var(--vtm-text-dim) !important;
}

/* ==========================================================================
   2. TIPOGRAFIA GÓTICA
   ========================================================================== */
h1, h2, h3, h4, h5, h6,
.mw-heading h1, .mw-heading h2, .mw-heading h3,
.mw-heading h4, .mw-heading h5, .mw-heading h6,
.mw-heading1 h1, .mw-heading2 h2, .mw-heading3 h3 {
  font-family: var(--vtm-font-title) !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  color: var(--vtm-text) !important;
}

h1.firstHeading,
.mw-first-heading,
#firstHeading,
.mw-body h1 {
  font-family: var(--vtm-font-title) !important;
  font-size: 2.3em !important;
  color: var(--vtm-blood-vivid) !important;
  text-shadow: 0 0 14px var(--vtm-blood-glow) !important;
  border-bottom: 2px solid var(--vtm-blood) !important;
  padding-bottom: 8px !important;
}

h2, .mw-heading2 h2 {
  font-size: 1.55em !important;
  color: #f0ece5 !important;
  border-bottom: 1px solid var(--vtm-border-blood) !important;
  padding-bottom: 6px !important;
}

h3, .mw-heading3 h3 {
  font-size: 1.2em !important;
  color: var(--vtm-gold) !important;
}

h4, h5, h6 {
  color: var(--vtm-text-dim) !important;
}

/* Subtítulos da página */
.mw-body-content p,
.mw-body-content li,
.mw-body-content dd,
.mw-body-content td {
  color: var(--vtm-text) !important;
}

/* ==========================================================================
   3. HIPERLINKS
   ========================================================================== */
a,
a:visited,
.mw-body a,
.mw-body a:visited,
.mw-parser-output a,
.vector-menu a {
  color: #e55353 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

a:hover, a:focus,
.mw-body a:hover {
  color: var(--vtm-blood-neon) !important;
  text-shadow: 0 0 8px var(--vtm-blood-glow) !important;
}

a.new, a.new:visited {
  color: #7c3535 !important;
  font-style: italic !important;
}

a.new:hover {
  color: #b54a4a !important;
}

.mw-parser-output a.external {
  color: var(--vtm-gold) !important;
}

.mw-parser-output a.external:hover {
  color: var(--vtm-gold-bright) !important;
  text-shadow: 0 0 6px rgba(229, 190, 117, 0.35) !important;
}

/* ==========================================================================
   4. SIDEBAR / MENU LATERAL (VECTOR 2022)
   ========================================================================== */
.vector-main-menu,
.vector-main-menu-container,
.vector-column-start .vector-main-menu,
.vector-sidebar,
.vector-toc,
.vector-toc-landmark,
#vector-toc-pinned-container,
.vector-toc-pinned-container,
#mw-panel,
.mw-sidebar,
nav.vector-main-menu,
nav.mw-sidebar {
  background: var(--vtm-void) !important;
  background-color: var(--vtm-void) !important;
  border-right: 1px solid var(--vtm-border) !important;
}

/* Títulos das seções do menu */
.vector-menu-heading,
.vector-main-menu .vector-menu-heading,
#mw-panel .portal h3,
.vector-menu-portal .vector-menu-heading,
.sidebar-heading,
.vector-menu-heading-label {
  font-family: var(--vtm-font-title) !important;
  color: var(--vtm-gold) !important;
  font-size: 0.85em !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  border-bottom: 1px solid var(--vtm-border-blood) !important;
  padding-bottom: 4px !important;
}

/* Links do menu lateral */
.vector-main-menu a,
.vector-main-menu li a,
#mw-panel .portal .body li a,
.mw-sidebar a {
  color: var(--vtm-text-dim) !important;
  transition: all 0.15s ease !important;
}

.vector-main-menu a:hover,
#mw-panel .portal .body li a:hover {
  color: var(--vtm-blood-vivid) !important;
  padding-left: 4px !important;
}

/* TOC lateral (Vector 2022) */
.vector-toc .vector-toc-list-item a,
.vector-toc .vector-toc-text {
  color: var(--vtm-text-dim) !important;
}

.vector-toc .vector-toc-list-item-active > .vector-toc-link,
.vector-toc .vector-toc-list-item-active .vector-toc-text {
  color: var(--vtm-blood-vivid) !important;
  font-weight: 600 !important;
}

.vector-toc .vector-toc-list-item a:hover {
  color: var(--vtm-text) !important;
}

/* ==========================================================================
   5. TABS DE AÇÃO
   ========================================================================== */
.vector-menu-tabs,
.vector-menu-tabs-legacy,
.mw-portlet-views,
.mw-portlet-cactions {
  background: transparent !important;
}

.vector-menu-tabs li,
.vector-menu-tabs-legacy li {
  background: var(--vtm-onyx) !important;
  border: 1px solid var(--vtm-border) !important;
  border-bottom: none !important;
  border-radius: 4px 4px 0 0 !important;
  margin-right: 2px !important;
}

.vector-menu-tabs li a,
.vector-menu-tabs-legacy li a,
.mw-portlet-views a,
.mw-portlet-cactions a {
  color: var(--vtm-text-dim) !important;
  font-family: var(--vtm-font-title) !important;
  font-size: 0.82em !important;
}

.vector-menu-tabs li.selected,
.vector-menu-tabs-legacy li.selected {
  background: #1a0810 !important;
  border: 1px solid var(--vtm-blood) !important;
  border-top: 3px solid var(--vtm-blood-vivid) !important;
  border-bottom: none !important;
}

.vector-menu-tabs li.selected a,
.vector-menu-tabs-legacy li.selected a {
  color: #fff !important;
  font-weight: 700 !important;
}

/* Botões de ação do Vector 2022 */
.cdx-button,
.vector-menu-content-list a,
.mw-portlet-personal a {
  color: var(--vtm-text-dim) !important;
}

.cdx-button:hover {
  background: var(--vtm-charcoal) !important;
  color: var(--vtm-text) !important;
}

/* ==========================================================================
   6. BUSCA & BOTÃO "INVESTIGAR" (PRETO COM LETRA BRANCA DE ALTO CONTRASTE)
   ========================================================================== */
#simpleSearch,
.cdx-text-input__input,
.vector-search-box-input,
.cdx-search-input .cdx-text-input__input,
input[type="search"] {
  background: var(--vtm-onyx) !important;
  background-color: var(--vtm-onyx) !important;
  color: #ffffff !important;
  border: 1px solid var(--vtm-border-blood) !important;
  border-radius: 4px 0 0 4px !important;
}

#simpleSearch:focus-within,
.cdx-text-input__input:focus,
.vector-search-box-input:focus {
  border-color: var(--vtm-blood-vivid) !important;
  box-shadow: 0 0 10px var(--vtm-blood-glow) !important;
}

/* BOTÃO INVESTIGAR / BUSCA — PRETO PURO COM LETRA BRANCA DE ALTO CONTRASTE */
button.cdx-search-input__end-button,
.cdx-search-input__end-button,
.vector-search-box .cdx-button,
.vector-search-box-vue .cdx-button,
.vector-search-box-vue button,
.vector-search-box-input ~ button,
#searchform input[type="submit"],
#searchButton,
#mw-searchButton,
.searchButton,
.mw-searchButton,
input[name="go"],
input[name="fulltext"] {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  font-family: var(--vtm-font-title) !important;
  font-weight: 800 !important;
  font-size: 0.9em !important;
  letter-spacing: 0.7px !important;
  text-transform: uppercase !important;
  border: 1px solid var(--vtm-border-blood) !important;
  border-left: none !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 6px 16px !important;
  cursor: pointer !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.7) !important;
  transition: all 0.2s ease-in-out !important;
}

/* Garante texto branco em qualquer tag filha dentro do botão */
button.cdx-search-input__end-button *,
.cdx-search-input__end-button span,
.cdx-search-input__end-button .cdx-button__label,
.vector-search-box .cdx-button__label,
.vector-search-box-vue .cdx-button__label {
  color: #ffffff !important;
  font-weight: 800 !important;
}

/* Hover no botão Investigar */
button.cdx-search-input__end-button:hover,
.cdx-search-input__end-button:hover,
.vector-search-box .cdx-button:hover,
.vector-search-box-vue button:hover,
#searchform input[type="submit"]:hover,
#searchButton:hover,
#mw-searchButton:hover {
  background: #15151e !important;
  background-color: #15151e !important;
  color: #ff3b3b !important;
  border-color: var(--vtm-blood-vivid) !important;
  box-shadow: 0 0 12px rgba(201, 24, 43, 0.5) !important;
}

button.cdx-search-input__end-button:hover *,
.cdx-search-input__end-button:hover span {
  color: #ff3b3b !important;
}

/* Dropdown de sugestões de busca */
.cdx-menu,
.cdx-typeahead-search__menu,
.suggestions,
.vector-search-box-vue .cdx-menu {
  background: var(--vtm-onyx) !important;
  border: 1px solid var(--vtm-border) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.8) !important;
}

.cdx-menu-item,
.cdx-menu-item--enabled {
  background: transparent !important;
  color: var(--vtm-text) !important;
}

.cdx-menu-item--highlighted,
.cdx-menu-item:hover {
  background: var(--vtm-charcoal) !important;
}

/* ==========================================================================
   7. TABELAS GÓTICAS
   ========================================================================== */
table.wikitable {
  background: var(--vtm-onyx) !important;
  color: var(--vtm-text) !important;
  border: 1px solid var(--vtm-border-blood) !important;
  border-collapse: collapse !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.6) !important;
  width: 100% !important;
}

table.wikitable > tr > th,
table.wikitable > * > tr > th {
  background: linear-gradient(180deg, #38080f 0%, #1c0408 100%) !important;
  color: var(--vtm-gold) !important;
  font-family: var(--vtm-font-title) !important;
  font-size: 0.92em !important;
  letter-spacing: 0.5px !important;
  border: 1px solid var(--vtm-border-blood) !important;
  padding: 10px 14px !important;
}

table.wikitable > tr > td,
table.wikitable > * > tr > td {
  border: 1px solid #201c28 !important;
  padding: 8px 14px !important;
  background: transparent !important;
  color: var(--vtm-text) !important;
}

table.wikitable > tr:nth-child(even),
table.wikitable > * > tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.02) !important;
}

table.wikitable > tr:hover,
table.wikitable > * > tr:hover {
  background: rgba(201, 24, 43, 0.07) !important;
}

/* ==========================================================================
   8. TOC IN-PAGE, BLOCKQUOTE, HR, CODE
   ========================================================================== */
.toc, #toc, .mw-toc-wrapper {
  background: var(--vtm-onyx) !important;
  border: 1px solid var(--vtm-border-blood) !important;
  border-left: 4px solid var(--vtm-blood) !important;
  border-radius: 4px !important;
  padding: 12px 18px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.7) !important;
}

.toctitle h2, #toctitle h2 {
  font-family: var(--vtm-font-title) !important;
  color: var(--vtm-gold) !important;
  border-bottom: none !important;
}

blockquote, .mw-parser-output blockquote {
  background: linear-gradient(90deg, rgba(77, 10, 18, 0.35) 0%, rgba(16, 16, 21, 0.75) 100%) !important;
  border-left: 4px solid var(--vtm-blood-vivid) !important;
  border-radius: 0 4px 4px 0 !important;
  color: #dfdbd3 !important;
  font-style: italic !important;
  padding: 14px 20px !important;
  margin: 1.4em 0 !important;
}

hr {
  border: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, var(--vtm-blood) 30%, var(--vtm-blood-vivid) 50%, var(--vtm-blood) 70%, transparent 100%) !important;
  margin: 2em 0 !important;
}

code, pre, .mw-code {
  background: #0a0a0f !important;
  color: #e5b07b !important;
  border: 1px solid #2d181c !important;
  border-radius: 3px !important;
}

/* ==========================================================================
   9. INFOBOX & COMPONENTES VTM
   ========================================================================== */
.vtm-infobox {
  float: right;
  clear: right;
  width: 320px;
  max-width: 100%;
  background: var(--vtm-onyx);
  border: 1px solid var(--vtm-border-blood);
  box-shadow: 0 8px 30px rgba(0,0,0,0.8), 0 0 1px var(--vtm-blood);
  border-radius: 4px;
  margin: 0 0 1.5em 1.5em;
  padding: 0;
  overflow: hidden;
}

.vtm-infobox-header {
  background: linear-gradient(135deg, #4d0a12 0%, #1c0306 100%);
  color: #f7e6c4;
  font-family: var(--vtm-font-title);
  font-size: 1.25em;
  font-weight: 700;
  text-align: center;
  padding: 12px 16px;
  border-bottom: 2px solid var(--vtm-blood-vivid);
  text-shadow: 0 0 10px rgba(201, 24, 43, 0.6);
  letter-spacing: 1px;
}

.vtm-infobox-subheader {
  background: #101016;
  color: var(--vtm-gold);
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  padding: 6px 12px;
  border-bottom: 1px solid var(--vtm-border);
}

.vtm-infobox-image {
  text-align: center;
  padding: 12px;
  background: #0d0d12;
  border-bottom: 1px solid var(--vtm-border-blood);
}

.vtm-infobox-image img {
  border-radius: 3px;
  border: 1px solid rgba(197, 160, 89, 0.3);
  box-shadow: 0 4px 15px rgba(0,0,0,0.7);
}

.vtm-infobox-section {
  background: #1f080c;
  color: #ffb3b3;
  font-family: var(--vtm-font-title);
  font-size: 0.9em;
  font-weight: 700;
  padding: 6px 12px;
  border-top: 1px solid var(--vtm-border-blood);
  border-bottom: 1px solid var(--vtm-border-blood);
}

.vtm-infobox-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: 0.9em;
}

.vtm-infobox-label {
  font-weight: 600;
  color: var(--vtm-text-dim);
}

.vtm-infobox-data {
  text-align: right;
  color: var(--vtm-text);
}

/* ==========================================================================
   10. PAINEL "APPEARANCE" DO VECTOR 2022
   ========================================================================== */
.vector-settings,
.vector-settings .cdx-label,
.vector-appearance,
.vector-pinnable-header,
.vector-pinnable-header-label,
.cdx-radio__label {
  background: var(--vtm-onyx) !important;
  color: var(--vtm-text-dim) !important;
}

.vector-pinnable-header {
  border-bottom: 1px solid var(--vtm-border) !important;
}

/* ==========================================================================
   11. PÁGINAS ESPECIAIS, FORMULÁRIOS & DIFF
   ========================================================================== */
.mw-special-pages,
.mw-sp-pages-list,
#mw-subcategories,
.mw-changeslist,
.mw-pager-navigation-bar {
  color: var(--vtm-text) !important;
}

fieldset, legend {
  border-color: var(--vtm-border) !important;
  color: var(--vtm-text) !important;
}

input, textarea, select {
  background: var(--vtm-onyx) !important;
  color: var(--vtm-text) !important;
  border: 1px solid var(--vtm-border) !important;
}

/* Edição de artigos */
.mw-editform textarea,
#wpTextbox1,
.ve-ui-surface {
  background: var(--vtm-obsidian) !important;
  color: var(--vtm-text) !important;
  border: 1px solid var(--vtm-border) !important;
}

/* Diff */
.diff-deletedline {
  background: rgba(139, 0, 0, 0.2) !important;
  border-color: var(--vtm-blood) !important;
}

.diff-addedline {
  background: rgba(0, 100, 0, 0.2) !important;
  border-color: #1a5c1a !important;
}

.diff-context {
  background: var(--vtm-obsidian) !important;
  color: var(--vtm-text-dim) !important;
}

td.diff-marker {
  color: var(--vtm-text-dim) !important;
}

/* ==========================================================================
   12. SCROLLBAR
   ========================================================================== */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--vtm-void);
}

::-webkit-scrollbar-thumb {
  background: #2e1015;
  border-radius: 5px;
  border: 2px solid var(--vtm-void);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--vtm-blood-vivid);
}

/* Firefox scrollbar */
* {
  scrollbar-color: #2e1015 var(--vtm-void);
  scrollbar-width: thin;
}

/* ==========================================================================
   13. CATCH-ALL: QUALQUER FUNDO BRANCO RESIDUAL
   ========================================================================== */
.skin-vector .mw-body,
.skin-vector-2022 .mw-body,
.skin-vector-2022 .mw-page-container,
.skin-vector-2022 .vector-column-start,
.skin-vector-2022 .vector-body,
.skin-vector-2022 #bodyContent,
.skin-vector-2022 .mw-content-container,
.skin-vector-2022 #content,
.skin-vector-2022 .mw-body-content,
div.mw-page-container,
div.mw-body,
div#content,
div#bodyContent,
div.mw-content-container {
  background: var(--vtm-obsidian) !important;
  background-color: var(--vtm-obsidian) !important;
  color: var(--vtm-text) !important;
}

/* Último recurso: força escuro em todo elemento de nível bloco com bg branco/claro */
body[class*="vector"] * {
  border-color: var(--vtm-border) !important;
}