MediaWiki:Common.css: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1,087:
/* ── Theme: EVERY wikitable, any type ── */
.wikitable { width: 100% !important; }
 
/* ── Chunk Info (summary Phase 3): per-chunk tags + data-items box.
Infobox geometry — narrow right float in the data voice — as the
ONE exception to the full-width wikitable clamp above (higher
specificity carries the !important override). Emitted by the
summary renderer as class-only markup. ── */
.mw-parser-output table.chunkinfo {
width: var(--ed-infobox-w) !important;
min-width: 0 !important;
/* the list-geometry rule positions every li (for the ::before markers),
and positioned boxes paint ABOVE floats — bullets flowing beside the
box were swallowing its clicks. Lift the box one stacking level. */
position: relative;
z-index: 1;
}
@media (min-width: 640px) {
.mw-parser-output table.chunkinfo {
float: right; clear: right;
margin: 0.5em 0 0.5em 1em;
}
}
 
table.wikitable {
Line 1,336 ⟶ 1,357:
kept deliberately: "renders fine") */
--ed-small: 0.875rem; /* THE small size: tables, infobox, TOC, footer — 14px */
--ed-h-ratio: 1.15; /* HEADING LADDER — GEOMETRIC: each level is the
one below × this ratio (h6 = body ×1, h5 ×r,
h4 ×r², h3 ×r³, h2 ×r⁴ ≈ 17/19.6/22.5/25.9/
29.7px). A constant RATIO, not a constant
increment: size perception is ratio-based, so
an arithmetic ladder (+0.2 each) compresses at
the top — h2/h3 would sit only 12% apart while
h5/h6 sat 20% apart. h6 is anchored AT body
size (it is the chunk/unit heading, and table
captions twin it); h1 stays off the ladder at
2.4rem — page identity, with the one dark rule
(leaves h1/h2 ≈ 1.29 of separation).
Expressed as repeated multiplication of
--ed-body, NOT em: an em resolves against a
parent's size and would silently scale inside
tables/divs. */
--ed-title-gap: 2.1rem; /* CALIBRATION: moves the title rule DOWN */
--ed-heading-gap: 4rem; /* space BEFORE h2 AND h3 — the SAME for both (rem, not em,
Line 1,536 ⟶ 1,573:
.mw-parser-output div[style*="overflow-x"] > .copy-table-scroll { margin-top: 0 !important; }
 
/* caption = the table's TITLE asin athe quieth6 EYEBROWvoice (thebold body sharedtext, kickerno
uppercase/letter-spacing — the old eyebrow treatment is retired here). */
treatment — breadcrumb / infobox header): uppercase sans, letter-spaced,
secondary ink, with air below before the grid. No glyph. */
table.wikitable caption {
font-family: var(--ed-font);
font-size: var(--ed-smallbody);
font-weight: 600700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--text-dark);
text-align: left;
padding-bottom: 0.7em5em; /* CALIBRATION: caption→grid air (~8.5px at 17px;
was 0.2em = too tight per user) */
}
 
Line 1,653 ⟶ 1,688:
.skin-minerva .content h2 {
font-family: var(--ed-font);
font-size: 1.875rem;calc(var(--ed-body) * var(--ed-h-ratio) /* 30px */var(--ed-h-ratio)
* var(--ed-h-ratio) * var(--ed-h-ratio)); /* r⁴ ≈ 30px */
line-height: 1.25;
font-weight: 600;
Line 1,668 ⟶ 1,704:
.skin-minerva .content h3 {
font-family: var(--ed-font);
font-size: 1.5rem;calc(var(--ed-body) * var(--ed-h-ratio) /* 24px */var(--ed-h-ratio)
* var(--ed-h-ratio)); /* r³ ≈ 26px */
font-weight: 600;
color: var(--text-dark) !important;
Line 1,675 ⟶ 1,712:
margin-bottom: 0.6em;
}
/* h4/h5: their own rungs on the ladder — at body size they were
indistinguishable from bold prose (and from h6) once the one-font
consolidation erased the old serif/sans distinction. Shared 2rem gap
above = half the h2/h3 gap (same shared-gap logic). */
.mw-body-content h4, .mw-body-content h5 {
font-family: var(--ed-font);
font-weight: 700;
font-size: var(--ed-body); /* body-size headings track the body token */
font-weight: 600;
color: var(--text-dark) !important;
margin-top: 2rem;
margin-bottom: 0.4em;
}
.mw-body-content h4 {
font-size: calc(var(--ed-body) * var(--ed-h-ratio) * var(--ed-h-ratio)); /* r² ≈ 22px */
}
.mw-body-content h5 {
font-size: calc(var(--ed-body) * var(--ed-h-ratio)); /* r ≈ 20px */
}
/* h6 = bold BODY text (serif, body size), not a sans heading */
Line 1,688 ⟶ 1,736:
color: var(--text-dark) !important;
}
/* h6 spacing: MORENORMAL paragraph spacing before, LESS after(0.5em, This wiki wraps headings inVector's ap
default), LESS after. The old "MORE before" (1.8em) predates the
.mw-heading<N> div that owns the layout margin (cf. the .mw-heading2 rule
chunk-page marker: the marker line now precedes every h6 and carries
above), so the margin MUST sit on the wrapper — also on the bare h6 as a
the visual separation itself, so a wide h6 top margin double-spaced
fallback for un-wrapped DOM. */
the sections (user rule 2026-07-20). This wiki wraps headings in a
.mw-heading<N> div that owns the layout margin (cf. the .mw-heading2
rule above), so the margin MUST sit on the wrapper — also on the
bare h6 as a fallback for un-wrapped DOM. */
.mw-body-content h6,
.mw-body-content .mw-heading6 {
margin: 10.8em5em 0 0.2em !important;
}
/* pull the block right after an h6 up close, so "less space after" holds even
Line 2,410 ⟶ 2,462:
.mw-parser-output .infobox { width: 100% !important; } /* full-width on mobile */
h1#firstHeading, .mw-first-heading { font-size: 1.7rem; }
/* the WHOLE ladder tightens on narrow screens via one ratio override.
.mw-body-content h2, .mw-body-content .mw-heading2 { font-size: 1.22rem; }
(Was an h2-only 1.22rem override, which INVERTED the hierarchy: h3
kept its desktop size and rendered bigger than h2.) */
:root { --ed-h-ratio: 1.08; }
.ext-aiassistant-prompt-composer { border-bottom: 1px solid var(--text-dark) !important; }
/* restate the mobile keyboard clearance — the desktop 12px inset above
Line 2,515 ⟶ 2,570:
interaction only. ── */
 
/* PDF page marker: a quiet rightLEFT-aligned "[p. N]" folio deep-linking the
source PDF at that page (#page=N) — no rule; the link's resting-grey /
coral-on-hover underline is the only ornament (house link convention). */
Left, not right: right-side placement collided with the infobox and
other right floats; on the left the marker is always alone on its
line (user rule 2026-07-20). */
.ed-pdfpage {
/* same true-center trick as .ed-chunk: shrink-wrap + auto margins
margin: 1.4em 0 0.9em;
center on the full body width even beside the infobox float */
text-align: right;
display: block;
width: max-content;
margin: 1.4em auto 0.9em;
font-size: var(--ed-small);
line-height: 1.7;
Line 2,540 ⟶ 2,601:
.ed-pdfpage a:hover,
.mw-parser-output .ed-pdfpage a.external:hover {
text-decoration-color: var(--ed-accent);
text-decoration-thickness: 2px;
}
 
/* Chunk/page provenance marker on SUMMARY pages (Template:Chunk):
"[c. 20; p. 3]" LEFT-aligned on its own line above the chunk heading,
p. 3 linking the Document: transcript's page anchor — same quiet
folio treatment as .ed-pdfpage. Left, not floated right: floats
collided with the infobox / {{Indexing}} key-figures boxes (user
rule 2026-07-20). The link is INTERNAL (no a.external specificity
war), but the strengthened selector is kept for symmetry/safety. */
.ed-chunk {
/* center on the FULL body width, floats ignored: text-align centers
within the float-narrowed line box (drifted left beside the
infobox / key-figures boxes); a shrink-wrapped block with auto
margins centers against the containing block itself. */
display: block;
width: max-content;
margin: 0 auto;
font-size: var(--ed-small);
line-height: 1.7;
}
.ed-chunk a,
.mw-parser-output .ed-chunk a {
color: var(--text-dark);
background-image: none;
padding-right: 0;
text-decoration: underline;
text-decoration-color: var(--ed-underline);
text-decoration-thickness: 1px;
text-underline-offset: 0.18em;
}
.ed-chunk a:hover,
.mw-parser-output .ed-chunk a:hover {
text-decoration-color: var(--ed-accent);
text-decoration-thickness: 2px;