MediaWiki:Common.css: Difference between revisions
Content deleted Content added
No edit summary Tag: Reverted |
No edit summary |
||
| (17 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,250 ⟶ 1,271:
================================================================= */
/* ── Webfonts
headers/totals/labels their firm contrast). STIX Two Text stays
loaded as glyph fallback. @font-face is safe anywhere in
ResourceLoader output — never use @import here (gadget CSS is
concatenated BEFORE Common.css and breaks it, per T165040).
@font-face {
font-family: "PT Serif";
Line 1,323 ⟶ 1,344:
the old values). ── */
:root {
--ed-font: "PT Serif", "STIX Two Text", Georgia, "Times New Roman", serif;
--text-dark: #0d0d0d; /* THE ink: all text + all lines */
--ed-underline: #ccc1b7; /* resting link underline tint */
Line 1,332 ⟶ 1,353:
the float) — the old --ed-measure prose cap
was retired 2026-07 */
--ed-body: 1.0625rem; /* body size — 17px
--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,408 ⟶ 1,444:
body { font-family: var(--ed-font); }
/* ── Tagline ("Unleashing intelligence", the .mw-logo::after): NO underline
/* ── Logo on the TOC axis. Measured on the live DOM (1120px viewport):
Line 1,538 ⟶ 1,573:
.mw-parser-output div[style*="overflow-x"] > .copy-table-scroll { margin-top: 0 !important; }
/* caption = the table's TITLE
uppercase/letter-spacing — the old eyebrow treatment is retired here). */
table.wikitable caption {
font-family: var(--ed-font);
font-size: var(--ed-
font-weight:
color: var(--text-dark);
text-align: left;
padding-bottom: 0.
was 0.2em = too tight per user) */
}
Line 1,655 ⟶ 1,688:
.skin-minerva .content h2 {
font-family: var(--ed-font);
font-size:
* var(--ed-h-ratio) * var(--ed-h-ratio)); /* r⁴ ≈ 30px */
line-height: 1.25;
font-weight: 600;
Line 1,670 ⟶ 1,704:
.skin-minerva .content h3 {
font-family: var(--ed-font);
font-size:
* var(--ed-h-ratio)); /* r³ ≈ 26px */
font-weight: 600;
color: var(--text-dark) !important;
Line 1,677 ⟶ 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;
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,690 ⟶ 1,736:
color: var(--text-dark) !important;
}
/* h6 spacing:
default), LESS after. The old "MORE before" (1.8em) predates the
chunk-page marker: the marker line now precedes every h6 and carries
the visual separation itself, so a wide h6 top margin double-spaced
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:
}
/* pull the block right after an h6 up close, so "less space after" holds even
Line 1,944 ⟶ 1,994:
line-height: 1.5; /* = the infobox / wikitable line-height */
}
/* level-2+ sits flush under level-1 (
100% drops the sublist onto its own row below the parent's title + chevron */
.vector-toc .vector-toc-list-item > .vector-toc-list {
Line 1,970 ⟶ 2,020:
}
/* NO section numbers — Vector ships .vector-toc-numb display:none and we no
longer re-show it. Depth is carried by
the first flex item of the text row off Vector's per-level li classes:
a CSS BORDER-DRAWN squared elbow (└ shape) — vertical stub into a
horizontal arm, ONE continuous 1px ink stroke by construction. Glyph
attempts ("|–" pipes, U+2514 └ from a fallback font) were rejected: two
fonts never join their strokes. Depth = the ARM LENGTH (child short,
grandchild longer). Top-level entries carry no marker. */
.vector-toc .vector-toc-level-2 > .vector-toc-link .vector-toc-text::before,
.vector-toc .vector-toc-level-3 > .vector-toc-link .vector-toc-text::before,
.vector-toc .vector-toc-level-4 > .vector-toc-link .vector-toc-text::before {
content: "";
flex: 0 0 auto;
height: 0.55em; /* vertical stub height */
border-left: 1px solid currentColor;
border-bottom: 1px solid currentColor;
position: relative;
bottom: 0.28em; /* CALIBRATION: lifts the arm off the text
baseline onto the dash axis (an empty flex
item baseline-aligns its bottom edge) */
margin-right: 0.4em;
}
.vector-toc .vector-toc-level-2 > .vector-toc-link .vector-toc-text::before { width: 0.6em; }
.vector-toc .vector-toc-level-3 > .vector-toc-link .vector-toc-text::before { width: 1.05em; }
.vector-toc .vector-toc-level-4 > .vector-toc-link .vector-toc-text::before { width: 1.5em; }
/* the title span is unclassed in Vector's DOM; it is the wrapping block */
.vector-toc .vector-toc-text > span:not(.vector-toc-numb) {
Line 2,092 ⟶ 2,151:
width: 100% !important;
margin: 0.8em 0 1.8em !important;
/* inner text on the BULLET-TEXT axis (= the wikitable row-label axis):
1px frame + this padding = --ed-list-indent, so "Organization" starts
exactly where list text and table labels start */
padding-left: calc(var(--ed-list-indent) - 1px);
padding-right: calc(var(--ed-list-indent) - 1px);
}
body:not(.skin-minerva) .ed-infobox-band .infobox > tbody {
Line 2,106 ⟶ 2,170:
grid-column: 1 / -1;
}
body:not(.skin-minerva) .ed-infobox-band .infobox .infobox-above {
display: block;
padding-left: 0; /* the card variant insets the eyebrow 0.2em — in the
band the field cells have zero padding, so the
eyebrow must drop its inset to share their axis */
padding-right: 0;
}
/* each field = its two table cells stacked: small muted label over value */
body:not(.skin-minerva) .ed-infobox-band .infobox > tbody > tr > th.infobox-label,
Line 2,392 ⟶ 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.
(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,497 ⟶ 2,570:
interaction only. ── */
/* PDF page marker: a quiet
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
center on the full body width even beside the infobox float */
display: block;
width: max-content;
margin: 1.4em auto 0.9em;
font-size: var(--ed-small);
line-height: 1.7;
Line 2,522 ⟶ 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;
| |||