Jump to content

Template:OOOInfoBox/styles.css: Difference between revisions

From Out of Ore Wiki
No edit summary
No edit summary
Line 1: Line 1:
/* Night-mode safe + TemplateStyles-friendly */
/* OOO infobox — TemplateStyles + night-mode friendly
  - Uses skin tokens with fallbacks
  - Sets color whenever background is set
  - Keeps border colors as literals to avoid TemplateStyles color warnings
*/


/* Base box */
.ooo-infobox {
.ooo-infobox {
   width: 340px;
   width: 340px;
   border-width: 1px;
   border-width: 1px;
   border-style: solid;
   border-style: solid;
   border-color: #a2a9b1; /* <-- no var() here */
   border-color: #a2a9b1; /* literal to avoid linter warning */
   border-collapse: separate;
   border-collapse: separate;
   border-spacing: 0;
   border-spacing: 0;
   background: var(--background-color-base,#ffffff);
   background: var(--background-color-base, #ffffff);
   color: var(--color-base,#202122);
   color: var(--color-base, #202122);
   font-size: 90%;
   font-size: 90%;
   box-shadow: 0 2px 10px rgba(0,0,0,.08);
   box-shadow: 0 2px 10px rgba(0,0,0,.08);
Line 16: Line 21:
}
}


/* Links */
/* Links (optional; remove to let skin handle them) */
.ooo-infobox a { color: var(--color-progressive,#36c); }
.ooo-infobox a { color: var(--color-progressive, #36c); }
.ooo-infobox a:hover { color: var(--color-progressive--hover,#447ff5); }
.ooo-infobox a:hover { color: var(--color-progressive--hover, #447ff5); }


/* Title bar */
/* Title bar */
Line 26: Line 31:
   font-size: 112%;
   font-size: 112%;
   letter-spacing: .2px;
   letter-spacing: .2px;
   background: var(--background-color-neutral,#f5f5f5);
   background: var(--background-color-neutral, #f5f5f5);
   color: #cea141; /* NMC accent */
   color: #cea141; /* NMC accent */
   padding: 12px 10px;
   padding: 12px 10px;
   border-top: 1px solid #a2a9b1;    /* <-- plain color */
   border-top: 1px solid #a2a9b1;    /* literal */
   border-bottom: 1px solid #a2a9b1; /* <-- plain color */
   border-bottom: 1px solid #a2a9b1; /* literal */
}
}


Line 37: Line 42:
   text-align: center;
   text-align: center;
   padding: 12px;
   padding: 12px;
   background: var(--background-color-neutral-subtle,#f8f9fa);
   background: var(--background-color-neutral-subtle, #f8f9fa);
  color: var(--color-base, #202122);
}
}
.ooo-infobox .ooo-infobox__image img {
.ooo-infobox .ooo-infobox__image img {
Line 48: Line 54:
   text-align: center;
   text-align: center;
   font-style: italic;
   font-style: italic;
   color: var(--color-subtle,#54595d);
   color: var(--color-subtle, #54595d);
   padding: 8px 12px 12px;
   padding: 8px 12px 12px;
   line-height: 1.35;
   line-height: 1.35;
   background: var(--background-color-neutral-subtle,#f8f9fa);
   background: var(--background-color-neutral-subtle, #f8f9fa);
   border-bottom: 1px solid #a2a9b1; /* <-- plain color */
   border-bottom: 1px solid #a2a9b1; /* literal */
}
}


/* Rows */
/* Table rows/cells */
.ooo-infobox th,
.ooo-infobox th,
.ooo-infobox td {
.ooo-infobox td {
Line 64: Line 70:
   width: 46%;
   width: 46%;
   font-weight: 600;
   font-weight: 600;
   color: var(--color-emphasized,#101418);
   color: var(--color-emphasized, #101418);
}
}


/* Zebra striping */
/* Zebra striping (set color alongside background) */
.ooo-infobox tr:nth-child(even) td,
.ooo-infobox tr:nth-child(even) td,
.ooo-infobox tr:nth-child(even) th {
.ooo-infobox tr:nth-child(even) th {
   background: var(--background-color-neutral-subtle,#f8f9fa);
   background: var(--background-color-neutral-subtle, #f8f9fa);
  color: var(--color-base, #202122);
}
}


Line 78: Line 85:
   font-weight: 800;
   font-weight: 800;
   padding: 10px 12px;
   padding: 10px 12px;
   background: var(--background-color-neutral,#eaecf0);
   background: var(--background-color-neutral, #eaecf0);
   color: var(--color-base,#202122);
   color: var(--color-base, #202122);
   border-top: 1px solid #a2a9b1;    /* <-- plain color */
   border-top: 1px solid #a2a9b1;    /* literal */
   border-bottom: 1px solid #a2a9b1; /* <-- plain color */
   border-bottom: 1px solid #a2a9b1; /* literal */
}
}


/* Helper text */
/* Helper text */
.ooo-infobox .ooo-infobox__muted {
.ooo-infobox .ooo-infobox__muted {
   color: var(--color-subtle,#54595d);
   color: var(--color-subtle, #54595d);
}
}


/* Dark-mode border tweaks (no vars in border colors) */
/* --------- Night mode: forced (explicit user toggle) ---------
  Wrapped in @media screen to avoid affecting print styles.
*/
@media screen {
  html.skin-theme-clientpref-night .ooo-infobox {
    border-color: #3a3a3a; /* literals for borders */
    background: var(--background-color-base, #1b1b1d);
    color: var(--color-base, #eaecf0);
  }
  html.skin-theme-clientpref-night .ooo-infobox a {
    color: var(--color-progressive, #6aa9ff);
  }
  html.skin-theme-clientpref-night .ooo-infobox a:hover {
    color: var(--color-progressive--hover, #8fbdff);
  }
 
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__title {
    background: var(--background-color-neutral, #252527);
    color: #cea141;
    border-top-color: #3a3a3a;
    border-bottom-color: #3a3a3a;
  }
 
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__image,
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-night .ooo-infobox tr:nth-child(even) td,
  html.skin-theme-clientpref-night .ooo-infobox tr:nth-child(even) th {
    background: var(--background-color-neutral-subtle, #222325);
    color: var(--color-base, #eaecf0);
  }
 
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-night .ooo-infobox__group th {
    border-bottom-color: #3a3a3a;
  }
 
  html.skin-theme-clientpref-night .ooo-infobox__group th {
    background: var(--background-color-neutral, #2a2b2e);
    color: var(--color-base, #eaecf0);
    border-top-color: #3a3a3a;
  }
 
  html.skin-theme-clientpref-night .ooo-infobox th {
    color: var(--color-emphasized, #f1f2f3);
  }
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__muted {
    color: var(--color-subtle, #a2a9b1);
  }
}
 
/* --------- Night mode: automatic (follow OS preference) --------- */
@media (prefers-color-scheme: dark) {
@media (prefers-color-scheme: dark) {
   .ooo-infobox { border-color: #3a3a3a; }
   html.skin-theme-clientpref-os .ooo-infobox {
   .ooo-infobox .ooo-infobox__title {
    border-color: #3a3a3a;
    background: var(--background-color-base, #1b1b1d);
    color: var(--color-base, #eaecf0);
  }
   html.skin-theme-clientpref-os .ooo-infobox a {
    color: var(--color-progressive, #6aa9ff);
  }
  html.skin-theme-clientpref-os .ooo-infobox a:hover {
    color: var(--color-progressive--hover, #8fbdff);
  }
 
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__title {
    background: var(--background-color-neutral, #252527);
    color: #cea141;
     border-top-color: #3a3a3a;
     border-top-color: #3a3a3a;
     border-bottom-color: #3a3a3a;
     border-bottom-color: #3a3a3a;
   }
   }
   .ooo-infobox .ooo-infobox__caption { border-bottom-color: #3a3a3a; }
 
   .ooo-infobox__group th {
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__image,
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-os .ooo-infobox tr:nth-child(even) td,
  html.skin-theme-clientpref-os .ooo-infobox tr:nth-child(even) th {
    background: var(--background-color-neutral-subtle, #222325);
    color: var(--color-base, #eaecf0);
  }
 
   html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-os .ooo-infobox__group th {
    border-bottom-color: #3a3a3a;
  }
 
   html.skin-theme-clientpref-os .ooo-infobox__group th {
    background: var(--background-color-neutral, #2a2b2e);
    color: var(--color-base, #eaecf0);
     border-top-color: #3a3a3a;
     border-top-color: #3a3a3a;
     border-bottom-color: #3a3a3a;
  }
 
  html.skin-theme-clientpref-os .ooo-infobox th {
     color: var(--color-emphasized, #f1f2f3);
  }
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__muted {
    color: var(--color-subtle, #a2a9b1);
   }
   }
}
}

Revision as of 06:50, 7 October 2025

/* OOO infobox — TemplateStyles + night-mode friendly
   - Uses skin tokens with fallbacks
   - Sets color whenever background is set
   - Keeps border colors as literals to avoid TemplateStyles color warnings
*/

/* Base box */
.ooo-infobox {
  width: 340px;
  border-width: 1px;
  border-style: solid;
  border-color: #a2a9b1; /* literal to avoid linter warning */
  border-collapse: separate;
  border-spacing: 0;
  background: var(--background-color-base, #ffffff);
  color: var(--color-base, #202122);
  font-size: 90%;
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
  border-radius: 12px;
  overflow: hidden;
}

/* Links (optional; remove to let skin handle them) */
.ooo-infobox a { color: var(--color-progressive, #36c); }
.ooo-infobox a:hover { color: var(--color-progressive--hover, #447ff5); }

/* Title bar */
.ooo-infobox .ooo-infobox__title {
  text-align: center;
  font-weight: 800;
  font-size: 112%;
  letter-spacing: .2px;
  background: var(--background-color-neutral, #f5f5f5);
  color: #cea141; /* NMC accent */
  padding: 12px 10px;
  border-top: 1px solid #a2a9b1;    /* literal */
  border-bottom: 1px solid #a2a9b1; /* literal */
}

/* Image region */
.ooo-infobox .ooo-infobox__image {
  text-align: center;
  padding: 12px;
  background: var(--background-color-neutral-subtle, #f8f9fa);
  color: var(--color-base, #202122);
}
.ooo-infobox .ooo-infobox__image img {
  max-width: 100%;
  height: auto;
}

/* Caption */
.ooo-infobox .ooo-infobox__caption {
  text-align: center;
  font-style: italic;
  color: var(--color-subtle, #54595d);
  padding: 8px 12px 12px;
  line-height: 1.35;
  background: var(--background-color-neutral-subtle, #f8f9fa);
  border-bottom: 1px solid #a2a9b1; /* literal */
}

/* Table rows/cells */
.ooo-infobox th,
.ooo-infobox td {
  padding: 9px 12px;
  vertical-align: top;
}
.ooo-infobox th {
  width: 46%;
  font-weight: 600;
  color: var(--color-emphasized, #101418);
}

/* Zebra striping (set color alongside background) */
.ooo-infobox tr:nth-child(even) td,
.ooo-infobox tr:nth-child(even) th {
  background: var(--background-color-neutral-subtle, #f8f9fa);
  color: var(--color-base, #202122);
}

/* Group headers */
.ooo-infobox__group th {
  text-align: center;
  font-weight: 800;
  padding: 10px 12px;
  background: var(--background-color-neutral, #eaecf0);
  color: var(--color-base, #202122);
  border-top: 1px solid #a2a9b1;    /* literal */
  border-bottom: 1px solid #a2a9b1; /* literal */
}

/* Helper text */
.ooo-infobox .ooo-infobox__muted {
  color: var(--color-subtle, #54595d);
}

/* --------- Night mode: forced (explicit user toggle) ---------
   Wrapped in @media screen to avoid affecting print styles.
*/
@media screen {
  html.skin-theme-clientpref-night .ooo-infobox {
    border-color: #3a3a3a; /* literals for borders */
    background: var(--background-color-base, #1b1b1d);
    color: var(--color-base, #eaecf0);
  }
  html.skin-theme-clientpref-night .ooo-infobox a {
    color: var(--color-progressive, #6aa9ff);
  }
  html.skin-theme-clientpref-night .ooo-infobox a:hover {
    color: var(--color-progressive--hover, #8fbdff);
  }

  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__title {
    background: var(--background-color-neutral, #252527);
    color: #cea141;
    border-top-color: #3a3a3a;
    border-bottom-color: #3a3a3a;
  }

  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__image,
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-night .ooo-infobox tr:nth-child(even) td,
  html.skin-theme-clientpref-night .ooo-infobox tr:nth-child(even) th {
    background: var(--background-color-neutral-subtle, #222325);
    color: var(--color-base, #eaecf0);
  }

  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-night .ooo-infobox__group th {
    border-bottom-color: #3a3a3a;
  }

  html.skin-theme-clientpref-night .ooo-infobox__group th {
    background: var(--background-color-neutral, #2a2b2e);
    color: var(--color-base, #eaecf0);
    border-top-color: #3a3a3a;
  }

  html.skin-theme-clientpref-night .ooo-infobox th {
    color: var(--color-emphasized, #f1f2f3);
  }
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__muted {
    color: var(--color-subtle, #a2a9b1);
  }
}

/* --------- Night mode: automatic (follow OS preference) --------- */
@media (prefers-color-scheme: dark) {
  html.skin-theme-clientpref-os .ooo-infobox {
    border-color: #3a3a3a;
    background: var(--background-color-base, #1b1b1d);
    color: var(--color-base, #eaecf0);
  }
  html.skin-theme-clientpref-os .ooo-infobox a {
    color: var(--color-progressive, #6aa9ff);
  }
  html.skin-theme-clientpref-os .ooo-infobox a:hover {
    color: var(--color-progressive--hover, #8fbdff);
  }

  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__title {
    background: var(--background-color-neutral, #252527);
    color: #cea141;
    border-top-color: #3a3a3a;
    border-bottom-color: #3a3a3a;
  }

  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__image,
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-os .ooo-infobox tr:nth-child(even) td,
  html.skin-theme-clientpref-os .ooo-infobox tr:nth-child(even) th {
    background: var(--background-color-neutral-subtle, #222325);
    color: var(--color-base, #eaecf0);
  }

  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-os .ooo-infobox__group th {
    border-bottom-color: #3a3a3a;
  }

  html.skin-theme-clientpref-os .ooo-infobox__group th {
    background: var(--background-color-neutral, #2a2b2e);
    color: var(--color-base, #eaecf0);
    border-top-color: #3a3a3a;
  }

  html.skin-theme-clientpref-os .ooo-infobox th {
    color: var(--color-emphasized, #f1f2f3);
  }
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__muted {
    color: var(--color-subtle, #a2a9b1);
  }
}

/* Responsive */
@media (max-width: 640px) {
  .ooo-infobox { width: 100%; }
}