Template:Main page/styles.css: Difference between revisions
Template page
More languages
More actions
Content deleted Content added
Add knowledge-components showcase grid (Care·ui components-overview style); token-based for dark mode (via update-page on MediaWiki MCP Server) |
Bot: careui phase 4 — replace hardcoded teal/ink/lime palette with --ohc-* tokens; status badges now theme-aware (fixes dark mode) - Claude |
||
| Line 1: | Line 1: | ||
/* |
/* OHC Network Wiki -- component styles, careui design system. |
||
Colour comes exclusively from the --ohc-* token layer in |
|||
OHC palette (teal #0f8b6c · lime #b8f36f · sage line #d8e1db) on top of |
|||
MediaWiki:Common.css; do not introduce literals here. Note the |
|||
Citizen skin design tokens. Fonts: Switzer (body), Figtree (display). */ |
|||
TemplateStyles sanitizer rejects var() in border-radius, font-family, |
|||
padding and border-color, so those stay literal. |
|||
Reference: [[OHC Network Wiki:Design/careui]] */ |
|||
/* Search trigger (opens Citizen's native search) */ |
/* Search trigger (opens Citizen's native search) */ |
||
| Line 12: | Line 15: | ||
margin: 1.2em auto 0; |
margin: 1.2em auto 0; |
||
padding: 0.75em 1.2em; |
padding: 0.75em 1.2em; |
||
border: 1px solid var(--border |
border: 1px solid var(--ohc-border); |
||
border-radius: |
border-radius: 9999px; |
||
background: var(-- |
background: var(--ohc-card); |
||
cursor: pointer; |
cursor: pointer; |
||
font-family: ' |
font-family: 'Figtree Variable', 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; |
||
font-size: 0.95em; |
font-size: 0.95em; |
||
color: var(-- |
color: var(--ohc-soft-foreground); |
||
transition: box-shadow 0.2s, border-color 0.2s; |
transition: box-shadow 0.2s, border-color 0.2s; |
||
} |
} |
||
.ohc-search-trigger:hover { |
.ohc-search-trigger:hover { |
||
border-color: |
border-top-color: var(--ohc-primary); |
||
border-right-color: var(--ohc-primary); |
|||
| ⚫ | |||
border-bottom-color: var(--ohc-primary); |
|||
border-left-color: var(--ohc-primary); |
|||
| ⚫ | |||
} |
} |
||
.ohc-search-trigger__icon { font-size: 1.1em; } |
.ohc-search-trigger__icon { font-size: 1.1em; } |
||
| Line 30: | Line 36: | ||
padding: 0.1em 0.55em; |
padding: 0.1em 0.55em; |
||
border-radius: 6px; |
border-radius: 6px; |
||
background: var(-- |
background: var(--ohc-muted-background); |
||
border: 1px solid var(--border |
border: 1px solid var(--ohc-border); |
||
font-size: 0.8em; |
font-size: 0.8em; |
||
font-family: 'Geist Mono', ui-monospace, monospace; |
font-family: 'Geist Mono Variable', 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; |
||
color: |
color: var(--ohc-primary); |
||
} |
} |
||
| Line 50: | Line 56: | ||
gap: 0.4em; |
gap: 0.4em; |
||
padding: 0.6em 0.9em; |
padding: 0.6em 0.9em; |
||
border-radius: |
border-radius: 10px; |
||
background: var(-- |
background: var(--ohc-muted-background); |
||
border: 1px solid var(--border |
border: 1px solid var(--ohc-border); |
||
font-weight: 600; |
font-weight: 600; |
||
font-size: 0.88em; |
font-size: 0.88em; |
||
| Line 59: | Line 65: | ||
.ohc-navpill:hover { |
.ohc-navpill:hover { |
||
transform: translateY(-2px); |
transform: translateY(-2px); |
||
box-shadow: 0 4px 12px |
box-shadow: 0 4px 12px var(--ohc-shadow-color-strong); |
||
border-color: |
border-top-color: var(--ohc-primary); |
||
border-right-color: var(--ohc-primary); |
|||
border-bottom-color: var(--ohc-primary); |
|||
border-left-color: var(--ohc-primary); |
|||
} |
} |
||
.ohc-navpill a { |
.ohc-navpill a { |
||
text-decoration: none !important; |
text-decoration: none !important; |
||
color: var(-- |
color: var(--ohc-foreground) !important; |
||
font-weight: 600; |
font-weight: 600; |
||
} |
} |
||
| Line 71: | Line 80: | ||
font-size: 0.8em; |
font-size: 0.8em; |
||
font-weight: 700; |
font-weight: 700; |
||
color: |
color: var(--ohc-primary); |
||
} |
} |
||
| Line 80: | Line 89: | ||
grid-auto-columns: 1fr; |
grid-auto-columns: 1fr; |
||
gap: 1px; |
gap: 1px; |
||
background: var(--border |
background: var(--ohc-border); |
||
border-radius: |
border-radius: 10px; |
||
overflow: hidden; |
overflow: hidden; |
||
margin: 1em 0; |
margin: 1em 0; |
||
| Line 90: | Line 99: | ||
align-items: center; |
align-items: center; |
||
padding: 0.7em 0.5em; |
padding: 0.7em 0.5em; |
||
background: var(-- |
background: var(--ohc-muted-background); |
||
} |
} |
||
.ohc-statsbar__num { |
.ohc-statsbar__num { |
||
font-family: 'Figtree', ' |
font-family: 'Figtree Variable', 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; |
||
font-size: 1.5em; |
font-size: 1.5em; |
||
font-weight: 700; |
font-weight: 700; |
||
color: |
color: var(--ohc-primary); |
||
line-height: 1.2; |
line-height: 1.2; |
||
} |
} |
||
.ohc-statsbar__label { |
.ohc-statsbar__label { |
||
font-size: 0.75em; |
font-size: 0.75em; |
||
color: var(-- |
color: var(--ohc-soft-foreground); |
||
text-transform: uppercase; |
text-transform: uppercase; |
||
letter-spacing: 0.04em; |
letter-spacing: 0.04em; |
||
| Line 112: | Line 121: | ||
text-transform: uppercase; |
text-transform: uppercase; |
||
letter-spacing: 0.07em; |
letter-spacing: 0.07em; |
||
color: var(-- |
color: var(--ohc-soft-foreground); |
||
margin: 1.8em 0 0.5em; |
margin: 1.8em 0 0.5em; |
||
padding-bottom: 0.3em; |
padding-bottom: 0.3em; |
||
border-bottom: 2px solid |
border-bottom: 2px solid var(--ohc-primary-500); |
||
} |
} |
||
| Line 131: | Line 140: | ||
padding: 1em 1.1em; |
padding: 1em 1.1em; |
||
border-radius: 14px; |
border-radius: 14px; |
||
background: var(-- |
background: var(--ohc-muted-background); |
||
border: 1px solid var(--border |
border: 1px solid var(--ohc-border); |
||
border-top: 3px solid var(-- |
border-top: 3px solid var(--ohc-primary); |
||
transition: box-shadow 0.18s ease, transform 0.18s ease; |
transition: box-shadow 0.18s ease, transform 0.18s ease; |
||
} |
} |
||
.ohc-showcase__card:hover { |
.ohc-showcase__card:hover { |
||
transform: translateY(-2px); |
transform: translateY(-2px); |
||
box-shadow: 0 6px 18px |
box-shadow: 0 6px 18px var(--ohc-shadow-color); |
||
} |
} |
||
.ohc-showcase__head { |
.ohc-showcase__head { |
||
| Line 147: | Line 156: | ||
} |
} |
||
.ohc-showcase__title { |
.ohc-showcase__title { |
||
font-family: 'Figtree', ' |
font-family: 'Figtree Variable', 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; |
||
font-weight: 700; |
font-weight: 700; |
||
font-size: 1em; |
font-size: 1em; |
||
color: var(-- |
color: var(--ohc-foreground); |
||
line-height: 1.3; |
line-height: 1.3; |
||
} |
} |
||
| Line 160: | Line 169: | ||
flex-shrink: 0; |
flex-shrink: 0; |
||
padding: 0.1em 0.55em; |
padding: 0.1em 0.55em; |
||
border-radius: |
border-radius: 9999px; |
||
background: |
background: var(--ohc-primary-bg); |
||
color: var(-- |
color: var(--ohc-primary); |
||
font-size: 0.78em; |
font-size: 0.78em; |
||
font-weight: 700; |
font-weight: 700; |
||
font-family: 'Geist Mono', ui-monospace, monospace; |
font-family: 'Geist Mono Variable', 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; |
||
} |
} |
||
.ohc-showcase__desc { |
.ohc-showcase__desc { |
||
font-size: 0.85em; |
font-size: 0.85em; |
||
color: var(-- |
color: var(--ohc-soft-foreground); |
||
line-height: 1.45; |
line-height: 1.45; |
||
} |
} |
||
| Line 176: | Line 185: | ||
font-size: 0.8em; |
font-size: 0.8em; |
||
font-weight: 600; |
font-weight: 600; |
||
color: var(-- |
color: var(--ohc-primary); |
||
} |
} |
||
.ohc-showcase__go a { |
.ohc-showcase__go a { |
||
| Line 182: | Line 191: | ||
text-decoration: none; |
text-decoration: none; |
||
} |
} |
||
.ohc-showcase__card:hover .ohc-showcase__go { color: |
.ohc-showcase__card:hover .ohc-showcase__go { color: var(--ohc-primary); } |
||
/* Quick links grid */ |
/* Quick links grid */ |
||
| Line 193: | Line 202: | ||
.ohc-quicklink { |
.ohc-quicklink { |
||
padding: 0.8em 1em; |
padding: 0.8em 1em; |
||
border-radius: |
border-radius: 10px; |
||
background: var(-- |
background: var(--ohc-muted-background); |
||
border: 1px solid var(--border |
border: 1px solid var(--ohc-border); |
||
border-left: 3px solid |
border-left: 3px solid var(--ohc-primary); |
||
transition: box-shadow 0.18s ease, transform 0.18s ease; |
transition: box-shadow 0.18s ease, transform 0.18s ease; |
||
} |
} |
||
.ohc-quicklink:hover { |
.ohc-quicklink:hover { |
||
box-shadow: 0 6px 18px |
box-shadow: 0 6px 18px var(--ohc-shadow-color); |
||
transform: translateY(-2px); |
transform: translateY(-2px); |
||
} |
} |
||
.ohc-quicklink__title { font-family: 'Figtree', ' |
.ohc-quicklink__title { font-family: 'Figtree Variable', 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; font-weight: 700; font-size: 0.95em; } |
||
.ohc-quicklink__desc { font-size: 0.85em; color: var(-- |
.ohc-quicklink__desc { font-size: 0.85em; color: var(--ohc-soft-foreground); margin-top: 0.2em; line-height: 1.45; } |
||
/* Latest/recent section */ |
/* Latest/recent section */ |
||