MediaWiki:Common.css: Difference between revisions
FelipeArias (talk | contribs) No edit summary Tag: Reverted |
([deploy-bot] Deploy site-wide CSS (v1.2.0)) Tag: ci-deploy |
||
| (One intermediate revision by one other user not shown) | |||
| Line 1: | Line 1: | ||
/* | /* ============================================================ | ||
Marovi — Custom Reading Experience Styles | |||
Applied via MediaWiki:Common.css | |||
============================================================ */ | |||
/* | /* --- Summary Box ------------------------------------------- */ | ||
. | .marovi-summary { | ||
text- | 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; | |||
} | |||
} | } | ||
Latest revision as of 06:11, 24 April 2026
/* ============================================================
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;
}
}