MediaWiki:Common.css
Appearance
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)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* ============================================================
MAMA ALERT β Common styles v2
============================================================ */
/* βββ 1. THEME TOKENS ββββββββββββββββββββββββββββββββββββββββ
Light mode is the default. Dark mode kicks in via:
a) html.skin-theme-clientpref-night (user picked dark)
b) html.skin-theme-clientpref-os + OS dark (user follows OS)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */
:root {
/* surface */
--mama-bg: #ffffff;
--mama-surface: #f7f8fa;
--mama-surface-2: #eef0f3;
--mama-text: #1a1a1a;
--mama-text-muted:#5b6470;
--mama-border: #d9dde2;
--mama-border-strong: #b6bcc4;
--mama-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);
--mama-shadow-lg: 0 4px 8px rgba(0,0,0,.06), 0 12px 28px rgba(0,0,0,.10);
/* severity hues β kept constant across themes for safety recognition */
--mama-yellow: #E6B017;
--mama-yellow-fg: #2a1f00;
--mama-yellow-soft: #FFF4CC;
--mama-yellow-ring: #E6B01755;
--mama-orange: #E07B2C;
--mama-orange-fg: #ffffff;
--mama-orange-soft: #FCE4D0;
--mama-orange-ring: #E07B2C55;
--mama-red: #C0392B;
--mama-red-fg: #ffffff;
--mama-red-soft: #F8D6D2;
--mama-red-ring: #C0392B55;
/* accent (links, highlights) */
--mama-accent: #1f6feb;
}
/* dark mode β explicit night */
html.skin-theme-clientpref-night {
--mama-bg: #101418;
--mama-surface: #181d23;
--mama-surface-2: #20262d;
--mama-text: #e8ecf1;
--mama-text-muted:#9aa3ad;
--mama-border: #2c333b;
--mama-border-strong: #3d454f;
--mama-shadow: 0 1px 2px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.35);
--mama-shadow-lg: 0 4px 8px rgba(0,0,0,.5), 0 12px 28px rgba(0,0,0,.45);
--mama-yellow-soft: #3d2f0a;
--mama-orange-soft: #3d2510;
--mama-red-soft: #3d1818;
--mama-accent: #4d8eee;
}
/* dark mode β follow OS preference */
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os {
--mama-bg: #101418;
--mama-surface: #181d23;
--mama-surface-2: #20262d;
--mama-text: #e8ecf1;
--mama-text-muted:#9aa3ad;
--mama-border: #2c333b;
--mama-border-strong: #3d454f;
--mama-shadow: 0 1px 2px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.35);
--mama-shadow-lg: 0 4px 8px rgba(0,0,0,.5), 0 12px 28px rgba(0,0,0,.45);
--mama-yellow-soft: #3d2f0a;
--mama-orange-soft: #3d2510;
--mama-red-soft: #3d1818;
--mama-accent: #4d8eee;
}
}
/* βββ 2. SEVERITY BANNER (page hero) βββββββββββββββββββββββ */
.mama-banner {
display: flex;
align-items: center;
gap: 18px;
padding: 22px 26px;
margin: 4px 0 22px;
border-radius: 10px;
position: relative;
overflow: hidden;
box-shadow: var(--mama-shadow);
}
.mama-banner::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(120deg, rgba(255,255,255,0) 60%, rgba(255,255,255,.18));
pointer-events: none;
}
.mama-banner-icon {
font-size: 2.6em;
line-height: 1;
flex-shrink: 0;
filter: drop-shadow(0 2px 4px rgba(0,0,0,.15));
}
.mama-banner-body { flex: 1; min-width: 0; }
.mama-banner-meta {
font-size: .78em;
letter-spacing: 1.6px;
font-weight: 700;
text-transform: uppercase;
opacity: .9;
margin-bottom: 4px;
}
.mama-banner-title {
font-size: 2.05em;
font-weight: 800;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0;
}
.mama-banner-sub {
margin-top: 6px;
font-size: 1em;
opacity: .92;
font-weight: 500;
}
.mama-banner.mama-yellow { background: var(--mama-yellow); color: var(--mama-yellow-fg); }
.mama-banner.mama-orange { background: var(--mama-orange); color: var(--mama-orange-fg); }
.mama-banner.mama-red { background: var(--mama-red); color: var(--mama-red-fg); }
/* βββ 3. CARD INFOBOX ββββββββββββββββββββββββββββββββββββββ */
.mama-infobox {
float: right;
width: 300px;
margin: 0 0 18px 22px;
background: var(--mama-surface);
color: var(--mama-text);
border: 1px solid var(--mama-border);
border-radius: 10px;
font-size: .92em;
border-collapse: separate;
border-spacing: 0;
overflow: hidden;
box-shadow: var(--mama-shadow);
}
.mama-infobox th,
.mama-infobox td {
padding: 9px 14px;
vertical-align: top;
text-align: left;
}
.mama-infobox th {
background: var(--mama-surface-2);
width: 110px;
font-weight: 600;
color: var(--mama-text-muted);
font-size: .9em;
border-bottom: 1px solid var(--mama-border);
}
.mama-infobox td {
border-bottom: 1px solid var(--mama-border);
}
.mama-infobox tr:last-child th,
.mama-infobox tr:last-child td {
border-bottom: 0;
}
.mama-infobox-title {
text-align: center !important;
background: var(--mama-text) !important;
color: var(--mama-bg) !important;
font-size: 1em;
letter-spacing: .8px;
font-weight: 700;
padding: 12px !important;
text-transform: uppercase;
}
.mama-infobox-yellow .mama-infobox-title { background: var(--mama-yellow) !important; color: var(--mama-yellow-fg) !important; }
.mama-infobox-orange .mama-infobox-title { background: var(--mama-orange) !important; color: var(--mama-orange-fg) !important; }
.mama-infobox-red .mama-infobox-title { background: var(--mama-red) !important; color: var(--mama-red-fg) !important; }
.mama-infobox-image {
text-align: center !important;
padding: 14px !important;
background: var(--mama-surface-2);
}
.mama-call-108 {
display: inline-block;
background: var(--mama-red);
color: var(--mama-red-fg);
padding: 4px 10px;
border-radius: 14px;
font-weight: 700;
font-size: .92em;
letter-spacing: .3px;
}
/* βββ 4. ACTION STEPS ββββββββββββββββββββββββββββββββββββββ */
.mama-action {
background: var(--mama-surface);
border: 1px solid var(--mama-border);
border-radius: 10px;
padding: 18px 22px;
margin: 16px 0;
box-shadow: var(--mama-shadow);
}
.mama-action-header {
font-weight: 700;
font-size: 1.05em;
margin-bottom: 12px;
color: var(--mama-text);
display: flex;
align-items: center;
gap: 10px;
}
.mama-action-header::before {
content: "β";
display: inline-flex;
align-items: center;
justify-content: center;
width: 26px; height: 26px;
background: var(--mama-accent);
color: #fff;
border-radius: 50%;
font-size: .85em;
font-weight: 700;
}
.mama-action ol,
.mama-action ul {
margin: 0;
padding-left: 24px;
}
.mama-action li {
margin: 8px 0;
line-height: 1.5;
}
.mama-action li strong {
color: var(--mama-red);
font-weight: 700;
}
/* βββ 5. RISK WINDOW βββββββββββββββββββββββββββββββββββββββ */
.mama-risk {
background: var(--mama-orange-soft);
border: 1px solid var(--mama-orange-ring);
border-left: 5px solid var(--mama-orange);
padding: 16px 20px;
margin: 18px 0;
border-radius: 0 10px 10px 0;
color: var(--mama-text);
}
.mama-risk-header {
font-weight: 700;
font-size: 1.05em;
margin-bottom: 8px;
color: var(--mama-orange);
display: flex;
align-items: center;
gap: 8px;
text-transform: uppercase;
letter-spacing: .5px;
}
.mama-risk-body { line-height: 1.55; }
/* βββ 6. REFERRAL PATHWAY ββββββββββββββββββββββββββββββββββ */
.mama-pathway {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
background: var(--mama-surface);
border: 1px solid var(--mama-border);
padding: 14px 18px;
border-radius: 10px;
margin: 14px 0;
}
.mama-pathway-label {
font-size: .8em;
letter-spacing: 1px;
color: var(--mama-text-muted);
font-weight: 700;
text-transform: uppercase;
margin-right: 6px;
}
.mama-pathway-step {
background: var(--mama-bg);
border: 1px solid var(--mama-border-strong);
color: var(--mama-text);
padding: 7px 14px;
border-radius: 20px;
font-weight: 600;
font-size: .94em;
white-space: nowrap;
}
.mama-pathway-arrow {
font-size: 1.4em;
color: var(--mama-text-muted);
font-weight: 700;
}
/* βββ 7. EMERGENCY FOOTER ββββββββββββββββββββββββββββββββββ */
.mama-emergency {
display: flex;
align-items: center;
gap: 18px;
background: var(--mama-red);
color: var(--mama-red-fg);
padding: 18px 22px;
border-radius: 10px;
margin: 26px 0 8px;
box-shadow: 0 6px 18px rgba(192, 57, 43, .35);
}
.mama-emergency-call {
flex-shrink: 0;
background: rgba(255,255,255,.18);
border: 2px solid rgba(255,255,255,.4);
border-radius: 50%;
width: 64px; height: 64px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.65em;
font-weight: 800;
}
.mama-emergency-body { flex: 1; }
.mama-emergency-title {
font-size: 1.15em;
font-weight: 800;
margin-bottom: 4px;
letter-spacing: .3px;
}
.mama-emergency-sub {
font-size: .95em;
opacity: .92;
line-height: 1.4;
}
/* βββ 8. AUDIO GUIDE βββββββββββββββββββββββββββββββββββββββ */
.mama-audio {
background: var(--mama-surface);
border: 1px solid var(--mama-border);
border-left: 4px solid var(--mama-accent);
padding: 14px 18px;
border-radius: 0 10px 10px 0;
margin: 14px 0;
}
.mama-audio-header {
display: flex;
align-items: center;
gap: 10px;
font-weight: 700;
margin-bottom: 8px;
color: var(--mama-text);
}
.mama-audio-icon { font-size: 1.3em; }
.mama-audio-meta {
font-size: .85em;
color: var(--mama-text-muted);
font-weight: 500;
}
/* βββ 9. LANGUAGE SWITCHER ββββββββββββββββββββββββββββββββ */
.mama-langbar {
display: flex;
gap: 4px;
align-items: center;
background: var(--mama-surface);
border: 1px solid var(--mama-border);
padding: 4px;
border-radius: 26px;
width: fit-content;
margin: 0 0 14px auto;
font-size: .9em;
}
.mama-langbar a,
.mama-langbar span {
padding: 6px 14px;
border-radius: 22px;
text-decoration: none;
color: var(--mama-text-muted);
font-weight: 600;
transition: background .15s, color .15s;
}
.mama-langbar a:hover {
background: var(--mama-surface-2);
color: var(--mama-text);
text-decoration: none;
}
.mama-langbar .mama-lang-active {
background: var(--mama-accent);
color: #fff;
}
/* βββ 10. MAIN PAGE β STAT BLOCKS ββββββββββββββββββββββββ */
.mama-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 14px;
margin: 22px 0;
}
.mama-stat {
text-align: center;
background: var(--mama-surface);
border: 1px solid var(--mama-border);
padding: 22px 14px;
border-radius: 12px;
box-shadow: var(--mama-shadow);
transition: transform .15s ease, box-shadow .15s ease;
}
.mama-stat:hover {
transform: translateY(-2px);
box-shadow: var(--mama-shadow-lg);
}
.mama-stat-num {
font-size: 2.6em;
font-weight: 800;
line-height: 1;
color: var(--mama-accent);
letter-spacing: -.02em;
}
.mama-stat-label {
font-size: .8em;
color: var(--mama-text-muted);
margin-top: 8px;
letter-spacing: 1px;
font-weight: 700;
text-transform: uppercase;
}
/* βββ 11. MAIN PAGE β CARD GRID ββββββββββββββββββββββββββ */
.mama-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 14px;
margin: 18px 0;
}
.mama-grid-card {
position: relative;
display: block;
padding: 16px 18px 16px 22px;
border-radius: 10px;
background: var(--mama-surface);
border: 1px solid var(--mama-border);
text-decoration: none !important;
color: var(--mama-text) !important;
box-shadow: var(--mama-shadow);
transition: transform .15s ease, box-shadow .15s ease, border-color .15s;
overflow: hidden;
}
.mama-grid-card::before {
content: "";
position: absolute;
left: 0; top: 0; bottom: 0;
width: 5px;
background: var(--mama-border-strong);
}
.mama-grid-card.yellow::before { background: var(--mama-yellow); }
.mama-grid-card.orange::before { background: var(--mama-orange); }
.mama-grid-card.red::before { background: var(--mama-red); }
.mama-grid-card:hover {
transform: translateY(-3px);
box-shadow: var(--mama-shadow-lg);
text-decoration: none;
}
.mama-grid-card.yellow:hover { border-color: var(--mama-yellow); }
.mama-grid-card.orange:hover { border-color: var(--mama-orange); }
.mama-grid-card.red:hover { border-color: var(--mama-red); }
.mama-grid-card-meta {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 6px;
}
.mama-grid-card-num {
font-size: .72em;
letter-spacing: 1.4px;
font-weight: 700;
color: var(--mama-text-muted);
}
.mama-grid-card-badge {
font-size: .68em;
font-weight: 700;
letter-spacing: 1px;
padding: 3px 8px;
border-radius: 10px;
text-transform: uppercase;
}
.mama-grid-card.yellow .mama-grid-card-badge { background: var(--mama-yellow-soft); color: var(--mama-yellow); }
.mama-grid-card.orange .mama-grid-card-badge { background: var(--mama-orange-soft); color: var(--mama-orange); }
.mama-grid-card.red .mama-grid-card-badge { background: var(--mama-red-soft); color: var(--mama-red); }
.mama-grid-card-title {
font-weight: 700;
font-size: 1.05em;
line-height: 1.25;
margin: 2px 0 6px;
color: var(--mama-text);
}
.mama-grid-card-desc {
font-size: .87em;
line-height: 1.4;
color: var(--mama-text-muted);
}
/* βββ 12. SEVERITY LEGEND TABLE βββββββββββββββββββββββββββ */
.mama-legend {
width: 100%;
border-collapse: separate;
border-spacing: 12px 0;
margin: 18px 0;
}
.mama-legend td {
width: 33.33%;
vertical-align: top;
padding: 18px 18px;
border-radius: 10px;
border-top: 5px solid var(--mama-border-strong);
background: var(--mama-surface);
border: 1px solid var(--mama-border);
}
.mama-legend td.yellow { border-top-color: var(--mama-yellow); }
.mama-legend td.orange { border-top-color: var(--mama-orange); }
.mama-legend td.red { border-top-color: var(--mama-red); }
.mama-legend-label {
font-size: .8em;
letter-spacing: 1.4px;
font-weight: 800;
text-transform: uppercase;
margin-bottom: 6px;
}
.mama-legend td.yellow .mama-legend-label { color: var(--mama-yellow); }
.mama-legend td.orange .mama-legend-label { color: var(--mama-orange); }
.mama-legend td.red .mama-legend-label { color: var(--mama-red); }
.mama-legend-headline {
font-size: 1.15em;
font-weight: 700;
margin-bottom: 6px;
}
.mama-legend-body {
font-size: .92em;
line-height: 1.5;
color: var(--mama-text-muted);
}
/* βββ 13. RESPONSIVE βββββββββββββββββββββββββββββββββββββββ */
@media (max-width: 720px) {
.mama-banner { flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px 20px; }
.mama-banner-title { font-size: 1.55em; }
.mama-banner-icon { font-size: 2em; }
.mama-infobox { float: none; width: 100%; margin: 0 0 18px; }
.mama-emergency { flex-direction: column; text-align: center; }
.mama-emergency-call { width: 56px; height: 56px; }
.mama-legend { display: block; }
.mama-legend td { display: block; width: auto; margin-bottom: 12px; }
.mama-langbar { margin: 0 0 14px 0; }
}