Tip of the day
The tongs button at the bottom of the screen opens the crafting interface.

MediaWiki:Common.css: Difference between revisions

From Walkscape Walkthrough
mNo edit summary
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 490: Line 490:
}
}


/* Old newspaper / in-universe periodical styling */
/* ============================================================
  Old newspaper / in-universe periodical styling
  Used with Template:Periodical
  ============================================================ */
 
.ws-periodical {
.ws-periodical {
   width: 100%;
   width: 100%;
Line 507: Line 511:
}
}


/* Header / masthead */
.ws-periodical-header {
.ws-periodical-header {
   text-align: center;
   text-align: center;
Line 561: Line 566:
}
}


/* Heavy newspaper rule below the masthead */
.ws-periodical-rule {
.ws-periodical-rule {
   border-top: 4px double #2f2417;
   border-top: 4px double #2f2417;
Line 566: Line 572:
}
}


/* Main article body */
.ws-periodical-content {
.ws-periodical-content {
   column-count: 2;
   column-count: 2;
Line 573: Line 580:
}
}


/* Support normal MediaWiki headings inside the periodical */
/* ============================================================
  Headings inside the newspaper
  Supports both older MediaWiki h2 output and newer .mw-heading wrappers
  ============================================================ */
 
/* Reset MediaWiki / skin heading styling */
.ws-periodical-content h2,
.ws-periodical-content h3,
.ws-periodical-content h4,
.ws-periodical-content h5,
.ws-periodical-content h6,
.ws-periodical-content .mw-heading {
  border: 0 !important;
  background: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
 
/* Newer MediaWiki heading wrapper */
.ws-periodical-content .mw-heading {
  display: block;
  margin: 1.1em 0 0.7em;
  padding: 0;
  break-inside: avoid;
  break-after: avoid;
}
 
/* Actual heading text */
.ws-periodical-content h2,
.ws-periodical-content h2,
.ws-periodical-content h3,
.ws-periodical-content h3,
.ws-periodical-content h4,
.ws-periodical-content h4,
.ws-periodical-content h5 {
.ws-periodical-content h5,
   margin: 0 0 0.7em;
.ws-periodical-content h6,
   padding: 0.35em 0;
.ws-periodical-content .mw-heading h2,
   border-top: 1px solid #3a2a19;
.ws-periodical-content .mw-heading h3,
   border-bottom: 1px solid #3a2a19;
.ws-periodical-content .mw-heading h4,
.ws-periodical-content .mw-heading h5,
.ws-periodical-content .mw-heading h6 {
  display: block;
   margin: 1.1em 0 0.7em;
   padding: 0;
  border: 0 !important;
   background: none !important;
   box-shadow: none !important;
   font-family: Georgia, "Times New Roman", serif;
   font-family: Georgia, "Times New Roman", serif;
   font-size: 1.25em;
   font-size: 1.35em;
   font-weight: bold;
   font-weight: bold;
   line-height: 1.15;
   line-height: 1.2;
   text-align: center;
   text-align: left;
  color: #261d12;
  break-inside: avoid;
   break-after: avoid;
   break-after: avoid;
  column-span: none;
}
}


/* Avoid double margins when MediaWiki wraps headings in .mw-heading */
.ws-periodical-content .mw-heading h2,
.ws-periodical-content .mw-heading h3,
.ws-periodical-content .mw-heading h4,
.ws-periodical-content .mw-heading h5,
.ws-periodical-content .mw-heading h6 {
  margin: 0;
}
/* Remove extra top space from the first heading */
.ws-periodical-content > h2:first-child,
.ws-periodical-content > h3:first-child,
.ws-periodical-content > h4:first-child,
.ws-periodical-content > h5:first-child,
.ws-periodical-content > h6:first-child,
.ws-periodical-content > .mw-heading:first-child {
  margin-top: 0;
}
/* Newspaper-style rule below headings only */
.ws-periodical-content h2::after,
.ws-periodical-content h3::after,
.ws-periodical-content h4::after,
.ws-periodical-content h5::after,
.ws-periodical-content h6::after,
.ws-periodical-content .mw-heading h2::after,
.ws-periodical-content .mw-heading h3::after,
.ws-periodical-content .mw-heading h4::after,
.ws-periodical-content .mw-heading h5::after,
.ws-periodical-content .mw-heading h6::after {
  content: "";
  display: block;
  margin-top: 0.35em;
  border-bottom: 1px solid #3a2a19;
}
/* Hide section edit links inside the periodical */
.ws-periodical-content .mw-editsection {
  display: none;
}
/* Paragraph spacing */
.ws-periodical-content p {
.ws-periodical-content p {
   margin: 0 0 1em;
   margin: 0 0 1em;
}
}


/* Drop cap on the first paragraph */
/* Drop cap on normal issue pages only, not archive/index pages */
.ws-periodical-content p:first-of-type::first-letter {
.ws-periodical:not(.ws-periodical-index) .ws-periodical-content > p:first-of-type::first-letter {
   float: left;
   float: left;
   font-size: 3.5em;
   font-size: 3.5em;
Line 604: Line 689:
}
}


/* Avoid ugly breaks inside images/tables/infobox-like content */
/* Avoid ugly breaks inside images, tables, and thumbnails */
.ws-periodical-content figure,
.ws-periodical-content figure,
.ws-periodical-content table,
.ws-periodical-content table,
.ws-periodical-content .thumb,
.ws-periodical-content .thumb {
.ws-periodical-content .mw-parser-output {
   break-inside: avoid;
   break-inside: avoid;
}
}


/* Mobile/readability fallback */
/* Links should still look readable on the paper background */
.ws-periodical a {
  color: #4a321d;
  text-decoration: underline;
}
 
.ws-periodical a:visited {
  color: #5c3d26;
}
 
/* Mobile / narrow-screen fallback */
@media screen and (max-width: 700px) {
@media screen and (max-width: 700px) {
   .ws-periodical {
   .ws-periodical {
Line 636: Line 730:
     text-align: left;
     text-align: left;
   }
   }
}
/* ============================================================
  Periodical collection / archive page
  Reuses .ws-periodical base styling
  ============================================================ */
.ws-periodical-index {
  max-width: none;
}
.ws-periodical-index-description {
  max-width: 760px;
  margin: 0.8em auto 1.3em;
  text-align: center;
  font-style: italic;
  font-size: 1.05em;
}
/* Collection pages should not use newspaper article columns */
.ws-periodical-index-content {
  column-count: 1;
  column-rule: 0;
  text-align: left;
}
/* Individual issue cards */
.ws-periodical-issue-link {
  margin: 1em 0;
  padding: 1em 1.2em;
  background: rgba(255, 255, 255, 0.32);
  border: 1px solid #9c875e;
  box-shadow: 0 0 0 2px rgba(213, 195, 145, 0.45) inset;
  break-inside: avoid;
}
.ws-periodical-issue-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35em;
  font-weight: bold;
  line-height: 1.2;
}
.ws-periodical-issue-title a {
  color: #261d12;
  text-decoration: none;
}
.ws-periodical-issue-title a:hover {
  text-decoration: underline;
}
.ws-periodical-issue-meta {
  margin-top: 0.35em;
  font-size: 0.85em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5c4a2f;
}
.ws-periodical-issue-meta span + span::before {
  content: " • ";
  margin: 0 0.35em;
}
.ws-periodical-issue-summary {
  margin-top: 0.7em;
  font-size: 0.98em;
  line-height: 1.45;
}
/* Optional two-column issue grid on wider screens */
@media screen and (min-width: 900px) {
  .ws-periodical-index-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1em;
  }
  .ws-periodical-issue-link {
    margin: 0;
  }
}
/* Mobile cleanup */
@media screen and (max-width: 700px) {
  .ws-periodical-index-description {
    text-align: left;
  }
  .ws-periodical-issue-meta span {
    display: block;
  }
  .ws-periodical-issue-meta span + span::before {
    content: "";
    margin: 0;
  }
}
/* Do not use drop caps on periodical archive / collection pages */
.ws-periodical-index .ws-periodical-content p:first-of-type::first-letter,
.ws-periodical-index .ws-periodical-issue-link::first-letter,
.ws-periodical-index .ws-periodical-issue-meta::first-letter,
.ws-periodical-index .ws-periodical-issue-summary::first-letter {
  float: none;
  font-size: inherit;
  line-height: inherit;
  padding-right: 0;
  font-weight: inherit;
}
}

Latest revision as of 01:09, 1 July 2026

/*
 * This is the CSS common to all desktop skins on en.Wikipedia.
 * Styling inside .mw-parser-output should generally use TemplateStyles.
 */
/* Reset italic styling set by user agent */
cite,
dfn {
	font-style: inherit;
}

/* Straight quote marks for <q> */
q {
	quotes: '"' '"' "'" "'";
}

.mw-wiki-logo {
    background-image: url(https://static.miraheze.org/walkscapewiki/thumb/d/d9/Logo_square.png/240px-Logo_square.png)
}

/* Avoid collision of blockquote with floating elements by swapping margin and padding */
blockquote {
	overflow: hidden;
	margin: 1em 0;
	padding: 0 40px;
}

/* Consistent size for <small>, <sub> and <sup> */
small {
	font-size: 85%;
}

.mw-body-content sub,
.mw-body-content sup {
	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;
}

/* Reduce page jumps by hiding collapsed/dismissed content */
.client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child),

/* Avoid FOUC/reflows on collapsed elements. */
/* This copies MediaWiki's solution for T42812 to apply to innercollapse/outercollapse (T325115). */
/* TODO: Use :is() selector at some reasonable future when support is good for Most Clients */
/* Reference: https://gerrit.wikimedia.org/g/mediawiki/core/+/ecda06cb2aef55b77c4b4d7ecda492d634419ead/resources/src/jquery/jquery.makeCollapsible.styles.less#75 */
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) > p,
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) > table,
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) > thead + tbody,
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) tr:not( :first-child ),
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) .mw-collapsible-content,

/* Hide charinsert base for those not using the gadget */
#editpage-specialchars {
	display: none;
}

/* Make the list of references smaller
 * Keep in sync with Template:Refbegin/styles.css
 * And Template:Reflist/styles.css
 */
ol.references {
	font-size: 90%;
	margin-bottom: 0.5em;
}

/* Cite customizations for Parsoid
 * Once everything uses the one true parser these are just customizations
 */
span[ rel="mw:referencedBy" ] {
	counter-reset: mw-ref-linkback 0;
}

span[ rel='mw:referencedBy' ] > a::before {
	content: counter( mw-ref-linkback, lower-alpha );
	font-size: 80%;
	font-weight: bold;
	font-style: italic;
}

a[ rel="mw:referencedBy" ]::before {
	font-weight: bold;
	content: "^";
}

span[ rel="mw:referencedBy" ]::before {
	content: "^ ";
}

.mw-ref > a[data-mw-group=lower-alpha]::after {
	content: '[' counter( mw-Ref, lower-alpha ) ']';
}

.mw-ref > a[data-mw-group=upper-alpha]::after {
	content: '[' counter( mw-Ref, upper-alpha ) ']';
}

.mw-ref > a[data-mw-group=decimal]::after {
	content: '[' counter( mw-Ref, decimal ) ']';
}

.mw-ref > a[data-mw-group=lower-roman]::after {
	content: '[' counter( mw-Ref, lower-roman ) ']';
}

.mw-ref > a[data-mw-group=upper-roman]::after {
	content: '[' counter( mw-Ref, upper-roman ) ']';
}

.mw-ref > a[data-mw-group=lower-greek]::after {
	content: '[' counter( mw-Ref, lower-greek ) ']';
}

/* Styling for jQuery makeCollapsible, matching that of collapseButton */
.mw-parser-output .mw-collapsible-toggle:not(.mw-ui-button) {
	font-weight: normal;
	padding-right: 0.2em;
	padding-left: 0.2em;
}

.mw-collapsible-leftside-toggle .mw-collapsible-toggle {
	/* @noflip */
	float: left;
}

/* Lists in wikitable data cells are always left-aligned */
.wikitable td ul,
.wikitable td ol,
.wikitable td dl {
	/* @noflip */
	text-align: left;
}

/* Change the external link icon to a PDF icon for all PDF files */
.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,
.mw-parser-output a[href*=".PDF?"].external,
.mw-parser-output a[href*=".PDF#"].external {
	background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right;
	/* @noflip */
	padding: 8px 18px 8px 0;
}

/* System messages styled similarly to fmbox */
/* for .mw-warning-with-logexcerpt, behavior of this line differs between
 * the edit-protected notice and the special:Contribs for blocked users
 * The latter has specificity of 3 classes so we have to triple up here.
 */
.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt,
div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning,
div#mw-protect-cascadeon {
	clear: both;
	margin: 0.2em 0;
	border: 1px solid #bb7070;
	background-color: #ffdbdb;
	padding: 0.25em 0.9em;
	box-sizing: border-box;
}

/* default colors for partial block message */
/* gotta get over the hump introduced by the triple class above */
.mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt.mw-warning-with-logexcerpt {
	border-color: #fc3;
	background-color: #fef6e7;
}

/* Minimum thumb width */
figure[typeof~='mw:File/Thumb'],
figure[typeof~='mw:File/Frame'],
.thumbinner {
	min-width: 100px;
}

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

/* Styling for tags in changes pages */
.mw-tag-markers {
	font-style: italic;
	font-size: 90%;
}

/* Hide stuff meant for accounts with special permissions. Made visible again in
   [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-abusefilter.css]],
   [[MediaWiki:Group-abusefilter-helper.css]], [[MediaWiki:Group-patroller.css]],
   [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]],
   [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */
.checkuser-show,
.sysop-show,
.abusefilter-show,
.abusefilter-helper-show,
.patroller-show,
.templateeditor-show,
.extendedmover-show,
.extendedconfirmed-show,
.autoconfirmed-show,
.user-show {
	display: none;
}

/* Hide the redlink generated by {{Editnotice}},
   this overrides the ".sysop-show { display: none; }" above that applies
   to the same link as well. See [[phab:T45013]]

   Hide the images in editnotices to keep them readable in VE view.
   Long term, editnotices should become a core feature so that they can be designed responsive. */
.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 */
ul.permissions-errors {
	margin: 0;
}

ul.permissions-errors > li {
	list-style: none;
}

/* larger inline math */
span.mwe-math-mathml-inline {
	font-size: 118%;
}

/* Make <math display="block"> be left aligned with one space indent for 
 * compatibility with style conventions
 */
.mwe-math-fallback-image-display,
.mwe-math-mathml-display {
	margin-left: 1.6em !important;
	margin-top: 0.6em;
	margin-bottom: 0.6em;
}

.mwe-math-mathml-display math {
	display: inline;
}

@media screen {
	/* Put a chequered background behind images, only visible if they have transparency,
	 * except on main, user, and portal namespaces
	 */
	body:not(.ns-0):not(.ns-2):not(.ns-100) .gallerybox .thumb img {
		background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat;
	}

	/* Display "From Wikipedia, the free encyclopedia" in skins that support it,
	   do not apply to print mode */
	#siteSub {
		display: block;
	}
}

/* Hide FlaggedRevs notice UI when there are no pending changes */
.flaggedrevs_draft_synced,
.flaggedrevs_stable_synced,
/* "Temporary" to remove links in sidebar T255381 */
#t-upload,
/* Hide broken download box on Special:Book pending T285400 */
.mw-special-Book #coll-downloadbox {
	display: none;
}
/*
 * BELOW HERE THERE BE SOONTOBE TEMPLATESTYLES THINGS;
 * SEE [[MediaWiki talk:Common.css/to do]]
 */

/* Infobox template style */
.infobox {
	border: 1px solid #a2a9b1;
	border-spacing: 3px;
	background-color: #f8f9fa;
	color: black;
	/* @noflip */
	margin: 0.5em 0 0.5em 1em;
	padding: 0.2em;
	/* @noflip */
	float: right;
	/* @noflip */
	clear: right;
	font-size: 88%;
	line-height: 1.5em;
	width: 22em;
}

.infobox-header,
.infobox-label,
.infobox-above,
.infobox-full-data,
.infobox-data,
.infobox-below,
.infobox-subheader,
.infobox-image,
.infobox-navbar,
/* Remove element selector when every .infobox thing is using the standard module/templates  */
.infobox th,
.infobox td {
	vertical-align: top;
}

.infobox-label,
.infobox-data,
/* Remove element selector when every .infobox thing is using the standard module/templates  */
.infobox th,
.infobox td {
	/* @noflip */
	text-align: left;
}

/* Remove .infobox when element selectors above are removed */
.infobox .infobox-above,
.infobox .infobox-title,
/* Remove element selector when every .infobox thing is using the standard module/templates  */
.infobox caption {
	font-size: 125%;
	font-weight: bold;
	text-align: center;
}

.infobox-title,
/* Remove element selector when every .infobox thing is using the standard module/templates  */
.infobox caption {
	padding: 0.2em;
}

/* Remove .infobox when element selectors above are removed */
.infobox .infobox-header,
.infobox .infobox-subheader,
.infobox .infobox-image,
.infobox .infobox-full-data,
.infobox .infobox-below {
	text-align: center; 
}

/* Remove .infobox when element selectors above are removed */
.infobox .infobox-navbar {
	/* @noflip */
	text-align: right;
}

/* Normal font styling for wikitable row headers with scope="row" tag */
.wikitable.plainrowheaders th[scope=row],
.wikitable.plainrowheaders th[scope=rowgroup] {
	font-weight: normal;
	/* @noflip */
	text-align: left;
}

/* Remove underlines from certain links */
.nounderlines a,
.IPA a:link,
.IPA a:visited {
	text-decoration: none !important;
}

/* Prevent line breaks in silly places where desired (nowrap)
   and links when we don't want them to (nowraplinks a) */
.nowrap,
.nowraplinks a {
	white-space: nowrap;
}

/* But allow wrapping where desired: */
.wrap,
.wraplinks a {
	white-space: normal;
}

/* texhtml class for inline math (based on generic times-serif class) */
span.texhtml {
	font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif;
	font-size: 118%;
	line-height: 1;
	white-space: nowrap;
	/* Force tabular and lining display for texhtml */
	font-variant-numeric: lining-nums tabular-nums;
	font-kerning: none;
}

span.texhtml span.texhtml {
	font-size: 100%;
}

@media screen {
	.nochecker .gallerybox .thumb img {
		background-image: none;
	}
}

/* Sptite and pet animation handeling. */
 
.ws-sprite {
  display: inline-block;

  /* Defaults */
  --frames: 1;
  --sheetW: 48px;
  --scale: 1;
  --frame: 48px;
  --frameMS: 150ms;

  width:  calc(var(--frame) * var(--scale));
  height: calc(var(--frame) * var(--scale));

  background-repeat: no-repeat;
  background-size: calc(var(--sheetW) * var(--scale)) calc(var(--frame) * var(--scale));

  image-rendering: pixelated;
  image-rendering: crisp-edges;

  animation-name: ws-sprite-anim;
  animation-duration: calc(var(--frames) * var(--frameMS));
  animation-timing-function: steps(var(--frames));
  animation-iteration-count: infinite;
}

.ws-dev-walker {
  position: fixed;
  left: 0;
  bottom: 30px;
  z-index: 9999;
  pointer-events: none;
  transform-origin: center center;
  --walker-x: 0px;
  --walker-face: 1;
  transform: translateX(var(--walker-x)) scaleX(var(--walker-face));
}

/* Desktop defaults (optional, if you want to centralize control) */
.ws-dev-walker {
  --scale: 3;
  --walker-speed: 1.5;
}

/* Mobile override */
@media screen and (max-width: 850px) {
  .ws-dev-walker {
    --scale: 1;
    --walker-speed: 0.25;
  }
}

@keyframes ws-sprite-anim {
  from { background-position: 0 0; }
  to   { background-position: calc(-1 * var(--sheetW) * var(--scale)) 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ws-sprite { animation: none; }
  .ws-dev-walker { animation: none; }
}

/* User log spam filtering */
.mw-changeslist-newuser-group {
    cursor: pointer;
    font-weight: 600;
    user-select: none;
}

.mw-changeslist-newuser-group .mw-changeslist-newuser-label::before {
    content: "> ";
}

.mw-changeslist-newuser-group.is-open .mw-changeslist-newuser-label::before {
    content: "v ";
}

.mw-changeslist-newuser-hidden {
    display: none;
}

.mw-changeslist-newuser-hidden.is-open {
    display: list-item;
}

/* ============================================================
   Old newspaper / in-universe periodical styling
   Used with Template:Periodical
   ============================================================ */

.ws-periodical {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 1.5em 0;
  padding: 2em;
  background: #f2ead3;
  color: #261d12;
  border: 1px solid #7d6847;
  box-shadow:
    0 0 0 4px #d5c391 inset,
    0 4px 12px rgba(0, 0, 0, 0.25);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.55;
}

/* Header / masthead */
.ws-periodical-header {
  text-align: center;
  padding-bottom: 0.6em;
}

.ws-periodical-title {
  font-size: 3em;
  font-weight: bold;
  line-height: 1.05;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ws-periodical-subtitle {
  margin-top: 0.35em;
  font-size: 1.15em;
  font-style: italic;
}

/* Date / issue / author box */
.ws-periodical-meta {
  display: flex;
  justify-content: center;
  gap: 1.5em;
  flex-wrap: wrap;
  margin: 1em 0 1.5em;
  padding: 0.65em 1em;
  background: rgba(255, 255, 255, 0.45);
  border-top: 1px solid #9c875e;
  border-bottom: 1px solid #9c875e;
  text-align: center;
  font-family: Georgia, "Times New Roman", serif;
}

.ws-periodical-meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35em;
  white-space: nowrap;
}

.ws-periodical-meta-label {
  font-size: 0.75em;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5c4a2f;
}

.ws-periodical-meta-value {
  font-size: 0.95em;
  letter-spacing: 0.04em;
}

/* Heavy newspaper rule below the masthead */
.ws-periodical-rule {
  border-top: 4px double #2f2417;
  margin: 1em 0 1.3em;
}

/* Main article body */
.ws-periodical-content {
  column-count: 2;
  column-gap: 2.2em;
  column-rule: 1px solid #9c875e;
  text-align: justify;
}

/* ============================================================
   Headings inside the newspaper
   Supports both older MediaWiki h2 output and newer .mw-heading wrappers
   ============================================================ */

/* Reset MediaWiki / skin heading styling */
.ws-periodical-content h2,
.ws-periodical-content h3,
.ws-periodical-content h4,
.ws-periodical-content h5,
.ws-periodical-content h6,
.ws-periodical-content .mw-heading {
  border: 0 !important;
  background: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Newer MediaWiki heading wrapper */
.ws-periodical-content .mw-heading {
  display: block;
  margin: 1.1em 0 0.7em;
  padding: 0;
  break-inside: avoid;
  break-after: avoid;
}

/* Actual heading text */
.ws-periodical-content h2,
.ws-periodical-content h3,
.ws-periodical-content h4,
.ws-periodical-content h5,
.ws-periodical-content h6,
.ws-periodical-content .mw-heading h2,
.ws-periodical-content .mw-heading h3,
.ws-periodical-content .mw-heading h4,
.ws-periodical-content .mw-heading h5,
.ws-periodical-content .mw-heading h6 {
  display: block;
  margin: 1.1em 0 0.7em;
  padding: 0;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35em;
  font-weight: bold;
  line-height: 1.2;
  text-align: left;
  color: #261d12;
  break-inside: avoid;
  break-after: avoid;
}

/* Avoid double margins when MediaWiki wraps headings in .mw-heading */
.ws-periodical-content .mw-heading h2,
.ws-periodical-content .mw-heading h3,
.ws-periodical-content .mw-heading h4,
.ws-periodical-content .mw-heading h5,
.ws-periodical-content .mw-heading h6 {
  margin: 0;
}

/* Remove extra top space from the first heading */
.ws-periodical-content > h2:first-child,
.ws-periodical-content > h3:first-child,
.ws-periodical-content > h4:first-child,
.ws-periodical-content > h5:first-child,
.ws-periodical-content > h6:first-child,
.ws-periodical-content > .mw-heading:first-child {
  margin-top: 0;
}

/* Newspaper-style rule below headings only */
.ws-periodical-content h2::after,
.ws-periodical-content h3::after,
.ws-periodical-content h4::after,
.ws-periodical-content h5::after,
.ws-periodical-content h6::after,
.ws-periodical-content .mw-heading h2::after,
.ws-periodical-content .mw-heading h3::after,
.ws-periodical-content .mw-heading h4::after,
.ws-periodical-content .mw-heading h5::after,
.ws-periodical-content .mw-heading h6::after {
  content: "";
  display: block;
  margin-top: 0.35em;
  border-bottom: 1px solid #3a2a19;
}

/* Hide section edit links inside the periodical */
.ws-periodical-content .mw-editsection {
  display: none;
}

/* Paragraph spacing */
.ws-periodical-content p {
  margin: 0 0 1em;
}

/* Drop cap on normal issue pages only, not archive/index pages */
.ws-periodical:not(.ws-periodical-index) .ws-periodical-content > p:first-of-type::first-letter {
  float: left;
  font-size: 3.5em;
  line-height: 0.8;
  padding-right: 0.08em;
  font-weight: bold;
}

/* Avoid ugly breaks inside images, tables, and thumbnails */
.ws-periodical-content figure,
.ws-periodical-content table,
.ws-periodical-content .thumb {
  break-inside: avoid;
}

/* Links should still look readable on the paper background */
.ws-periodical a {
  color: #4a321d;
  text-decoration: underline;
}

.ws-periodical a:visited {
  color: #5c3d26;
}

/* Mobile / narrow-screen fallback */
@media screen and (max-width: 700px) {
  .ws-periodical {
    padding: 1.2em;
  }

  .ws-periodical-title {
    font-size: 2em;
    letter-spacing: 0.04em;
  }

  .ws-periodical-meta {
    display: block;
  }

  .ws-periodical-meta-item {
    display: block;
    margin: 0.25em 0;
  }

  .ws-periodical-content {
    column-count: 1;
    text-align: left;
  }
}

/* ============================================================
   Periodical collection / archive page
   Reuses .ws-periodical base styling
   ============================================================ */

.ws-periodical-index {
  max-width: none;
}

.ws-periodical-index-description {
  max-width: 760px;
  margin: 0.8em auto 1.3em;
  text-align: center;
  font-style: italic;
  font-size: 1.05em;
}

/* Collection pages should not use newspaper article columns */
.ws-periodical-index-content {
  column-count: 1;
  column-rule: 0;
  text-align: left;
}

/* Individual issue cards */
.ws-periodical-issue-link {
  margin: 1em 0;
  padding: 1em 1.2em;
  background: rgba(255, 255, 255, 0.32);
  border: 1px solid #9c875e;
  box-shadow: 0 0 0 2px rgba(213, 195, 145, 0.45) inset;
  break-inside: avoid;
}

.ws-periodical-issue-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35em;
  font-weight: bold;
  line-height: 1.2;
}

.ws-periodical-issue-title a {
  color: #261d12;
  text-decoration: none;
}

.ws-periodical-issue-title a:hover {
  text-decoration: underline;
}

.ws-periodical-issue-meta {
  margin-top: 0.35em;
  font-size: 0.85em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5c4a2f;
}

.ws-periodical-issue-meta span + span::before {
  content: " • ";
  margin: 0 0.35em;
}

.ws-periodical-issue-summary {
  margin-top: 0.7em;
  font-size: 0.98em;
  line-height: 1.45;
}

/* Optional two-column issue grid on wider screens */
@media screen and (min-width: 900px) {
  .ws-periodical-index-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1em;
  }

  .ws-periodical-issue-link {
    margin: 0;
  }
}

/* Mobile cleanup */
@media screen and (max-width: 700px) {
  .ws-periodical-index-description {
    text-align: left;
  }

  .ws-periodical-issue-meta span {
    display: block;
  }

  .ws-periodical-issue-meta span + span::before {
    content: "";
    margin: 0;
  }
}

/* Do not use drop caps on periodical archive / collection pages */
.ws-periodical-index .ws-periodical-content p:first-of-type::first-letter,
.ws-periodical-index .ws-periodical-issue-link::first-letter,
.ws-periodical-index .ws-periodical-issue-meta::first-letter,
.ws-periodical-index .ws-periodical-issue-summary::first-letter {
  float: none;
  font-size: inherit;
  line-height: inherit;
  padding-right: 0;
  font-weight: inherit;
}