Diferencia entre revisiones de «MediaWiki:Vector.css»

paleta HDV reforzada
responsive mobile HDV
Línea 1: Línea 1:
/* Hub De Vors — MediaWiki Common.css (paleta portal) */
/* Hub De Vors — MediaWiki Common.css (paleta portal + mobile-first) */
:root {
:root {
   --hdv-bg: #0c0c14;
   --hdv-bg: #0c0c14;
Línea 16: Línea 16:
   --hdv-blue: #22d3ee;
   --hdv-blue: #22d3ee;
   --hdv-radius: 8px;
   --hdv-radius: 8px;
  --hdv-touch: 44px;
}
}


Línea 34: Línea 35:
.vector-page-toolbar,
.vector-page-toolbar,
.vector-sticky-header,
.vector-sticky-header,
.mw-sidebar-container {
.mw-sidebar-container,
.skin-minerva,
.skin-minerva .mw-body,
.skin-minerva #content,
.skin-minerva .content,
.minerva-header,
.minerva__body {
   background: var(--hdv-bg) !important;
   background: var(--hdv-bg) !important;
   color: var(--hdv-text) !important;
   color: var(--hdv-text) !important;
Línea 41: Línea 48:
.mw-page-container,
.mw-page-container,
.mw-body,
.mw-body,
#content {
#content,
.skin-minerva .mw-body {
   background:
   background:
     radial-gradient(ellipse at 20% 0%, rgba(32, 240, 138, 0.08), transparent 42%),
     radial-gradient(ellipse at 20% 0%, rgba(32, 240, 138, 0.08), transparent 42%),
Línea 48: Línea 56:
}
}


/* Links — forzar esmeralda sobre azul Vector */
/* Links — forzar esmeralda sobre azul Vector/Minerva */
.mw-parser-output a,
.mw-parser-output a,
.mw-parser-output a:link,
.mw-parser-output a:link,
Línea 57: Línea 65:
.cdx-menu a,
.cdx-menu a,
a.external,
a.external,
a.hdv-card {
a.hdv-card,
.skin-minerva a,
.skin-minerva .content a {
   color: var(--hdv-primary) !important;
   color: var(--hdv-primary) !important;
   text-decoration-color: rgba(32, 240, 138, 0.45) !important;
   text-decoration-color: rgba(32, 240, 138, 0.45) !important;
Línea 71: Línea 81:
   text-decoration: none !important;
   text-decoration: none !important;
   color: var(--hdv-text) !important;
   color: var(--hdv-text) !important;
  min-height: var(--hdv-touch);
  box-sizing: border-box;
}
}


Línea 84: Línea 96:
}
}


.hdv-grid {
.hdv-grid,
.mw-parser-output .hdv-grid {
   display: grid !important;
   display: grid !important;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
   grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
   gap: 12px !important;
   gap: 12px !important;
   margin: 1rem 0 1.5rem !important;
   margin: 1rem 0 1.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
}
}


Línea 95: Línea 110:
html.skin-theme-clientpref-night body,
html.skin-theme-clientpref-night body,
.skin-theme-clientpref-night .mw-page-container,
.skin-theme-clientpref-night .mw-page-container,
.skin-theme-clientpref-night .mw-body {
.skin-theme-clientpref-night .mw-body,
html.skin-theme-clientpref-os,
.skin-minerva.theme-dark,
.skin-minerva {
   background: var(--hdv-bg) !important;
   background: var(--hdv-bg) !important;
   color: var(--hdv-text) !important;
   color: var(--hdv-text) !important;
Línea 102: Línea 120:
h1, h2, h3, h4, h5, h6,
h1, h2, h3, h4, h5, h6,
.firstHeading,
.firstHeading,
.mw-heading {
.mw-heading,
.skin-minerva .page-heading,
.skin-minerva h1,
.skin-minerva h2 {
   color: var(--hdv-primary-glow) !important;
   color: var(--hdv-primary-glow) !important;
   border-color: rgba(32, 240, 138, 0.28) !important;
   border-color: rgba(32, 240, 138, 0.28) !important;
   font-weight: 700;
   font-weight: 700;
  overflow-wrap: anywhere;
  word-break: break-word;
}
}


Línea 111: Línea 134:
.mw-parser-output,
.mw-parser-output,
#mw-content-text p,
#mw-content-text p,
.vector-body {
.vector-body,
.skin-minerva .content p {
   color: var(--hdv-text) !important;
   color: var(--hdv-text) !important;
   line-height: 1.65;
   line-height: 1.65;
Línea 121: Línea 145:
.mw-parser-output table.wikitable,
.mw-parser-output table.wikitable,
.mw-parser-output .toc,
.mw-parser-output .toc,
.mw-parser-output .mw-headline-box {
.mw-parser-output .mw-headline-box,
.skin-minerva table.wikitable {
   background: rgba(20, 25, 39, 0.88) !important;
   background: rgba(20, 25, 39, 0.88) !important;
   border: 1px solid var(--hdv-line) !important;
   border: 1px solid var(--hdv-line) !important;
Línea 128: Línea 153:
}
}


.mw-parser-output table.wikitable > * > tr > th {
.mw-parser-output table.wikitable > * > tr > th,
.skin-minerva table.wikitable th {
   background: rgba(32, 240, 138, 0.12) !important;
   background: rgba(32, 240, 138, 0.12) !important;
   color: var(--hdv-primary-glow) !important;
   color: var(--hdv-primary-glow) !important;
Línea 134: Línea 160:
}
}


.mw-parser-output table.wikitable > * > tr > td {
.mw-parser-output table.wikitable > * > tr > td,
.skin-minerva table.wikitable td {
   border-color: var(--hdv-line) !important;
   border-color: var(--hdv-line) !important;
   background: transparent !important;
   background: transparent !important;
Línea 150: Línea 177:
   border-color: var(--hdv-line) !important;
   border-color: var(--hdv-line) !important;
   border-radius: 4px;
   border-radius: 4px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 100%;
}
}


Línea 162: Línea 192:
}
}


.mw-parser-output .hdv-hero {
.mw-parser-output .hdv-hero,
.hdv-hero {
   padding: 1.4rem 1.5rem;
   padding: 1.4rem 1.5rem;
   margin: 0 0 1.4rem;
   margin: 0 0 1.4rem;
Línea 170: Línea 201:
}
}


.mw-parser-output .hdv-grid {
.mw-parser-output .hdv-card,
  display: grid;
.hdv-card {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin: 1rem 0 1.5rem;
}
 
.mw-parser-output .hdv-card {
   display: block;
   display: block;
   padding: 1rem 1.1rem;
   padding: 1rem 1.1rem;
Línea 188: Línea 213:
}
}


.mw-parser-output .hdv-card:hover {
.mw-parser-output .hdv-card:hover,
a.hdv-card:hover {
   border-color: var(--hdv-primary);
   border-color: var(--hdv-primary);
   transform: translateY(-1px);
   transform: translateY(-1px);
Línea 219: Línea 245:
   border-radius: var(--hdv-radius);
   border-radius: var(--hdv-radius);
   background: rgba(20, 25, 39, 0.75);
   background: rgba(20, 25, 39, 0.75);
}
.mw-parser-output .hdv-boss img,
.mw-parser-output img,
.skin-minerva .content img {
  max-width: 100% !important;
  height: auto !important;
  image-rendering: pixelated;
  border-radius: 6px;
}
}


.mw-parser-output .hdv-boss img {
.mw-parser-output .hdv-boss img {
   width: 100%;
   width: 100%;
  image-rendering: pixelated;
  border-radius: 6px;
   background: #050806;
   background: #050806;
   border: 1px solid rgba(32, 240, 138, 0.18);
   border: 1px solid rgba(32, 240, 138, 0.18);
}
@media (max-width: 720px) {
  .mw-parser-output .hdv-boss {
    grid-template-columns: 1fr;
  }
}
}


Línea 241: Línea 268:
.mw-portlet,
.mw-portlet,
#p-logo,
#p-logo,
.mw-footer {
.mw-footer,
.minerva-header,
.minerva-footer {
   background: var(--hdv-surface) !important;
   background: var(--hdv-surface) !important;
   color: var(--hdv-text) !important;
   color: var(--hdv-text) !important;
Línea 247: Línea 276:
}
}


input, select, textarea, .oo-ui-inputWidget-input, .cdx-text-input__input {
input, select, textarea, .oo-ui-inputWidget-input, .cdx-text-input__input,
.skin-minerva input,
.skin-minerva .search {
   background: var(--hdv-surface-2) !important;
   background: var(--hdv-surface-2) !important;
   color: var(--hdv-text) !important;
   color: var(--hdv-text) !important;
   border-color: var(--hdv-line) !important;
   border-color: var(--hdv-line) !important;
  font-size: 16px !important; /* evita zoom iOS */
}
}


Línea 256: Línea 288:
.cdx-button--action-progressive,
.cdx-button--action-progressive,
#searchButton,
#searchButton,
.searchButton {
.searchButton,
.skin-minerva .mw-ui-button.mw-ui-progressive {
   background: var(--hdv-primary) !important;
   background: var(--hdv-primary) !important;
   color: var(--hdv-primary-ink) !important;
   color: var(--hdv-primary-ink) !important;
   border-color: var(--hdv-primary) !important;
   border-color: var(--hdv-primary) !important;
   font-weight: 700;
   font-weight: 700;
  min-height: var(--hdv-touch);
}
}


Línea 273: Línea 307:
#footer-places,
#footer-places,
#footer-icons,
#footer-icons,
.mw-footer li {
.mw-footer li,
.minerva-footer {
   color: var(--hdv-faint) !important;
   color: var(--hdv-faint) !important;
}
/* Tablas: scroll horizontal en lugar de romper el layout */
.mw-parser-output .wikitable,
.skin-minerva .wikitable {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.mw-parser-output,
.mw-body-content,
.skin-minerva .content,
.skin-minerva .mw-parser-output {
  overflow-x: hidden;
  max-width: 100%;
}
.mw-parser-output > *,
.skin-minerva .content > * {
  max-width: 100%;
}
/* =========================
  RESPONSIVE — tablet
  ========================= */
@media (max-width: 960px) {
  .mw-parser-output .hdv-grid,
  .hdv-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .firstHeading,
  .mw-heading h1 {
    font-size: 1.55rem !important;
    line-height: 1.25 !important;
  }
}
/* =========================
  RESPONSIVE — móvil
  ========================= */
@media (max-width: 720px) {
  .mw-parser-output .hdv-boss {
    grid-template-columns: 1fr;
  }
  .mw-parser-output .hdv-grid,
  .hdv-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .mw-parser-output .hdv-hero,
  .hdv-hero {
    padding: 1rem 0.95rem;
    margin-bottom: 1rem;
    border-left-width: 3px;
  }
  a.hdv-card,
  .mw-parser-output .hdv-card {
    padding: 0.95rem 1rem !important;
  }
  .mw-body-content,
  .mw-parser-output,
  .skin-minerva .content {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }
  .firstHeading,
  .page-heading h1,
  .mw-heading h1 {
    font-size: 1.35rem !important;
    padding-right: 0.25rem;
  }
  .mw-parser-output .hdv-kicker {
    font-size: 0.72rem;
  }
  /* Vector: contenido a ancho útil en móvil */
  .mw-page-container,
  .mw-content-container,
  .vector-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .mw-body,
  #content,
  .mw-body-content {
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
  }
  /* TOC / menus no empujan el contenido */
  .vector-toc,
  .vector-column-start {
    max-width: 100%;
  }
  .mw-parser-output ol.hdv-steps,
  .mw-parser-output .hdv-steps {
    padding-left: 1.15rem;
  }
  .mw-parser-output table.wikitable th,
  .mw-parser-output table.wikitable td,
  .skin-minerva table.wikitable th,
  .skin-minerva table.wikitable td {
    font-size: 0.9rem;
    padding: 0.55rem 0.6rem !important;
    white-space: normal;
  }
  /* Imágenes de bosses a tamaño legible en móvil */
  .mw-parser-output a.image img,
  .mw-parser-output .thumbinner,
  .skin-minerva .thumbinner {
    max-width: 100% !important;
  }
  .mw-parser-output .thumb {
    margin: 0.6rem 0 !important;
    float: none !important;
    width: 100% !important;
  }
}
/* =========================
  RESPONSIVE — móvil estrecho
  ========================= */
@media (max-width: 420px) {
  .mw-body,
  #content,
  .mw-body-content,
  .skin-minerva .mw-body,
  .skin-minerva .content {
    padding-left: 0.7rem !important;
    padding-right: 0.7rem !important;
  }
  .firstHeading,
  .page-heading h1 {
    font-size: 1.22rem !important;
  }
  a.hdv-card strong {
    font-size: 1.02rem;
  }
}
/* Minerva: barra superior y overlays HDV */
.skin-minerva .header-container,
.skin-minerva .minerva-header,
.skin-minerva .overlay,
.skin-minerva .menu,
.skin-minerva .drawer {
  background: var(--hdv-surface) !important;
  color: var(--hdv-text) !important;
  border-color: var(--hdv-line) !important;
}
.skin-minerva .branding-box,
.skin-minerva .mw-logo-wordmark,
.skin-minerva .last-modified-bar {
  color: var(--hdv-muted) !important;
}
.skin-minerva .page-actions-menu__list-item a,
.skin-minerva .toggle-list-item__label {
  color: var(--hdv-text) !important;
  min-height: var(--hdv-touch);
}
/* Safe area (notch / home indicator) */
@supports (padding: max(0px)) {
  .skin-minerva .minerva-header,
  .vector-header-container {
    padding-left: max(0.5rem, env(safe-area-inset-left));
    padding-right: max(0.5rem, env(safe-area-inset-right));
  }
  .skin-minerva .mw-body,
  .mw-body {
    padding-bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  }
}
}