MediaWiki:Common.css
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* ============================================================
Marovi — Custom Reading Experience Styles
Applied via MediaWiki:Common.css
============================================================ */
/* --- Summary Box ------------------------------------------- */
.marovi-summary {
background: #f0f4f8;
border-left: 4px solid #3a7bd5;
padding: 16px 20px;
margin: 0 0 24px 0;
border-radius: 0 6px 6px 0;
font-size: 0.95em;
line-height: 1.7;
color: #1a1a2e;
}
.marovi-summary-label {
font-weight: 600;
font-size: 0.8em;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #3a7bd5;
margin-bottom: 8px;
}
.marovi-summary-text {
margin-bottom: 10px;
}
.marovi-summary-text:last-child {
margin-bottom: 0;
}
.marovi-summary-keypoints {
margin: 10px 0 0 0;
padding: 0;
list-style: none;
}
.marovi-summary-keypoints li {
padding: 3px 0 3px 18px;
position: relative;
}
.marovi-summary-keypoints li::before {
content: "\2022";
color: #3a7bd5;
font-weight: bold;
position: absolute;
left: 0;
}
/* --- Infobox (Article + Paper) ----------------------------- */
.marovi-infobox {
float: right;
clear: right;
width: 280px;
margin: 0 0 16px 20px;
border: 1px solid #c8ccd1;
border-radius: 6px;
background: #fafbfc;
font-size: 0.88em;
line-height: 1.5;
}
.marovi-infobox-header {
background: #2b3a4e;
color: #ffffff;
padding: 10px 14px;
font-weight: 600;
font-size: 1.05em;
border-radius: 6px 6px 0 0;
}
.marovi-infobox-header.marovi-infobox-header--paper {
background: #1a4a2e;
}
.marovi-infobox-body {
padding: 0;
}
.marovi-infobox-row {
padding: 8px 14px;
border-bottom: 1px solid #eaecef;
display: flex;
gap: 8px;
}
.marovi-infobox-row:last-child {
border-bottom: none;
}
.marovi-infobox-label {
font-weight: 600;
color: #54616c;
min-width: 70px;
flex-shrink: 0;
font-size: 0.92em;
}
.marovi-infobox-value {
color: #1a1a2e;
}
.marovi-infobox-value a {
color: #3a7bd5;
}
.marovi-infobox-tags {
display: flex;
flex-wrap: wrap;
gap: 4px;
}
.marovi-infobox-tag {
display: inline-block;
background: #e8edf2;
color: #2b3a4e;
padding: 2px 8px;
border-radius: 3px;
font-size: 0.9em;
}
.marovi-infobox-links {
padding: 10px 14px;
border-top: 1px solid #eaecef;
background: #f5f7f9;
border-radius: 0 0 6px 6px;
}
.marovi-infobox-links-label {
font-weight: 600;
color: #54616c;
font-size: 0.85em;
text-transform: uppercase;
letter-spacing: 0.03em;
margin-bottom: 4px;
}
.marovi-infobox-links ul {
margin: 0;
padding: 0;
list-style: none;
}
.marovi-infobox-links li {
padding: 2px 0;
}
/* --- Related Content --------------------------------------- */
.marovi-related {
background: #f5f7f9;
border: 1px solid #dce1e6;
border-radius: 6px;
padding: 16px 20px;
margin: 24px 0;
}
.marovi-related-header {
font-weight: 600;
font-size: 1em;
color: #2b3a4e;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid #dce1e6;
}
.marovi-related-columns {
display: flex;
gap: 32px;
}
.marovi-related-column {
flex: 1;
min-width: 0;
}
.marovi-related-column-title {
font-weight: 600;
font-size: 0.88em;
text-transform: uppercase;
letter-spacing: 0.03em;
color: #54616c;
margin-bottom: 6px;
}
.marovi-related-column ul {
margin: 0;
padding: 0;
list-style: none;
}
.marovi-related-column li {
padding: 3px 0;
}
.marovi-related-column li a {
color: #3a7bd5;
}
/* --- Glossary Terms ---------------------------------------- */
.marovi-term {
border-bottom: 1px dotted #6b7b8d;
cursor: help;
position: relative;
}
.marovi-term:hover {
border-bottom-color: #3a7bd5;
color: #3a7bd5;
}
.marovi-term-popup {
position: absolute;
z-index: 1000;
background: #ffffff;
border: 1px solid #c8ccd1;
border-radius: 6px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
padding: 14px 16px;
max-width: 320px;
min-width: 200px;
font-size: 0.88em;
line-height: 1.6;
color: #1a1a2e;
pointer-events: auto;
}
.marovi-term-popup::before {
content: "";
position: absolute;
top: -6px;
left: 20px;
width: 12px;
height: 12px;
background: #ffffff;
border-left: 1px solid #c8ccd1;
border-top: 1px solid #c8ccd1;
transform: rotate(45deg);
}
.marovi-term-popup-title {
font-weight: 600;
font-size: 1.05em;
margin-bottom: 6px;
color: #2b3a4e;
}
.marovi-term-popup-definition {
margin-bottom: 8px;
}
.marovi-term-popup-link {
font-size: 0.9em;
}
.marovi-term-popup-link a {
color: #3a7bd5;
}
/* --- Breadcrumb Navigation --------------------------------- */
.marovi-topicnav {
font-size: 0.85em;
color: #54616c;
margin-bottom: 12px;
padding: 6px 0;
border-bottom: 1px solid #eaecef;
}
.marovi-topicnav a {
color: #3a7bd5;
}
.marovi-topicnav-separator {
margin: 0 6px;
color: #c8ccd1;
}
/* --- Language Tabs ----------------------------------------- */
.marovi-lang-tabs {
display: flex;
gap: 0;
margin: -8px 0 16px 0;
border-bottom: 2px solid #eaecef;
font-size: 0.88em;
}
.marovi-lang-tab {
padding: 6px 14px;
color: #54616c;
text-decoration: none;
border-bottom: 2px solid transparent;
margin-bottom: -2px;
transition: color 0.15s, border-color 0.15s;
}
.marovi-lang-tab:hover {
color: #3a7bd5;
text-decoration: none;
}
.marovi-lang-tab--active {
color: #2b3a4e;
font-weight: 600;
border-bottom-color: #3a7bd5;
}
/* --- Math Readability -------------------------------------- */
.mwe-math-element {
font-size: 1.1em;
margin: 6px 0;
}
dd .mwe-math-element,
.mwe-math-element:only-child {
margin: 12px 0;
}
/* --- Code Blocks ------------------------------------------- */
pre {
background: #f5f7f9;
border: 1px solid #dce1e6;
border-radius: 4px;
padding: 14px 16px;
font-size: 0.9em;
line-height: 1.6;
overflow-x: auto;
}
.mw-highlight {
border-radius: 4px;
margin: 8px 0;
}
/* --- Tables ------------------------------------------------ */
.wikitable {
border-collapse: collapse;
margin: 16px 0;
font-size: 0.92em;
}
.wikitable th {
background: #f0f4f8;
font-weight: 600;
padding: 8px 12px;
}
.wikitable td {
padding: 8px 12px;
}
/* --- General Typography ------------------------------------ */
.mw-parser-output {
line-height: 1.7;
}
.mw-parser-output > p:first-of-type {
font-size: 1.02em;
}
/* --- CJK Accommodations ----------------------------------- */
.marovi-lang-zh .mw-parser-output {
font-size: 1.03em;
line-height: 1.85;
font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
}
.marovi-lang-zh .marovi-term-popup {
font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
line-height: 1.8;
}
/* --- Responsive -------------------------------------------- */
@media (max-width: 720px) {
.marovi-infobox {
float: none;
width: 100%;
margin: 0 0 16px 0;
}
.marovi-related-columns {
flex-direction: column;
gap: 16px;
}
.marovi-term-popup {
position: fixed;
bottom: 0;
left: 0;
right: 0;
max-width: none;
border-radius: 12px 12px 0 0;
box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
}
.marovi-term-popup::before {
display: none;
}
}
/* --- Print ------------------------------------------------- */
@media print {
.marovi-infobox,
.marovi-term-popup,
.marovi-lang-tabs,
.marovi-topicnav {
display: none;
}
.marovi-summary {
border: 1px solid #ccc;
page-break-inside: avoid;
}
.marovi-term {
border-bottom: none;
cursor: default;
}
}