Jump to content

MediaWiki:Common.css: Difference between revisions

From The Perfect Tower II
No edit summary
Replace the old Wikipedia copy with lean content styles on the TPT2 brand kit (tables, navboxes, hatnotes, code, legacy colour safety net).
Line 1: Line 1:
/* Reset italic styling set by user agent */
/* The Perfect Tower II wiki: content styles shared by every page.
cite, dfn {
*
font-style: inherit;
* Colours, type and sizes come from the TPT2 Community Brand Kit (--tpt-* tokens, loaded by the server
}
* before this page). Skin chrome lives in MediaWiki:Vector-2022.css; template layout lives in each
 
* template's /styles.css (TemplateStyles). Templates may also use the kit's classes directly:
/* Straight quote marks for <q> */
* tpt-card, tpt-callout, tpt-tag, tpt-chip, tpt-fac-<id>, tpt-num, tpt-infobox, tpt-table.
q {
*
quotes: '"' '"' "'" "'";
* Source: wiki repository, onwiki/MediaWiki/Common.css.
}
  */
 
/* Avoid collision of blockquote with floating elements by swapping margin and padding */
blockquote {
overflow: hidden;
margin: 1em 0;
padding: 0 40px;
}
 
/* give pre a float clearing new block formatting context */
/* Also break any really long words/urls to keep them visible in that case */
pre, .mw-code {
overflow-x: hidden;
overflow-wrap: break-word;
}
 
/* Consistent size for <small>, <sub> and <sup> */
small {
font-size: 85%;
}
.mw-body-content sub,
.mw-body-content sup,
span.reference /* for Parsoid */ {
font-size: 80%;
}
 
/* Same spacing for indented and unindented paragraphs on talk pages */
.ns-talk .mw-body-content dd {
margin-top: 0.4em;
margin-bottom: 0.4em;
}
 
/* Main page fixes */
#interwiki-completelist {
font-weight: bold;
}
 
/* Reduce page jumps by hiding collapsed/dismissed content */
.client-js .mw-special-Watchlist #watchlist-message,
.client-js .NavFrame.collapsed .NavContent,
.client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child) {
display: none;
}
 
/* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */
.mw-rcfilters-enabled .mw-specialpage-summary {
margin-top: 1em;
}
 
/* Hide charinsert base for those not using the gadget */
#editpage-specialchars {
display: none;
}
 
/* Highlight linked elements (such as clicked references) in blue */
body.action-info .mw-body-content :target,
.citation:target {
background-color: #def;  /* Fallback */
background-color: rgba(0, 127, 255, 0.133);
}
 
/* Styling for citations. Breaks long urls, etc., rather than overflowing box */
.citation {
word-wrap: break-word;
}
 
/* For linked citation numbers and document IDs, where the number need not be shown
  on a screen or a handheld, but should be included in the printed version */
@media screen, handheld {
.citation .printonly {
display: none;
}
}
 
/* Make the list of references smaller */
/* Keep in sync with Template:Refbegin/styles.css */
ol.references,
div.reflist {
font-size: 90%;            /* Default font-size */
margin-bottom: 0.5em;
}
div.reflist ol.references {
font-size: 100%;          /* Reset font-size when nested in div.reflist */
margin-bottom: 0;          /* Avoid double margin when nested in div.reflist */
list-style-type: inherit; /* Enable custom list style types */
}
 
/* Allow hidden ref errors to be shown by user CSS */
/* TemplateStyles */
span.brokenref {
display: none;
}
 
/* Reset top margin for lists embedded in columns */
div.columns {
margin-top: 0.3em;
}
div.columns dl,
div.columns ol,
div.columns ul {
margin-top: 0;
}


/* Avoid elements breaking between columns */
/* ---------- Lists ---------- */
.nocolbreak,
/* Horizontal lists (navboxes and templates). After mediawiki.org/wiki/Snippets/Horizontal_lists. */
div.columns li,
div.columns dd dd {
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid-column;
}
 
/* Style for horizontal lists (separator following item).
  @source mediawiki.org/wiki/Snippets/Horizontal_lists
  @revision 8 (2016-05-21)
  @author [[User:Edokter]]
*/
.hlist dl,
.hlist dl,
.hlist ol,
.hlist ol,
Line 130: Line 17:
padding: 0;
padding: 0;
}
}
/* Display list items inline */
 
.hlist dd,
.hlist dd,
.hlist dt,
.hlist dt,
Line 137: Line 24:
display: inline;
display: inline;
}
}
/* Display nested lists inline */
 
.hlist.inline,
.hlist.inline,
.hlist.inline dl,
.hlist.inline dl,
Line 147: Line 34:
display: inline;
display: inline;
}
}
/* Hide empty list items */
 
.hlist .mw-empty-li {
.hlist .mw-empty-li {
display: none;
display: none;
}
}
/* Generate interpuncts */
 
.hlist dt:after {
.hlist dt::after {
content: ": ";
content: ": ";
}
}
/**
 
* Note hlist style usage differd in
.hlist dd::after,
* the Minerva skin. Remember .hlist is a class defined in core as well! Please check Minerva desktop (and Minerva.css) when changing
.hlist li::after {
* See https://phabricator.wikimedia.org/T213239
content: " \00B7 ";
*/
.hlist dd:after,
.hlist li:after {
content: " · ";
font-weight: bold;
font-weight: bold;
color: var(--tpt-ink-subtle);
}
}
.hlist dd:last-child:after,
 
.hlist dt:last-child:after,
.hlist dd:last-child::after,
.hlist li:last-child:after {
.hlist dt:last-child::after,
.hlist li:last-child::after {
content: none;
content: none;
}
}
/* Add parentheses around nested lists */
 
.hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before,
.hlist dd dd:first-child::before, .hlist dd dt:first-child::before, .hlist dd li:first-child::before,
.hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before,
.hlist dt dd:first-child::before, .hlist dt dt:first-child::before, .hlist dt li:first-child::before,
.hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before {
.hlist li dd:first-child::before, .hlist li dt:first-child::before, .hlist li li:first-child::before {
content: " (";
content: " (";
font-weight: normal;
font-weight: normal;
}
}
.hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after,
 
.hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after,
.hlist dd dd:last-child::after, .hlist dd dt:last-child::after, .hlist dd li:last-child::after,
.hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after {
.hlist dt dd:last-child::after, .hlist dt dt:last-child::after, .hlist dt li:last-child::after,
.hlist li dd:last-child::after, .hlist li dt:last-child::after, .hlist li li:last-child::after {
content: ")";
content: ")";
font-weight: normal;
font-weight: normal;
}
}
/* Put ordinals in front of ordered list items */
 
.hlist ol {
.hlist ol {
counter-reset: listitem;
counter-reset: listitem;
}
}
.hlist ol > li {
.hlist ol > li {
counter-increment: listitem;
counter-increment: listitem;
}
}
.hlist ol > li:before {
 
.hlist ol > li::before {
content: " " counter(listitem) "\a0";
content: " " counter(listitem) "\a0";
}
.hlist dd ol > li:first-child:before,
.hlist dt ol > li:first-child:before,
.hlist li ol > li:first-child:before {
content: " (" counter(listitem) "\a0";
}
}


/* Unbulleted lists */
.plainlist ol,
.plainlist ol,
.plainlist ul {
.plainlist ul {
line-height: inherit;
line-height: inherit;
list-style: none none;
list-style: none;
margin: 0;
margin: 0;
}
}
.plainlist ol li,
.plainlist ol li,
.plainlist ul li {
.plainlist ul li {
Line 211: Line 94:
}
}


/* Default style for navigation boxes */
.nowrap,
.navbox {                    /* Navbox container style */
.nowraplinks a,
box-sizing: border-box;
.nowraplinks .selflink {
border: 1px solid #a2a9b1;
width: 100%;
clear: both;
font-size: 88%;
text-align: center;
padding: 1px;
margin: 1em auto 0;      /* Prevent preceding content from clinging to navboxes */
}
.navbox .navbox {
margin-top: 0;            /* No top margin for nested navboxes */
}
.navbox + .navbox {
margin-top: -1px;        /* Single pixel border between adjacent navboxes */
}
.navbox-inner,
.navbox-subgroup {
width: 100%;
}
.navbox-group,
.navbox-title,
.navbox-abovebelow {
padding: 0.25em 1em;      /* Title, group and above/below styles */
line-height: 1.5em;
text-align: center;
}
th.navbox-group {             /* Group style */
white-space: nowrap;
white-space: nowrap;
/* @noflip */
text-align: right;
}
.navbox,
.navbox-subgroup {
background-color: #fdfdfd; /* Background color */
}
.navbox-list {
line-height: 1.5em;
border-color: #fdfdfd;    /* Must match background color */
}
/* cell spacing for navbox cells */
tr + tr > .navbox-abovebelow,
tr + tr > .navbox-group,
tr + tr > .navbox-image,
tr + tr > .navbox-list {    /* Borders above 2nd, 3rd, etc. rows */
border-top: 2px solid #fdfdfd; /* Must match background color */
}
.navbox th,
.navbox-title {
background-color: #ccccff;      /* Level 1 color */
}
.navbox-abovebelow,
th.navbox-group,
.navbox-subgroup .navbox-title {
background-color: #ddddff;      /* Level 2 color */
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
background-color: #e6e6ff;      /* Level 3 color */
}
.navbox-even {
background-color: #f7f7f7;      /* Even row striping */
}
.navbox-odd {
background-color: transparent;  /* Odd row striping */
}
.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
padding: 0.125em 0;      /* Adjust hlist padding in navboxes */
}
}


/* Default styling for Navbar template */
.nowrap pre {
.navbar {
white-space: pre;
display: inline;
font-size: 88%;
font-weight: normal;
}
.navbar ul {
display: inline;
white-space: nowrap;
}
.mw-body-content .navbar ul {
line-height: inherit;
}
.navbar li {
word-spacing: -0.125em;
}
.navbar.mini li abbr[title] {
font-variant: small-caps;
border-bottom: none;
text-decoration: none;
cursor: inherit;
}
/* Navbar styling when nested in infobox and navbox */
.infobox .navbar {
font-size: 100%;
}
.navbox .navbar {
display: block;
font-size: 100%;
}
.navbox-title .navbar {
/* @noflip */
float: left;
/* @noflip */
text-align: left;
/* @noflip */
margin-right: 0.5em;
}
}


/* Styling for JQuery makeCollapsible, matching that of collapseButton */
.wrap,
.mw-parser-output .mw-collapsible-toggle {
.wraplinks a {
font-weight: normal;
white-space: normal;
/* @noflip */
text-align: right;
padding-right: 0.2em;
padding-left: 0.2em;
}
.mw-collapsible-leftside-toggle .mw-collapsible-toggle {
/* @noflip */
float: left;
/* @noflip */
text-align: left;
}
}


/* Infobox template style */
/* ---------- Tables ---------- */
.infobox {
/* Wikitables take the kit's table look (.tpt-table): surface ground, uppercase header labels. */
border: 1px solid #a2a9b1;
.mw-parser-output table.wikitable,
border-spacing: 3px;
.mw-parser-output table.toccolours {
background-color: #f8f9fa;
background: var(--tpt-surface);
color: black;
color: var(--tpt-ink);
/* @noflip */
border: 1px solid var(--tpt-line);
margin: 0.5em 0 0.5em 1em;
padding: 0.2em;
/* @noflip */
float: right;
/* @noflip */
clear: right;
font-size: 88%;
line-height: 1.5em;
}
.infobox caption {
font-size: 125%;
font-weight: bold;
padding: 0.2em;
text-align: center;
}
.infobox td,
.infobox th {
vertical-align: top;
/* @noflip */
text-align: left;
}
.infobox.bordered {
border-collapse: collapse;
border-collapse: collapse;
}
border-radius: 0;
.infobox.bordered td,
font-size: 15px;
.infobox.bordered th {
line-height: 22px;
border: 1px solid #a2a9b1;
margin: 1em 0;
}
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
border: 0;
}
}


.infobox.sisterproject {
.mw-parser-output table.wikitable > * > tr > th,
width: 20em;
.mw-parser-output table.wikitable > * > tr > td,
font-size: 90%;
.mw-parser-output table.toccolours > * > tr > th,
.mw-parser-output table.toccolours > * > tr > td {
border: 1px solid var(--tpt-line);
padding: 8px 12px;
}
}


.infobox.standard-talk {
.mw-parser-output table.wikitable > * > tr > th,
border: 1px solid #c0c090;
.mw-parser-output table.toccolours > * > tr > th {
background-color: #f8eaba;
background: var(--tpt-surface-alt);
}
color: var(--tpt-ink);
.infobox.standard-talk.bordered td,
font-family: var(--tpt-font-heading);
.infobox.standard-talk.bordered th {
font-weight: 500;
border: 1px solid #c0c090;
font-size: 13px;
line-height: 17px;
letter-spacing: .06em;
text-transform: uppercase;
border-bottom: 2px solid var(--tpt-line-strong);
}
}


/* styles for bordered infobox with merged rows */
.mw-parser-output table.wikitable > caption {
.infobox.bordered .mergedtoprow td,
font-family: var(--tpt-font-heading);
.infobox.bordered .mergedtoprow th {
font-weight: 500;
border: 0;
font-size: 17px;
border-top: 1px solid #a2a9b1;
letter-spacing: .02em;
/* @noflip */
text-align: left;
border-right: 1px solid #a2a9b1;
padding: 8px 0;
}
color: var(--tpt-ink);
 
.infobox.bordered .mergedrow td,
.infobox.bordered .mergedrow th {
border: 0;
/* @noflip */
border-right: 1px solid #a2a9b1;
}
 
/* Styles for geography infoboxes, eg countries,
  country subdivisions, cities, etc.            */
.infobox.geography {
border-collapse: collapse;
line-height: 1.2em;
font-size: 90%;
}
 
.infobox.geography  td,
.infobox.geography  th {
border-top: 1px solid #a2a9b1;
padding: 0.4em 0.6em 0.4em 0.6em;
}
.infobox.geography .mergedtoprow td,
.infobox.geography .mergedtoprow th {
border-top: 1px solid #a2a9b1;
padding: 0.4em 0.6em 0.2em 0.6em;
}
}


.infobox.geography .mergedrow td,
/* Row headers (scope=row) read like body text, not like column labels. */
.infobox.geography .mergedrow th {
.mw-parser-output table.wikitable > * > tr > th[scope="row"] {
border: 0;
text-transform: none;
padding: 0 0.6em 0.2em 0.6em;
letter-spacing: 0;
font-size: 15px;
border-bottom-width: 1px;
}
}


.infobox.geography .mergedbottomrow td,
.mw-parser-output table.wikitable > tbody > tr:hover > td {
.infobox.geography .mergedbottomrow th {
background: color-mix(in srgb, var(--tpt-surface-alt) 55%, var(--tpt-surface));
border-top: 0;
border-bottom: 1px solid #a2a9b1;
padding: 0 0.6em 0.4em 0.6em;
}
}


.infobox.geography .maptable td,
.mw-parser-output table.wikitable td ul,
.infobox.geography .maptable th {
.mw-parser-output table.wikitable td ol,
border: 0;
.mw-parser-output table.wikitable td dl {
padding: 0;
}
 
/* Normal font styling for wikitable row headers with scope="row" tag */
.wikitable.plainrowheaders th[scope=row] {
font-weight: normal;
/* @noflip */
text-align: left;
text-align: left;
}
}


/* Lists in wikitable data cells are always left-aligned */
/* Sortable headers: keep the sort arrows visible on dark grounds. */
.wikitable td ul,
.mw-parser-output table.jquery-tablesorter th.headerSort {
.wikitable td ol,
background-color: var(--tpt-surface-alt);
.wikitable td dl {
/* @noflip */
text-align: left;
}
/* ...unless they also use the hlist class */
.toc.hlist ul,
#toc.hlist ul,
.wikitable.hlist td ul,
.wikitable.hlist td ol,
.wikitable.hlist td dl {
text-align: inherit;
}
}


/* Icons for medialist templates [[Template:Listen]],
/* Long tables keep their header row in view. */
  [[Template:Multi-listen_start]], [[Template:Video]],
.mw-parser-output table.sortable > thead > tr > th {
  [[Template:Multi-video_start]] */
position: sticky;
/* TemplateStyles */
top: 0;
div.listenlist {
z-index: 1;
background: url("//upload.wikimedia.org/wikipedia/commons/4/47/Sound-icon.svg") no-repeat scroll 0 0 transparent;
background-size: 30px;
padding-left: 40px;
}
}


/* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */
/* Phones: wide tables scroll inside their own box instead of the page. */
table.mw-hiero-table td {
@media screen and (max-width: 719px) {
vertical-align: middle;
.mw-parser-output table.wikitable {
}
display: block;
overflow-x: auto;
max-width: 100%;
-webkit-overflow-scrolling: touch;
}


/* Change the external link icon to an Adobe icon for all PDF files */
.mw-parser-output table.wikitable[style*="float"] {
.mw-parser-output a[href$=".pdf"].external,
float: none !important;
.mw-parser-output a[href*=".pdf?"].external,
margin-left: 0 !important;
.mw-parser-output a[href*=".pdf#"].external,
}
.mw-parser-output a[href$=".PDF"].external,
.mw-parser-output a[href*=".PDF?"].external,
.mw-parser-output a[href*=".PDF#"].external {
background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right;
/* @noflip */
padding-right: 18px;
}
}


/* Messagebox templates */
/* ---------- Navboxes (Module:Navbox output) ---------- */
.messagebox {
.navbox {
border: 1px solid #a2a9b1;
box-sizing: border-box;
background-color: #f8f9fa;
border: 1px solid var(--tpt-line);
width: 80%;
border-radius: var(--tpt-radius-2);
margin: 0 auto 1em auto;
padding: .2em;
}
.messagebox.merge {
border: 1px solid #c0b8cc;
background-color: #f0e5ff;
text-align: center;
}
.messagebox.cleanup {
border: 1px solid #9f9fff;
background-color: #efefff;
text-align: center;
}
.messagebox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
margin: 4px auto;
}
/* For old WikiProject banners inside banner shells. */
.mbox-inside .standard-talk,
.messagebox.nested-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
width: 100%;
width: 100%;
margin: 2px 0;
padding: 2px;
}
.messagebox.small {
width: 238px;
font-size: 85%;
/* @noflip */
float: right;
clear: both;
/* @noflip */
margin: 0 0 1em 1em;
line-height: 1.25em;
}
.messagebox.small-talk {
width: 238px;
font-size: 85%;
/* @noflip */
float: right;
clear: both;
clear: both;
/* @noflip */
font-size: 14px;
margin: 0 0 1em 1em;
line-height: 22px;
line-height: 1.25em;
background-color: #f8eaba;
}
 
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */
th.mbox-text, td.mbox-text {  /* The message body cell(s) */
border: none;
/* @noflip */
padding: 0.25em 0.9em;    /* 0.9em left/right */
width: 100%;              /* Make all mboxes the same width regardless of text length */
}
td.mbox-image {                /* The left image cell */
border: none;
/* @noflip */
padding: 2px 0 2px 0.9em;  /* 0.9em left, 0px right */
text-align: center;
}
td.mbox-imageright {          /* The right image cell */
border: none;
/* @noflip */
padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */
text-align: center;
text-align: center;
}
td.mbox-empty-cell {          /* An empty narrow cell */
border: none;
padding: 0;
padding: 0;
width: 1px;
margin: 2em auto 0;
background: var(--tpt-surface);
overflow: hidden;
}
}


/* Article message box styles */
.navbox .navbox {
table.ambox {
margin-top: 0;
margin: 0 10%;                  /* 10% = Will not overlap with other elements */
border: 0;
border: 1px solid #a2a9b1;
border-radius: 0;
/* @noflip */
border-left: 10px solid #36c;  /* Default "notice" blue */
background-color: #fbfbfb;
box-sizing: border-box;
}
table.ambox + table.ambox {     /* Single border between stacked boxes. */
margin-top: -1px;
}
.ambox th.mbox-text,
.ambox td.mbox-text {            /* The message body cell(s) */
padding: 0.25em 0.5em;       /* 0.5em left/right */
}
.ambox td.mbox-image {          /* The left image cell */
/* @noflip */
padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */
}
.ambox td.mbox-imageright {      /* The right image cell */
/* @noflip */
padding: 2px 0.5em 2px 0;   /* 0px left, 0.5em right */
}
}


table.ambox-notice {
.navbox + .navbox {
/* @noflip */
margin-top: 8px;
border-left: 10px solid #36c;      /* Blue */
}
table.ambox-speedy {
/* @noflip */
border-left: 10px solid #b32424;    /* Red */
background-color: #fee7e6;          /* Pink */
}
table.ambox-delete {
/* @noflip */
border-left: 10px solid #b32424;    /* Red */
}
table.ambox-content {
/* @noflip */
border-left: 10px solid #f28500;    /* Orange */
}
table.ambox-style {
/* @noflip */
border-left: 10px solid #fc3;      /* Yellow */
}
table.ambox-move {
/* @noflip */
border-left: 10px solid #9932cc;    /* Purple */
}
table.ambox-protection {
/* @noflip */
border-left: 10px solid #a2a9b1;   /* Gray-gold */
}
}


/* Image message box styles */
.navbox-inner,
table.imbox {
.navbox-subgroup {
margin: 4px 10%;
width: 100%;
border-collapse: collapse;
background: transparent;
border: 3px solid #36c;    /* Default "notice" blue */
border-spacing: 0;
background-color: #fbfbfb;
box-sizing: border-box;
}
.imbox .mbox-text .imbox {  /* For imboxes inside imbox-text cells. */
margin: 0 -0.5em;      /* 0.9 - 0.5 = 0.4em left/right.        */
display: block;        /* Fix for webkit to force 100% width.  */
}
.mbox-inside .imbox {      /* For imboxes inside other templates.  */
margin: 4px;
}
}


table.imbox-notice {
.navbox-group,
border: 3px solid #36c;      /* Blue */
.navbox-title,
}
.navbox-abovebelow {
table.imbox-speedy {
padding: 6px 12px;
border: 3px solid #b32424;    /* Red */
line-height: 1.5em;
background-color: #fee7e6;    /* Pink */
text-align: center;
}
table.imbox-delete {
border: 3px solid #b32424;   /* Red */
}
table.imbox-content {
border: 3px solid #f28500;    /* Orange */
}
table.imbox-style {
border: 3px solid #fc3;      /* Yellow */
}
table.imbox-move {
border: 3px solid #9932cc;   /* Purple */
}
table.imbox-protection {
border: 3px solid #a2a9b1;    /* Gray-gold */
}
table.imbox-license {
border: 3px solid #88a;      /* Dark gray */
background-color: #f7f8ff;    /* Light gray */
}
table.imbox-featured {
border: 3px solid #cba135;   /* Brown-gold */
}
}


/* Category message box styles */
.navbox th,
table.cmbox {
.navbox-title {
margin: 3px 10%;
background: var(--tpt-surface-alt);
border-collapse: collapse;
color: var(--tpt-ink);
border: 1px solid #a2a9b1;
background-color: #dfe8ff;    /* Default "notice" blue */
box-sizing: border-box;
}
}


table.cmbox-notice {
.navbox-title {
background-color: #d8e8ff;    /* Blue */
font-family: var(--tpt-font-heading);
}
font-weight: 500;
table.cmbox-speedy {
font-size: 15px;
margin-top: 4px;
letter-spacing: .06em;
margin-bottom: 4px;
text-transform: uppercase;
border: 4px solid #b32424;   /* Red */
border-bottom: 1px solid var(--tpt-line);
background-color: #ffdbdb;    /* Pink */
}
table.cmbox-delete {
background-color: #ffdbdb;   /* Pink */
}
table.cmbox-content {
background-color: #ffe7ce;   /* Orange */
}
table.cmbox-style {
background-color: #fff9db;    /* Yellow */
}
table.cmbox-move {
background-color: #e4d8ff;    /* Purple */
}
table.cmbox-protection {
background-color: #efefe1;   /* Gray-gold */
}
}


/* Other pages message box styles */
.navbox-title a {
table.ombox {
color: var(--tpt-ink);
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #a2a9b1;    /* Default "notice" gray */
background-color: #f8f9fa;
box-sizing: border-box;
}
}


table.ombox-notice {
th.navbox-group,
border: 1px solid #a2a9b1;    /* Gray */
.navbox-abovebelow,
}
.navbox-subgroup .navbox-title {
table.ombox-speedy {
background: color-mix(in srgb, var(--tpt-surface-alt) 60%, var(--tpt-surface));
border: 2px solid #b32424;   /* Red */
font-family: var(--tpt-font-heading);
background-color: #fee7e6;   /* Pink */
font-weight: 500;
}
font-size: 12.5px;
table.ombox-delete {
letter-spacing: .08em;
border: 2px solid #b32424;   /* Red */
text-transform: uppercase;
}
color: var(--tpt-ink-muted);
table.ombox-content {
border: 1px solid #f28500;   /* Orange */
}
table.ombox-style {
border: 1px solid #fc3;       /* Yellow */
}
table.ombox-move {
border: 1px solid #9932cc;   /* Purple */
}
table.ombox-protection {
border: 2px solid #a2a9b1;   /* Gray-gold */
}
}


/* Talk page message box styles */
th.navbox-group {
table.tmbox {
white-space: nowrap;
margin: 4px 10%;
text-align: right;
border-collapse: collapse;
width: 1%;
border: 1px solid #c0c090;    /* Default "notice" gray-brown */
background-color: #f8eaba;
min-width: 80%;
box-sizing: border-box;
}
.tmbox.mbox-small {
min-width: 0;                /* reset the min-width of tmbox above        */
}
.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */
margin: 2px 0;               /* this declaration overrides other styles (including mbox-small above)  */
width: 100%;                /* For Safari and Opera */
}
.mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when  */
line-height: 1.5em;          /* also "nested", so reset styles that are  */
font-size: 100%;             /* set in "mbox-small" above.                */
}
}


table.tmbox-speedy {
.navbox-subgroup .navbox-group,
border: 2px solid #b32424;    /* Red */
.navbox-subgroup .navbox-abovebelow {
background-color: #fee7e6;    /* Pink */
background: color-mix(in srgb, var(--tpt-surface-alt) 35%, var(--tpt-surface));
}
table.tmbox-delete {
border: 2px solid #b32424;    /* Red */
}
table.tmbox-content {
border: 2px solid #f28500;    /* Orange */
}
table.tmbox-style {
border: 2px solid #fc3;      /* Yellow */
}
table.tmbox-move {
border: 2px solid #9932cc;    /* Purple */
}
table.tmbox-protection,
table.tmbox-notice {
border: 1px solid #c0c090;   /* Gray-brown */
}
}


/* Footer and header message box styles */
.navbox-list {
table.fmbox {
line-height: 1.6em;
clear: both;
border-color: var(--tpt-surface);
margin: 0.2em 0;
text-align: left;
width: 100%;
padding: 4px 12px;
border: 1px solid #a2a9b1;
background-color: #f8f9fa;    /* Default "system" gray */
box-sizing: border-box;
}
table.fmbox-system {
background-color: #f8f9fa;
}
table.fmbox-warning {
border: 1px solid #bb7070;  /* Dark pink */
background-color: #ffdbdb;  /* Pink */
}
table.fmbox-editnotice {
background-color: transparent;
}
/* Div based "warning" style fmbox messages. */
div.mw-warning-with-logexcerpt,
div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning,
div#mw-protect-cascadeon,
div.titleblacklist-warning,
div.locked-warning {
clear: both;
margin: 0.2em 0;
border: 1px solid #bb7070;
background-color: #ffdbdb;
padding: 0.25em 0.9em;
box-sizing: border-box;
}
}


/* These mbox-small classes must be placed after all other
tr + tr > .navbox-abovebelow,
  ambox/tmbox/ombox etc classes. "html body.mediawiki" is so
tr + tr > .navbox-group,
  they override "table.ambox + table.ambox" above. */
tr + tr > .navbox-image,
html body.mediawiki .mbox-small {   /* For the "small=yes" option. */
tr + tr > .navbox-list {
/* @noflip */
border-top: 1px solid var(--tpt-line);
clear: right;
/* @noflip */
float: right;
/* @noflip */
margin: 4px 0 4px 1em;
box-sizing: border-box;
width: 238px;
font-size: 88%;
line-height: 1.25em;
}
html body.mediawiki .mbox-small-left {  /* For the "small=left" option. */
/* @noflip */
margin: 4px 1em 4px 0;
box-sizing: border-box;
overflow: hidden;
width: 238px;
border-collapse: collapse;
font-size: 88%;
line-height: 1.25em;
}
}


/* Style for compact ambox */
.navbox-even,
/* Hide the images */
.navbox-odd {
.compact-ambox table .mbox-image,
background: transparent;
.compact-ambox table .mbox-imageright,
.compact-ambox table .mbox-empty-cell {
display: none;
}
/* Remove borders, backgrounds, padding, etc. */
.compact-ambox table.ambox {
border: none;
border-collapse: collapse;
background-color: transparent;
margin: 0 0 0 1.6em !important;
padding: 0 !important;
width: auto;
display: block;
}
body.mediawiki .compact-ambox table.mbox-small-left {
font-size: 100%;
width: auto;
margin: 0;
}
/* Style the text cell as a list item and remove its padding */
.compact-ambox table .mbox-text {
padding: 0 !important;
margin: 0 !important;
}
.compact-ambox table .mbox-text-span {
display: list-item;
line-height: 1.5em;
list-style-type: square;
list-style-image: url(/w/skins/MonoBook/resources/images/bullet.svg);
}
.skin-vector .compact-ambox table .mbox-text-span {
list-style-type: disc;
list-style-image: url(/w/skins/Vector/images/bullet-icon.svg);
}
/* Allow for hiding text in compact form */
.compact-ambox .hide-when-compact {
display: none;
}
}


/* Hide (formatting) elements from screen, but not from screenreaders */
.navbox .hlist td dl,
.visualhide {
.navbox .hlist td ol,
position: absolute;
.navbox .hlist td ul,
left: -10000px;
.navbox td.hlist dl,
top: auto;
.navbox td.hlist ol,
width: 1px;
.navbox td.hlist ul {
height: 1px;
padding: 2px 0;
overflow: hidden;
}
}


/* Suppress missing interwiki image links where #ifexist cannot
/* Navbar (the V, T, E links) is for editors; readers don't need it while editing is closed. */
  be used due to high number of requests. See .hidden-redlink on
.navbar {
  [[m:MediaWiki:Common.css]] */
display: inline;
.check-icon a.new {
font-size: 88%;
display: none;
speak: none;
}
 
/* Remove underlines from certain links */
.nounderlines a,
.IPA a:link, .IPA a:visited {
text-decoration: none !important;
}
 
/* Standard Navigationsleisten, aka box hiding thingy
  from .de.  Documentation at [[Wikipedia:NavFrame]]. */
div.NavFrame {
margin: 0;
padding: 4px;
border: 1px solid #a2a9b1;
text-align: center;
border-collapse: collapse;
font-size: 95%;
}
div.NavFrame + div.NavFrame {
border-top-style: none;
border-top-style: hidden;
}
div.NavFrame div.NavHead {
line-height: 1.6em;
font-weight: bold;
background-color: #ccf;
position: relative;
}
div.NavFrame p,
div.NavFrame div.NavContent,
div.NavFrame div.NavContent p {
font-size: 100%;
}
a.NavToggle {
position: absolute;
top: 0;
/* @noflip */
right: 3px;
font-weight: normal;
font-weight: normal;
font-size: 90%;
}
}


/* Hatnotes and disambiguation notices */
.navbar ul {
.hatnote {
display: inline;
font-style: italic;
white-space: nowrap;
}
.hatnote i {
font-style: normal;
}
div.hatnote {
/* @noflip */
padding-left: 1.6em;
margin-bottom: 0.5em;
}
div.hatnote + div.hatnote {
margin-top: -0.5em;
}
}


/* Allow transcluded pages to display in lists rather than a table. */
.navbox .navbar {
.listify td {
display: list-item;
}
.listify tr {
display: block;
}
.listify table {
display: block;
display: block;
font-size: 100%;
}
}


/* Geographical coordinates defaults. See [[Template:Coord/link]]
.navbox-title .navbar {
  for how these are used. The classes "geo", "longitude", and
float: left;
  "latitude" are used by the [[Geo microformat]]. */
text-align: left;
/* TemplateStyles */
margin-right: .5em;
.geo-default, .geo-dms, .geo-dec {
visibility: hidden;
display: inline;
}
.geo-nondefault, .geo-multi-punct {
display: none;
}
.longitude, .latitude {
white-space: nowrap;
}
}


/* User block messages */
/* ---------- Collapsible blocks ---------- */
div.user-block {
.mw-parser-output .mw-collapsible-toggle {
padding: 5px;
font-family: var(--tpt-font-heading);
margin-bottom: 0.5em;
font-weight: 500;
border: 1px solid #a9a9a9;
font-size: 12px;
background-color: #ffefd5;
letter-spacing: .08em;
}
text-transform: uppercase;
 
text-align: right;
/* Prevent line breaks in silly places:
padding: 0 .2em;
  1) Where desired
  2) Links when we don't want them to
  3) Bold "links" to the page itself */
.nowrap,
.nowraplinks a,
.nowraplinks .selflink {
white-space: nowrap;
}
.nowrap pre {
white-space: pre;
}
/* But allow wrapping where desired: */
.wrap,
.wraplinks a {
white-space: normal;
}
}


/* For template documentation */
.mw-parser-output .mw-collapsible-toggle a,
/* TemplateStyles */
.mw-parser-output .mw-collapsible-text {
.template-documentation {
color: var(--tpt-accent);
clear: both;
margin: 1em 0 0 0;
border: 1px solid #a2a9b1;
background-color: #ecfcf4;
padding: 1em;
}
}


/* Increase the height of the image upload box */
.mw-collapsible-leftside-toggle .mw-collapsible-toggle {
#wpUploadDescription {
float: left;
height: 13em;
text-align: left;
}
}


/* Minimum thumb width */
/* ---------- Hatnotes ---------- */
.thumbinner {
.hatnote,
min-width: 100px;
div.hatnote {
font-style: normal;
color: var(--tpt-ink-muted);
padding: 6px 0 6px 12px;
margin-bottom: .75em;
border-left: 3px solid var(--tpt-line-strong);
font-size: 15px;
}
}


/* Prevent floating boxes from overlapping any category listings,
div.hatnote + div.hatnote {
  file histories, edit previews, and edit [Show changes] views. */
margin-top: -.5em;
#mw-subcategories, #mw-pages, #mw-category-media,
#filehistory, #wikiPreview, #wikiDiff {
clear: both;
}
}


/* Selectively hide headers in WikiProject banners */
/* ---------- Subpage breadcrumbs (Factory/Recipes) ---------- */
/* TemplateStyles */
.mw-body .subpages,
.wpb .wpb-header {
#contentSub .subpages {
display: none;
display: inline-flex;
}
flex-wrap: wrap;
.wpbs-inner .wpb .wpb-header {
gap: 8px;
display: block;           /* for IE */
font-size: 13px;
}
line-height: 18px;
.wpbs-inner .wpb .wpb-header {
color: var(--tpt-ink-subtle);
display: table-row;        /* for real browsers */
}
.wpbs-inner .wpb-outside {
display: none;             /* hide things that should only display outside shells */
}
}


/* Styling for Abuse Filter tags */
#contentSub .subpages a {
.mw-tag-markers {
color: var(--tpt-ink-muted);
font-style: italic;
text-decoration: none;
font-size: 90%;
}
}


/* Hide stuff meant for accounts with special permissions. Made visible again in
#contentSub .subpages a:hover {
  [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-patroller.css]],
color: var(--tpt-accent);
  [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]],
text-decoration: underline;
  [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */
.checkuser-show,
.sysop-show,
.patroller-show,
.templateeditor-show,
.extendedmover-show,
.extendedconfirmed-show,
.autoconfirmed-show,
.user-show {
display: none;
}
}


/* Hide the redlink generated by {{Editnotice}},
/* ---------- Images and galleries ---------- */
  this overrides the ".sysop-show { display: none; }" above that applies
.mw-parser-output figure[typeof~="mw:File/Thumb"],
  to the same link as well. See [[phab:T45013]]
.mw-parser-output figure[typeof~="mw:File/Frame"] {
 
background: var(--tpt-surface);
  Hide the images in editnotices to keep them readable in VE view.
border: 1px solid var(--tpt-line);
  Long term, editnotices should become a core feature so that they can be designed responsive. */
border-radius: var(--tpt-radius-2);
.ve-ui-mwNoticesPopupTool-item .editnotice-redlink,
.ve-ui-mwNoticesPopupTool-item .mbox-image,
.ve-ui-mwNoticesPopupTool-item .mbox-imageright {
display: none !important;
}
}


/* Remove bullets when there are multiple edit page warnings */
.mw-parser-output figure[typeof~="mw:File/Thumb"] > figcaption,
ul.permissions-errors > li {
.mw-parser-output figure[typeof~="mw:File/Frame"] > figcaption {
list-style: none none;
color: var(--tpt-ink-muted);
}
font-size: 13px;
ul.permissions-errors {
line-height: 18px;
margin: 0;
}
}


/* Generic class for Times-based serif, texhtml class for inline math */
.mw-parser-output ul.gallery li.gallerybox div.thumb {
.times-serif,
background: var(--tpt-surface);
span.texhtml {
border: 1px solid var(--tpt-line);
font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif;
border-radius: var(--tpt-radius-2);
font-size: 118%;
line-height: 1;
}
span.texhtml {
white-space: nowrap;
}
span.texhtml span.texhtml {
font-size: 100%;
}
span.mwe-math-mathml-inline {
font-size: 118%;
}
}


/* Force tabular and lining display for digits and texhtml */
.mw-parser-output .gallerytext {
.digits,
color: var(--tpt-ink-muted);
.texhtml {
font-size: 13px;
-moz-font-feature-settings: "lnum", "tnum", "kern" 0;
-webkit-font-feature-settings: "lnum", "tnum", "kern" 0;
font-feature-settings: "lnum", "tnum", "kern" 0;
font-variant-numeric: lining-nums tabular-nums;
font-kerning: none;
}
}


/* Make <math display="block"> be left aligned with one space indent for compatibility with style conventions */
/* ---------- Code ---------- */
.mwe-math-fallback-image-display,
/* Scripts and code blocks always sit on the kit's code ground (dark in both themes). */
.mwe-math-mathml-display {
.mw-parser-output pre,
margin-left: 1.6em !important;
.mw-parser-output .mw-highlight pre {
margin-top: 0.6em;
background: var(--tpt-code-bg);
margin-bottom: 0.6em;
color: var(--tpt-code-ink);
}
border: 0;
.mwe-math-mathml-display math {
border-radius: var(--tpt-radius-1);
display: inline;
padding: 14px 16px;
font-size: 14px;
line-height: 22px;
tab-size: 2;
overflow-x: auto;
white-space: pre;
}
}


/* Fix styling of transcluded prefindex tables */
.mw-parser-output code {
table#mw-prefixindex-list-table,
font-size: .9em;
table#mw-prefixindex-nav-table {
font-weight: 500;
width: 98%;
padding: 1px 5px;
border: 0;
border-radius: var(--tpt-radius-1);
background: var(--tpt-surface-alt);
color: var(--tpt-ink);
}
}


/* Make it possible to hide checkboxes in <inputbox> */
.mw-highlight .k, .mw-highlight .kd, .mw-highlight .kr, .mw-highlight .kc, .mw-highlight .kn, .mw-highlight .kt, .mw-highlight .ow { color: var(--tpt-syn-keyword); font-weight: normal; }
.inputbox-hidecheckboxes form .inputbox-element,
.mw-highlight .nf, .mw-highlight .fm, .mw-highlight .nb, .mw-highlight .bp, .mw-highlight .nx, .mw-highlight .na { color: var(--tpt-syn-call); }
.inputbox-hidecheckboxes .mw-ui-checkbox {
.mw-highlight .s, .mw-highlight .s1, .mw-highlight .s2, .mw-highlight .sb, .mw-highlight .sc, .mw-highlight .sd, .mw-highlight .se, .mw-highlight .sh, .mw-highlight .si, .mw-highlight .sx, .mw-highlight .sr, .mw-highlight .ss { color: var(--tpt-syn-string); }
display: none !important;
.mw-highlight .m, .mw-highlight .mi, .mw-highlight .mf, .mw-highlight .mh, .mw-highlight .mo, .mw-highlight .il { color: var(--tpt-syn-number); }
}
.mw-highlight .c, .mw-highlight .c1, .mw-highlight .cm, .mw-highlight .cp, .mw-highlight .cs, .mw-highlight .ch, .mw-highlight .cpf { color: var(--tpt-syn-comment); font-style: italic; }
.mw-highlight .p, .mw-highlight .o, .mw-highlight .w, .mw-highlight .n, .mw-highlight .nv, .mw-highlight .vg, .mw-highlight .nl, .mw-highlight .nn, .mw-highlight .nc { color: var(--tpt-code-ink); }
.mw-highlight .err { color: var(--tpt-danger); border: 0; }
.mw-highlight .hll { background: color-mix(in srgb, var(--tpt-accent-fill) 18%, transparent); }


/* Work-around for [[phab:T25965]] / [[phab:T100106]] (Kaltura advertisement) */
/* ---------- Legacy inline colours (safety net) ---------- */
.k-player .k-attribution {
/* Older pages hardcode light backgrounds and black text in style="". Until those pages are cleaned up,
visibility: hidden;
  these rules keep them readable on dark grounds. Remove a rule once its pattern is gone from the wiki. */
.mw-parser-output [style*="background-color:#f8f9fa" i],
.mw-parser-output [style*="background-color: #f8f9fa" i],
.mw-parser-output [style*="background-color:#eee" i],
.mw-parser-output [style*="background-color: #eee" i],
.mw-parser-output [style*="background:#ececec" i],
.mw-parser-output [style*="background: #ececec" i],
.mw-parser-output [style*="background-color:#ececec" i],
.mw-parser-output [style*="background-color: silver" i],
.mw-parser-output [style*="background-color:silver" i],
.mw-parser-output [style*="background-color:#f2f2f2" i],
.mw-parser-output [style*="background-color: #f2f2f2" i],
.mw-parser-output [style*="background-color:#fff" i],
.mw-parser-output [style*="background-color: #fff" i],
.mw-parser-output [style*="background-color:#e4e4e4" i],
.mw-parser-output [style*="background:#fff" i],
.mw-parser-output [style*="background: #fff" i] {
background: var(--tpt-surface-alt) !important;
color: var(--tpt-ink) !important;
border-color: var(--tpt-line) !important;
}
}


/* Move 'play' button of video player to bottom left corner */
.mw-parser-output [style*="color:black" i]:not([style*="background" i]),
.PopUpMediaTransform a .play-btn-large {
.mw-parser-output [style*="color: black" i]:not([style*="background" i]),
margin: 0;
.mw-parser-output [style*="color:#000" i]:not([style*="background" i]),
top: auto;
.mw-parser-output [style*="color: #000" i]:not([style*="background" i]),
right: auto;
.mw-parser-output [style*="color:#3b3b3b" i]:not([style*="background" i]) {
bottom: 0;
color: var(--tpt-ink) !important;
left: 0;
}
}


/* Hide FlaggedRevs notice UI when there are no pending changes */
.mw-parser-output [style*="color:grey" i]:not([style*="background" i]),
.flaggedrevs_draft_synced,
.mw-parser-output [style*="color: grey" i]:not([style*="background" i]) {
.flaggedrevs_stable_synced {
color: var(--tpt-ink-subtle) !important;
display: none;
}
}


/* Force imgs in galleries to have borders by wrapping them in class=bordered-images */
/* ---------- Old Main Page frames (until the new Main Page is published) ---------- */
.bordered-images img {
.tptMainFrame {
border: solid #ddd 1px;
border: 1px solid var(--tpt-line);
border-radius: var(--tpt-radius-2);
padding: 16px 20px;
margin: 8px;
background: var(--tpt-surface);
}
}


/* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */
.tptMainTitle {
@media screen {
margin: 0 0 8px;
/* The backgrounds for galleries. */
background: none;
#content .gallerybox div.thumb {
border: 0;
/* Light gray padding */
padding: 0;
background-color: #f8f9fa;
font-family: var(--tpt-font-heading);
}
font-weight: 600;
font-size: 21px;
/* Put a chequered background behind images, only visible if they have transparency.
line-height: 28px;
'.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */
text-transform: uppercase;
.gallerybox .thumb img {
text-align: left;
background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat;
color: var(--tpt-ink);
}
/* But not on articles, user pages, portals or with opt-out. */
.ns-0 .gallerybox .thumb img,
.ns-2 .gallerybox .thumb img,
.ns-100 .gallerybox .thumb img,
.nochecker .gallerybox .thumb img {
background-image: none;
}
 
}
}


#siteSub{
/* ---------- Kit components inside articles ---------- */
display: none !important;
.mw-parser-output .tpt-card,
.mw-parser-output .tpt-callout,
.mw-parser-output .tpt-infobox {
color: var(--tpt-ink);
}
}


/* Main Page style */
.mw-parser-output .tpt-callout {
.tptMainTitle {
margin: 1em 0;
    margin:0;
    background-color:#a7bdf4; /*AAAAAA;*/
    font-family: 'Trebuchet MS', Helvetica, sans-serif;
    font-size:120%;
    font-weight:bold;
    border:1px solid #a7bdf4; /*666666;*/
    text-align:left;
    color:#3b3b3b; /*000;*/
    padding:0.2em 0.4em;
}
}


.tptMainFrame {
.mw-parser-output a.tpt-card,
    border: 1px solid #a7d7f9; /*666666;*/
.mw-parser-output .tpt-card a {
    padding: .5em 1em;
text-decoration: none;
    margin: 1em;
    background-color: #e7edfb; /*EEEEEE;*/
}
}

Revision as of 11:29, 6 October 2026

/* The Perfect Tower II wiki: content styles shared by every page.
 *
 * Colours, type and sizes come from the TPT2 Community Brand Kit (--tpt-* tokens, loaded by the server
 * before this page). Skin chrome lives in MediaWiki:Vector-2022.css; template layout lives in each
 * template's /styles.css (TemplateStyles). Templates may also use the kit's classes directly:
 * tpt-card, tpt-callout, tpt-tag, tpt-chip, tpt-fac-<id>, tpt-num, tpt-infobox, tpt-table.
 *
 * Source: wiki repository, onwiki/MediaWiki/Common.css.
 */

/* ---------- Lists ---------- */
/* Horizontal lists (navboxes and templates). After mediawiki.org/wiki/Snippets/Horizontal_lists. */
.hlist dl,
.hlist ol,
.hlist ul {
	margin: 0;
	padding: 0;
}

.hlist dd,
.hlist dt,
.hlist li {
	margin: 0;
	display: inline;
}

.hlist.inline,
.hlist.inline dl,
.hlist.inline ol,
.hlist.inline ul,
.hlist dl dl, .hlist dl ol, .hlist dl ul,
.hlist ol dl, .hlist ol ol, .hlist ol ul,
.hlist ul dl, .hlist ul ol, .hlist ul ul {
	display: inline;
}

.hlist .mw-empty-li {
	display: none;
}

.hlist dt::after {
	content: ": ";
}

.hlist dd::after,
.hlist li::after {
	content: " \00B7 ";
	font-weight: bold;
	color: var(--tpt-ink-subtle);
}

.hlist dd:last-child::after,
.hlist dt:last-child::after,
.hlist li:last-child::after {
	content: none;
}

.hlist dd dd:first-child::before, .hlist dd dt:first-child::before, .hlist dd li:first-child::before,
.hlist dt dd:first-child::before, .hlist dt dt:first-child::before, .hlist dt li:first-child::before,
.hlist li dd:first-child::before, .hlist li dt:first-child::before, .hlist li li:first-child::before {
	content: " (";
	font-weight: normal;
}

.hlist dd dd:last-child::after, .hlist dd dt:last-child::after, .hlist dd li:last-child::after,
.hlist dt dd:last-child::after, .hlist dt dt:last-child::after, .hlist dt li:last-child::after,
.hlist li dd:last-child::after, .hlist li dt:last-child::after, .hlist li li:last-child::after {
	content: ")";
	font-weight: normal;
}

.hlist ol {
	counter-reset: listitem;
}

.hlist ol > li {
	counter-increment: listitem;
}

.hlist ol > li::before {
	content: " " counter(listitem) "\a0";
}

.plainlist ol,
.plainlist ul {
	line-height: inherit;
	list-style: none;
	margin: 0;
}

.plainlist ol li,
.plainlist ul li {
	margin-bottom: 0;
}

.nowrap,
.nowraplinks a,
.nowraplinks .selflink {
	white-space: nowrap;
}

.nowrap pre {
	white-space: pre;
}

.wrap,
.wraplinks a {
	white-space: normal;
}

/* ---------- Tables ---------- */
/* Wikitables take the kit's table look (.tpt-table): surface ground, uppercase header labels. */
.mw-parser-output table.wikitable,
.mw-parser-output table.toccolours {
	background: var(--tpt-surface);
	color: var(--tpt-ink);
	border: 1px solid var(--tpt-line);
	border-collapse: collapse;
	border-radius: 0;
	font-size: 15px;
	line-height: 22px;
	margin: 1em 0;
}

.mw-parser-output table.wikitable > * > tr > th,
.mw-parser-output table.wikitable > * > tr > td,
.mw-parser-output table.toccolours > * > tr > th,
.mw-parser-output table.toccolours > * > tr > td {
	border: 1px solid var(--tpt-line);
	padding: 8px 12px;
}

.mw-parser-output table.wikitable > * > tr > th,
.mw-parser-output table.toccolours > * > tr > th {
	background: var(--tpt-surface-alt);
	color: var(--tpt-ink);
	font-family: var(--tpt-font-heading);
	font-weight: 500;
	font-size: 13px;
	line-height: 17px;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--tpt-line-strong);
}

.mw-parser-output table.wikitable > caption {
	font-family: var(--tpt-font-heading);
	font-weight: 500;
	font-size: 17px;
	letter-spacing: .02em;
	text-align: left;
	padding: 8px 0;
	color: var(--tpt-ink);
}

/* Row headers (scope=row) read like body text, not like column labels. */
.mw-parser-output table.wikitable > * > tr > th[scope="row"] {
	text-transform: none;
	letter-spacing: 0;
	font-size: 15px;
	border-bottom-width: 1px;
}

.mw-parser-output table.wikitable > tbody > tr:hover > td {
	background: color-mix(in srgb, var(--tpt-surface-alt) 55%, var(--tpt-surface));
}

.mw-parser-output table.wikitable td ul,
.mw-parser-output table.wikitable td ol,
.mw-parser-output table.wikitable td dl {
	text-align: left;
}

/* Sortable headers: keep the sort arrows visible on dark grounds. */
.mw-parser-output table.jquery-tablesorter th.headerSort {
	background-color: var(--tpt-surface-alt);
}

/* Long tables keep their header row in view. */
.mw-parser-output table.sortable > thead > tr > th {
	position: sticky;
	top: 0;
	z-index: 1;
}

/* Phones: wide tables scroll inside their own box instead of the page. */
@media screen and (max-width: 719px) {
	.mw-parser-output table.wikitable {
		display: block;
		overflow-x: auto;
		max-width: 100%;
		-webkit-overflow-scrolling: touch;
	}

	.mw-parser-output table.wikitable[style*="float"] {
		float: none !important;
		margin-left: 0 !important;
	}
}

/* ---------- Navboxes (Module:Navbox output) ---------- */
.navbox {
	box-sizing: border-box;
	border: 1px solid var(--tpt-line);
	border-radius: var(--tpt-radius-2);
	width: 100%;
	clear: both;
	font-size: 14px;
	line-height: 22px;
	text-align: center;
	padding: 0;
	margin: 2em auto 0;
	background: var(--tpt-surface);
	overflow: hidden;
}

.navbox .navbox {
	margin-top: 0;
	border: 0;
	border-radius: 0;
}

.navbox + .navbox {
	margin-top: 8px;
}

.navbox-inner,
.navbox-subgroup {
	width: 100%;
	background: transparent;
	border-spacing: 0;
}

.navbox-group,
.navbox-title,
.navbox-abovebelow {
	padding: 6px 12px;
	line-height: 1.5em;
	text-align: center;
}

.navbox th,
.navbox-title {
	background: var(--tpt-surface-alt);
	color: var(--tpt-ink);
}

.navbox-title {
	font-family: var(--tpt-font-heading);
	font-weight: 500;
	font-size: 15px;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--tpt-line);
}

.navbox-title a {
	color: var(--tpt-ink);
}

th.navbox-group,
.navbox-abovebelow,
.navbox-subgroup .navbox-title {
	background: color-mix(in srgb, var(--tpt-surface-alt) 60%, var(--tpt-surface));
	font-family: var(--tpt-font-heading);
	font-weight: 500;
	font-size: 12.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tpt-ink-muted);
}

th.navbox-group {
	white-space: nowrap;
	text-align: right;
	width: 1%;
}

.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
	background: color-mix(in srgb, var(--tpt-surface-alt) 35%, var(--tpt-surface));
}

.navbox-list {
	line-height: 1.6em;
	border-color: var(--tpt-surface);
	text-align: left;
	padding: 4px 12px;
}

tr + tr > .navbox-abovebelow,
tr + tr > .navbox-group,
tr + tr > .navbox-image,
tr + tr > .navbox-list {
	border-top: 1px solid var(--tpt-line);
}

.navbox-even,
.navbox-odd {
	background: transparent;
}

.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
	padding: 2px 0;
}

/* Navbar (the V, T, E links) is for editors; readers don't need it while editing is closed. */
.navbar {
	display: inline;
	font-size: 88%;
	font-weight: normal;
}

.navbar ul {
	display: inline;
	white-space: nowrap;
}

.navbox .navbar {
	display: block;
	font-size: 100%;
}

.navbox-title .navbar {
	float: left;
	text-align: left;
	margin-right: .5em;
	visibility: hidden;
}

/* ---------- Collapsible blocks ---------- */
.mw-parser-output .mw-collapsible-toggle {
	font-family: var(--tpt-font-heading);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-align: right;
	padding: 0 .2em;
}

.mw-parser-output .mw-collapsible-toggle a,
.mw-parser-output .mw-collapsible-text {
	color: var(--tpt-accent);
}

.mw-collapsible-leftside-toggle .mw-collapsible-toggle {
	float: left;
	text-align: left;
}

/* ---------- Hatnotes ---------- */
.hatnote,
div.hatnote {
	font-style: normal;
	color: var(--tpt-ink-muted);
	padding: 6px 0 6px 12px;
	margin-bottom: .75em;
	border-left: 3px solid var(--tpt-line-strong);
	font-size: 15px;
}

div.hatnote + div.hatnote {
	margin-top: -.5em;
}

/* ---------- Subpage breadcrumbs (Factory/Recipes) ---------- */
.mw-body .subpages,
#contentSub .subpages {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	line-height: 18px;
	color: var(--tpt-ink-subtle);
}

#contentSub .subpages a {
	color: var(--tpt-ink-muted);
	text-decoration: none;
}

#contentSub .subpages a:hover {
	color: var(--tpt-accent);
	text-decoration: underline;
}

/* ---------- Images and galleries ---------- */
.mw-parser-output figure[typeof~="mw:File/Thumb"],
.mw-parser-output figure[typeof~="mw:File/Frame"] {
	background: var(--tpt-surface);
	border: 1px solid var(--tpt-line);
	border-radius: var(--tpt-radius-2);
}

.mw-parser-output figure[typeof~="mw:File/Thumb"] > figcaption,
.mw-parser-output figure[typeof~="mw:File/Frame"] > figcaption {
	color: var(--tpt-ink-muted);
	font-size: 13px;
	line-height: 18px;
}

.mw-parser-output ul.gallery li.gallerybox div.thumb {
	background: var(--tpt-surface);
	border: 1px solid var(--tpt-line);
	border-radius: var(--tpt-radius-2);
}

.mw-parser-output .gallerytext {
	color: var(--tpt-ink-muted);
	font-size: 13px;
}

/* ---------- Code ---------- */
/* Scripts and code blocks always sit on the kit's code ground (dark in both themes). */
.mw-parser-output pre,
.mw-parser-output .mw-highlight pre {
	background: var(--tpt-code-bg);
	color: var(--tpt-code-ink);
	border: 0;
	border-radius: var(--tpt-radius-1);
	padding: 14px 16px;
	font-size: 14px;
	line-height: 22px;
	tab-size: 2;
	overflow-x: auto;
	white-space: pre;
}

.mw-parser-output code {
	font-size: .9em;
	font-weight: 500;
	padding: 1px 5px;
	border: 0;
	border-radius: var(--tpt-radius-1);
	background: var(--tpt-surface-alt);
	color: var(--tpt-ink);
}

.mw-highlight .k, .mw-highlight .kd, .mw-highlight .kr, .mw-highlight .kc, .mw-highlight .kn, .mw-highlight .kt, .mw-highlight .ow { color: var(--tpt-syn-keyword); font-weight: normal; }
.mw-highlight .nf, .mw-highlight .fm, .mw-highlight .nb, .mw-highlight .bp, .mw-highlight .nx, .mw-highlight .na { color: var(--tpt-syn-call); }
.mw-highlight .s, .mw-highlight .s1, .mw-highlight .s2, .mw-highlight .sb, .mw-highlight .sc, .mw-highlight .sd, .mw-highlight .se, .mw-highlight .sh, .mw-highlight .si, .mw-highlight .sx, .mw-highlight .sr, .mw-highlight .ss { color: var(--tpt-syn-string); }
.mw-highlight .m, .mw-highlight .mi, .mw-highlight .mf, .mw-highlight .mh, .mw-highlight .mo, .mw-highlight .il { color: var(--tpt-syn-number); }
.mw-highlight .c, .mw-highlight .c1, .mw-highlight .cm, .mw-highlight .cp, .mw-highlight .cs, .mw-highlight .ch, .mw-highlight .cpf { color: var(--tpt-syn-comment); font-style: italic; }
.mw-highlight .p, .mw-highlight .o, .mw-highlight .w, .mw-highlight .n, .mw-highlight .nv, .mw-highlight .vg, .mw-highlight .nl, .mw-highlight .nn, .mw-highlight .nc { color: var(--tpt-code-ink); }
.mw-highlight .err { color: var(--tpt-danger); border: 0; }
.mw-highlight .hll { background: color-mix(in srgb, var(--tpt-accent-fill) 18%, transparent); }

/* ---------- Legacy inline colours (safety net) ---------- */
/* Older pages hardcode light backgrounds and black text in style="". Until those pages are cleaned up,
   these rules keep them readable on dark grounds. Remove a rule once its pattern is gone from the wiki. */
.mw-parser-output [style*="background-color:#f8f9fa" i],
.mw-parser-output [style*="background-color: #f8f9fa" i],
.mw-parser-output [style*="background-color:#eee" i],
.mw-parser-output [style*="background-color: #eee" i],
.mw-parser-output [style*="background:#ececec" i],
.mw-parser-output [style*="background: #ececec" i],
.mw-parser-output [style*="background-color:#ececec" i],
.mw-parser-output [style*="background-color: silver" i],
.mw-parser-output [style*="background-color:silver" i],
.mw-parser-output [style*="background-color:#f2f2f2" i],
.mw-parser-output [style*="background-color: #f2f2f2" i],
.mw-parser-output [style*="background-color:#fff" i],
.mw-parser-output [style*="background-color: #fff" i],
.mw-parser-output [style*="background-color:#e4e4e4" i],
.mw-parser-output [style*="background:#fff" i],
.mw-parser-output [style*="background: #fff" i] {
	background: var(--tpt-surface-alt) !important;
	color: var(--tpt-ink) !important;
	border-color: var(--tpt-line) !important;
}

.mw-parser-output [style*="color:black" i]:not([style*="background" i]),
.mw-parser-output [style*="color: black" i]:not([style*="background" i]),
.mw-parser-output [style*="color:#000" i]:not([style*="background" i]),
.mw-parser-output [style*="color: #000" i]:not([style*="background" i]),
.mw-parser-output [style*="color:#3b3b3b" i]:not([style*="background" i]) {
	color: var(--tpt-ink) !important;
}

.mw-parser-output [style*="color:grey" i]:not([style*="background" i]),
.mw-parser-output [style*="color: grey" i]:not([style*="background" i]) {
	color: var(--tpt-ink-subtle) !important;
}

/* ---------- Old Main Page frames (until the new Main Page is published) ---------- */
.tptMainFrame {
	border: 1px solid var(--tpt-line);
	border-radius: var(--tpt-radius-2);
	padding: 16px 20px;
	margin: 8px;
	background: var(--tpt-surface);
}

.tptMainTitle {
	margin: 0 0 8px;
	background: none;
	border: 0;
	padding: 0;
	font-family: var(--tpt-font-heading);
	font-weight: 600;
	font-size: 21px;
	line-height: 28px;
	text-transform: uppercase;
	text-align: left;
	color: var(--tpt-ink);
}

/* ---------- Kit components inside articles ---------- */
.mw-parser-output .tpt-card,
.mw-parser-output .tpt-callout,
.mw-parser-output .tpt-infobox {
	color: var(--tpt-ink);
}

.mw-parser-output .tpt-callout {
	margin: 1em 0;
}

.mw-parser-output a.tpt-card,
.mw-parser-output .tpt-card a {
	text-decoration: none;
}