MediaWiki:Common.css: Difference between revisions
Appearance
Adminsuper (talk | contribs) Created page with "β============================================================ MAMA ALERT β Common styles Paste this into MediaWiki:Common.css ============================================================: βSeverity colour palette: :root { --mama-yellow: #F5C518; --mama-yellow-soft: #FFF8DD; --mama-orange: #E67E22; --mama-orange-soft: #FCEAD7; --mama-red: #C0392B; --mama-red-soft: #F9DCD8; --mama-ink: #1A1A1A; --mama-muted: #555; } /* ---------..." Β |
Adminsuper (talk | contribs) No edit summary Β |
||
| Line 1: | Line 1: | ||
/* ============================================================ | /* ============================================================ | ||
Β Β MAMA ALERT β Common styles | Β Β 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 { | :root { | ||
Β Β --mama-yellow: | Β /* surface */ | ||
Β Β --mama-yellow-soft: # | Β --mama-bg:Β Β Β Β #ffffff; | ||
Β Β --mama-orange: # | Β --mama-surface:Β #f7f8fa; | ||
Β Β --mama-orange-soft: # | Β --mama-surface-2: #eef0f3; | ||
Β Β --mama-red:Β Β # | Β --mama-text:Β Β Β #1a1a1a; | ||
Β Β --mama-red-soft: # | Β --mama-text-muted:#5b6470; | ||
Β Β --mama- | Β --mama-border:Β Β #d9dde2; | ||
Β Β --mama-muted: | Β --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 { | .mama-banner { | ||
Β Β | Β Β display: flex; | ||
Β Β padding: | Β align-items: center; | ||
Β Β margin: | Β 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- | .mama-banner-body { flex: 1; min-width: 0; } | ||
Β Β font-size: | .mama-banner-meta { | ||
Β Β letter-spacing: 1. | Β Β font-size: .78em; | ||
Β Β letter-spacing: 1.6px; | |||
Β Β font-weight: 700; | Β Β font-weight: 700; | ||
Β Β opacity: | Β text-transform: uppercase; | ||
Β Β opacity: .9; | |||
Β margin-bottom: 4px; | |||
} | } | ||
.mama-banner- | .mama-banner-title { | ||
Β Β font-size: | Β Β font-size: 2.05em; | ||
Β Β font-weight: 800; | Β Β font-weight: 800; | ||
Β Β line-height: 1.1; | Β Β line-height: 1.1; | ||
Β Β margin | Β letter-spacing: -.02em; | ||
Β Β margin: 0; | |||
} | } | ||
.mama-banner- | .mama-banner-sub { | ||
Β Β | Β Β margin-top: 6px; | ||
Β Β font- | Β Β 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 { | .mama-infobox { | ||
Β Β float: right; | Β Β float: right; | ||
Β Β width: | Β Β width: 300px; | ||
Β Β margin: 0 0 | Β Β margin: 0 0 18px 22px; | ||
Β Β border: 1px solid | Β background: var(--mama-surface); | ||
Β Β | Β color: var(--mama-text); | ||
Β Β font-size: | Β Β border: 1px solid var(--mama-border); | ||
Β Β border-collapse: | Β Β 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 { | .mama-infobox th { | ||
Β Β background: var(--mama-surface-2); | |||
Β Β background: | |||
Β Β width: 110px; | Β Β width: 110px; | ||
Β Β | Β Β font-weight: 600; | ||
Β color: var(--mama-text-muted); | |||
Β font-size: .9em; | |||
Β border-bottom: 1px solid var(--mama-border); | |||
} | } | ||
.mama-infobox td { | .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 { | .mama-infobox-title { | ||
Β Β text-align: center !important; | Β Β text-align: center !important; | ||
Β Β background: | Β Β background: var(--mama-text) !important; | ||
Β Β color: | Β Β color: var(--mama-bg) !important; | ||
Β Β font-size: | Β Β font-size: 1em; | ||
Β Β letter-spacing: | Β Β letter-spacing: .8px; | ||
Β Β padding: | Β font-weight: 700; | ||
Β Β padding: 12px !important; | |||
Β text-transform: uppercase; | |||
} | } | ||
.mama-infobox-yellow .mama-infobox-title { background: var(--mama-yellow) !important; color: var(--mama- | .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; } | .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; } | .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 { | .mama-call-108 { | ||
Β display: inline-block; | |||
Β Β background: var(--mama-red); | Β Β background: var(--mama-red); | ||
Β Β color: | Β Β color: var(--mama-red-fg); | ||
Β Β padding: | Β Β padding: 4px 10px; | ||
Β Β border-radius: | Β Β border-radius: 14px; | ||
Β Β font-weight: 700; | Β Β font-weight: 700; | ||
Β Β font-size: | Β Β font-size: .92em; | ||
Β letter-spacing: .3px; | |||
} | } | ||
/* ---------- | /* βββ 4. ACTION STEPS ββββββββββββββββββββββββββββββββββββββ */ | ||
.mama-action- | Β | ||
Β Β | .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- | .mama-action-header::before { | ||
Β Β background: | Β content: "β"; | ||
Β display: inline-flex; | |||
Β align-items: center; | |||
Β justify-content: center; | |||
Β width: 26px; height: 26px; | |||
Β Β background: var(--mama-accent); | |||
Β Β color: #fff; | Β Β color: #fff; | ||
Β Β | Β Β border-radius: 50%; | ||
Β Β | Β font-size: .85em; | ||
Β Β font-weight: 700; | |||
} | |||
.mama-action ol, | |||
.mama-action ul { | |||
Β margin: 0; | |||
Β padding-left: 24px; | |||
} | } | ||
.mama-action | .mama-action li { | ||
Β Β | Β Β margin: 8px 0; | ||
Β Β line-height: 1.5; | |||
Β Β | |||
} | } | ||
.mama-action | .mama-action li strong { | ||
Β Β | Β Β color: var(--mama-red); | ||
Β Β font- | Β Β font-weight: 700; | ||
} | } | ||
/* | /* βββ 5. RISK WINDOW βββββββββββββββββββββββββββββββββββββββ */ | ||
Β | |||
.mama-risk { | .mama-risk { | ||
Β background: var(--mama-orange-soft); | |||
Β border: 1px solid var(--mama-orange-ring); | |||
Β Β border-left: 5px solid var(--mama-orange); | Β Β border-left: 5px solid var(--mama-orange); | ||
Β Β padding: 16px 20px; | |||
Β Β padding: | Β Β margin: 18px 0; | ||
Β Β margin: | Β Β border-radius: 0 10px 10px 0; | ||
Β Β border-radius: 0 | Β color: var(--mama-text); | ||
} | } | ||
.mama-risk-header { | .mama-risk-header { | ||
Β Β font-weight: 700; | Β Β font-weight: 700; | ||
Β Β margin-bottom: | Β font-size: 1.05em; | ||
Β Β color: | Β Β 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 { | .mama-pathway { | ||
Β Β display: flex; | Β Β display: flex; | ||
Β Β flex-wrap: wrap; | Β Β flex-wrap: wrap; | ||
Β Β align-items: center; | Β Β align-items: center; | ||
Β Β gap: | Β Β gap: 8px; | ||
Β Β background: | Β Β background: var(--mama-surface); | ||
Β Β padding: | Β border: 1px solid var(--mama-border); | ||
Β Β border-radius: | Β Β padding: 14px 18px; | ||
Β Β margin: | Β Β 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 { | .mama-pathway-step { | ||
Β Β background: | Β Β background: var(--mama-bg); | ||
Β Β border: 1px solid | Β Β border: 1px solid var(--mama-border-strong); | ||
Β Β padding: | Β color: var(--mama-text); | ||
Β Β border-radius: | Β Β padding: 7px 14px; | ||
Β Β border-radius: 20px; | |||
Β Β font-weight: 600; | Β Β font-weight: 600; | ||
Β Β font-size: | Β Β font-size: .94em; | ||
Β white-space: nowrap; | |||
} | } | ||
.mama-pathway-arrow { | .mama-pathway-arrow { | ||
Β Β font-size: 1. | Β Β font-size: 1.4em; | ||
Β Β color: var(--mama-muted); | Β Β color: var(--mama-text-muted); | ||
Β Β font-weight: 700; | Β Β font-weight: 700; | ||
} | } | ||
/* | /* βββ 7. EMERGENCY FOOTER ββββββββββββββββββββββββββββββββββ */ | ||
Β | |||
.mama-emergency { | .mama-emergency { | ||
Β Β display: flex; | Β Β display: flex; | ||
Β Β align-items: center; | Β Β align-items: center; | ||
Β Β gap: | Β Β gap: 18px; | ||
Β Β background: var(--mama-red); | Β Β 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; | Β Β color: #fff; | ||
} | } | ||
/* ---------- | /* βββ 10. MAIN PAGE β STAT BLOCKS ββββββββββββββββββββββββ */ | ||
.mama- | Β | ||
Β Β | .mama-stats { | ||
Β Β | Β display: grid; | ||
Β Β | Β grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); | ||
Β Β | Β gap: 14px; | ||
Β Β margin: | Β 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 { | .mama-grid { | ||
Β Β display: grid; | Β Β display: grid; | ||
Β Β grid-template-columns: repeat(auto-fill, minmax( | Β Β grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); | ||
Β Β gap: | Β Β gap: 14px; | ||
Β Β margin: | Β Β margin: 18px 0; | ||
} | } | ||
.mama-grid-card { | .mama-grid-card { | ||
Β position: relative; | |||
Β Β display: block; | Β Β display: block; | ||
Β Β padding: | Β Β padding: 16px 18px 16px 22px; | ||
Β Β border-radius: | Β Β border-radius: 10px; | ||
Β Β border: 1px solid | Β background: var(--mama-surface); | ||
Β Β border: 1px solid var(--mama-border); | |||
Β Β text-decoration: none !important; | Β Β text-decoration: none !important; | ||
Β Β color: var(--mama- | Β Β color: var(--mama-text) !important; | ||
Β Β | Β Β box-shadow: var(--mama-shadow); | ||
Β Β transition: transform 0. | Β Β 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 { | .mama-grid-card-num { | ||
Β Β font-size: | Β Β font-size: .72em; | ||
Β Β color: var(--mama-muted); | Β 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; | Β Β 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 { | .mama-grid-card-title { | ||
Β Β font-weight: 700; | Β Β font-weight: 700; | ||
Β Β font-size: 1.05em; | Β Β font-size: 1.05em; | ||
Β Β margin | Β line-height: 1.25; | ||
Β Β margin: 2px 0 6px; | |||
Β color: var(--mama-text); | |||
} | } | ||
.mama-grid-card- | .mama-grid-card-desc { | ||
Β Β font- | Β Β font-size: .87em; | ||
Β Β | Β Β line-height: 1.4; | ||
Β Β color: var(--mama-muted) | Β Β color: var(--mama-text-muted); | ||
} | } | ||
/* | /* βββ 12. SEVERITY LEGEND TABLE βββββββββββββββββββββββββββ */ | ||
.mama- | Β | ||
Β Β | .mama-legend { | ||
Β Β | Β Β width: 100%; | ||
Β Β | Β Β border-collapse: separate; | ||
Β Β border-spacing: 12px 0; | |||
Β Β margin: 18px 0; | Β Β margin: 18px 0; | ||
} | } | ||
.mama- | .mama-legend td { | ||
Β Β | Β Β width: 33.33%; | ||
Β Β | Β Β vertical-align: top; | ||
Β Β | Β Β padding: 18px 18px; | ||
Β Β | Β Β border-radius: 10px; | ||
Β Β border- | Β Β border-top: 5px solid var(--mama-border-strong); | ||
Β Β border | Β background: var(--mama-surface); | ||
Β Β border: 1px solid var(--mama-border); | |||
} | } | ||
.mama- | .mama-legend td.yellow { border-top-color: var(--mama-yellow); } | ||
Β Β font-size: | .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; | Β Β font-weight: 800; | ||
Β Β line-height: 1; | Β text-transform: uppercase; | ||
Β Β color: | Β 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); | |||
} | } | ||
.mama- | Β | ||
Β Β font-size: 0. | /* βββ 13. RESPONSIVE βββββββββββββββββββββββββββββββββββββββ */ | ||
Β Β | Β | ||
Β Β margin- | @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; } | |||
} | } | ||
Latest revision as of 12:20, 2 May 2026
/* ============================================================
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; }
}