Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Main Page/shared/styles.css: Difference between revisions

Template page
Content deleted Content added
DivošiRunner (talk | contribs)
Add light, dark, and AMOLED support to the main page theme styling
DivošiRunner (talk | contribs)
Replace stacked main-page theme patches with Citizen-aware stylesheet
 
(One intermediate revision by the same user not shown)
Line 579: Line 579:
}
}


/* Citizen theme bridge
/* Theme compatibility patch
Keep the main page atmospheric while adapting its panels to light, dark,
Keep the custom hero treatment, but let Citizen's own surface and text
and AMOLED variants of the Citizen skin. */
tokens drive light, dark, and pure-black presentation. */


.home-header,
.mw-parser-output {
.home-meta,
--home-status-bg: rgba( 255, 255, 255, 0.76 );
#home-content {
--home-status-border: rgba( 137, 42, 48, 0.18 );
--home-panel-shadow: 0 12px 28px rgba( 20, 23, 28, 0.08 );
--home-status-label: #9b4d55;
--home-search-bg: rgba( 255, 255, 255, 0.82 );
--home-status-bg: rgba( 255, 255, 255, 0.74 );
--home-search-hover-bg: rgba( 255, 255, 255, 0.94 );
--home-status-border: rgba( 140, 52, 64, 0.16 );
--home-status-label: #93444d;
--home-status-text: var( --color-emphasized );
--home-search-bg: rgba( 255, 255, 255, 0.84 );
--home-search-hover-bg: rgba( 255, 255, 255, 0.96 );
--home-search-border: rgba( 140, 52, 64, 0.12 );
--home-search-shadow: 0 18px 40px rgba( 34, 24, 28, 0.12 );
--home-search-shadow: 0 18px 40px rgba( 34, 24, 28, 0.12 );
--home-search-icon-filter: none;
--home-meta-bg: linear-gradient( 180deg, rgba( 255, 255, 255, 0.96 ), rgba( 241, 244, 249, 0.98 ) );
--home-meta-label: #9b4d55;
--home-meta-bg: var( --color-surface-1 );
--home-action-bg: rgba( 54, 15, 21, 0.08 );
--home-meta-border: rgba( 140, 52, 64, 0.12 );
--home-action-hover: rgba( 82, 22, 28, 0.14 );
--home-meta-label: #93444d;
--home-meta-shadow: 0 12px 28px rgba( 20, 23, 28, 0.08 );
--home-meta-text: var( --color-base );
--home-action-bg: rgba( 140, 52, 64, 0.08 );
--home-action-border: rgba( 140, 52, 64, 0.14 );
--home-action-hover: rgba( 140, 52, 64, 0.14 );
}

.home-card,
.home-meta__item {
box-shadow: var( --home-panel-shadow );
}

.home-header::after {
border-color: rgba( 140, 52, 64, 0.2 );
background:
radial-gradient( circle at top, rgba( 128, 18, 28, 0.24 ), transparent 55% ),
linear-gradient( 180deg, rgba( 22, 10, 15, 0.56 ), rgba( 10, 12, 18, 0.82 ) );
}

.home-header__pretitle {
color: #f1c4a6;
}

.home-header__title {
color: #fff;
text-shadow: 0 12px 34px rgba( 0, 0, 0, 0.48 );
}

.home-header__subtitle {
color: rgba( 245, 232, 236, 0.88 );
}
}


Line 605: Line 638:
.home-header__statusLabel {
.home-header__statusLabel {
color: var( --home-status-label );
color: var( --home-status-label );
}

.home-header__statusText {
color: var( --home-status-text );
}
}


.home-header__search {
.home-header__search {
border-color: var( --home-search-border );
background-color: var( --home-search-bg );
background-color: var( --home-search-bg );
box-shadow: var( --home-search-shadow );
box-shadow: var( --home-search-shadow );
color: var( --color-emphasized );
}
}


.home-header__search:hover {
.home-header__search:hover {
background: var( --home-search-hover-bg );
background: var( --home-search-hover-bg );
}

.home-header__searchText,
.home-header__search .desktoponly {
color: inherit;
}

.home-header__searchIcon img {
filter: var( --home-search-icon-filter );
opacity: 0.92;
}
}


.home-meta__item {
.home-meta__item {
border-color: var( --home-meta-border );
background: var( --home-meta-bg );
background: var( --home-meta-bg );
box-shadow: var( --home-meta-shadow );
color: var( --home-meta-text );
}
}


.home-meta__label {
.home-meta__label {
color: var( --home-meta-label );
color: var( --home-meta-label );
}

.home-meta__text,
.home-meta__actions {
color: var( --home-meta-text );
}
}


.home-meta__actions a {
.home-meta__actions a {
border-color: var( --home-action-border );
background: var( --home-action-bg );
background: var( --home-action-bg );
color: var( --color-emphasized );
color: var( --color-emphasized );
Line 634: Line 690:
}
}


html.skin-theme-clientpref-night .mw-parser-output,
html.skin-theme-clientpref-night .home-header,
html.skin-citizen-dark .mw-parser-output {
html.skin-theme-clientpref-night .home-meta,
html.skin-theme-clientpref-night #home-content,
--home-status-bg: rgba( 18, 13, 18, 0.78 );
html.skin-citizen-dark .home-header,
--home-status-border: rgba( 137, 42, 48, 0.24 );
html.skin-citizen-dark .home-meta,
--home-status-label: #d79599;
html.skin-citizen-dark #home-content {
--home-search-bg: rgba( 17, 19, 25, 0.82 );
--home-search-hover-bg: rgba( 12, 13, 17, 0.92 );
--home-panel-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 );
--home-status-bg: rgba( 36, 15, 20, 0.8 );
--home-status-border: rgba( 201, 114, 123, 0.25 );
--home-status-label: #f1b8bd;
--home-status-text: #fff;
--home-search-bg: rgba( 14, 16, 22, 0.88 );
--home-search-hover-bg: rgba( 9, 10, 14, 0.94 );
--home-search-border: rgba( 255, 255, 255, 0.1 );
--home-search-shadow: 0 18px 40px rgba( 5, 7, 10, 0.22 );
--home-search-shadow: 0 18px 40px rgba( 5, 7, 10, 0.22 );
--home-search-icon-filter: invert( 1 );
--home-meta-bg: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) );
--home-meta-bg: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) );
--home-meta-label: #c48a8f;
--home-meta-border: rgba( 201, 114, 123, 0.14 );
--home-action-bg: rgba( 54, 15, 21, 0.18 );
--home-meta-label: #d6a0a4;
--home-action-hover: rgba( 82, 22, 28, 0.28 );
--home-meta-text: #eef2f6;
--home-meta-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 );
--home-action-bg: rgba( 88, 27, 34, 0.22 );
--home-action-border: rgba( 201, 114, 123, 0.26 );
--home-action-hover: rgba( 118, 35, 45, 0.34 );
}
}


html.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 .home-header,
@media ( prefers-color-scheme: dark ) {
html.skin-theme-clientpref-os .mw-parser-output {
html.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 .home-meta,
html.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 #home-content,
--home-status-bg: rgba( 18, 13, 18, 0.78 );
html.skin-citizen-dark.citizen-feature-pure-black-clientpref-1 .home-header,
--home-status-border: rgba( 137, 42, 48, 0.24 );
html.skin-citizen-dark.citizen-feature-pure-black-clientpref-1 .home-meta,
--home-status-label: #d79599;
html.skin-citizen-dark.citizen-feature-pure-black-clientpref-1 #home-content {
--home-search-bg: rgba( 17, 19, 25, 0.82 );
--home-search-hover-bg: rgba( 12, 13, 17, 0.92 );
--home-search-shadow: 0 18px 40px rgba( 5, 7, 10, 0.22 );
--home-meta-bg: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) );
--home-meta-label: #c48a8f;
--home-action-bg: rgba( 54, 15, 21, 0.18 );
--home-action-hover: rgba( 82, 22, 28, 0.28 );
--home-meta-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 );
}
}

html.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 .mw-parser-output,
html.skin-citizen-dark.citizen-feature-pure-black-clientpref-1 .mw-parser-output {
--home-status-bg: rgba( 7, 7, 8, 0.84 );
--home-status-bg: rgba( 7, 7, 8, 0.84 );
--home-search-bg: rgba( 6, 6, 7, 0.9 );
--home-search-bg: rgba( 6, 6, 7, 0.9 );
Line 674: Line 728:


@media ( prefers-color-scheme: dark ) {
@media ( prefers-color-scheme: dark ) {
html.skin-theme-clientpref-os.citizen-feature-pure-black-clientpref-1 .mw-parser-output {
html.skin-theme-clientpref-os .home-header,
html.skin-theme-clientpref-os .home-meta,
html.skin-theme-clientpref-os #home-content {
--home-panel-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 );
--home-status-bg: rgba( 36, 15, 20, 0.8 );
--home-status-border: rgba( 201, 114, 123, 0.25 );
--home-status-label: #f1b8bd;
--home-status-text: #fff;
--home-search-bg: rgba( 14, 16, 22, 0.88 );
--home-search-hover-bg: rgba( 9, 10, 14, 0.94 );
--home-search-border: rgba( 255, 255, 255, 0.1 );
--home-search-shadow: 0 18px 40px rgba( 5, 7, 10, 0.22 );
--home-search-icon-filter: invert( 1 );
--home-meta-bg: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) );
--home-meta-border: rgba( 201, 114, 123, 0.14 );
--home-meta-label: #d6a0a4;
--home-meta-text: #eef2f6;
--home-action-bg: rgba( 88, 27, 34, 0.22 );
--home-action-border: rgba( 201, 114, 123, 0.26 );
--home-action-hover: rgba( 118, 35, 45, 0.34 );
}

html.skin-theme-clientpref-os.citizen-feature-pure-black-clientpref-1 .home-header,
html.skin-theme-clientpref-os.citizen-feature-pure-black-clientpref-1 .home-meta,
html.skin-theme-clientpref-os.citizen-feature-pure-black-clientpref-1 #home-content {
--home-status-bg: rgba( 7, 7, 8, 0.84 );
--home-status-bg: rgba( 7, 7, 8, 0.84 );
--home-search-bg: rgba( 6, 6, 7, 0.9 );
--home-search-bg: rgba( 6, 6, 7, 0.9 );
--home-search-hover-bg: rgba( 2, 2, 2, 0.96 );
--home-search-hover-bg: rgba( 2, 2, 2, 0.96 );
--home-meta-bg: linear-gradient( 180deg, rgba( 10, 10, 10, 0.96 ), rgba( 0, 0, 0, 0.99 ) );
--home-meta-bg: linear-gradient( 180deg, rgba( 10, 10, 10, 0.96 ), rgba( 0, 0, 0, 0.99 ) );
}
}

html.skin-theme-clientpref-night .mw-parser-output .home-header__searchIcon img,
html.skin-citizen-dark .mw-parser-output .home-header__searchIcon img {
filter: invert( 1 );
}

@media ( prefers-color-scheme: dark ) {
html.skin-theme-clientpref-os .mw-parser-output .home-header__searchIcon img {
filter: invert( 1 );
}
}

@media ( prefers-color-scheme: light ) {
html.skin-theme-clientpref-os .mw-parser-output .home-header__searchIcon img {
filter: none;
}
}
}
}

Latest revision as of 18:33, 11 April 2026

/* Main page shared styles
   Attribution: some structural and motion ideas in this stylesheet were adapted from
   Citizen-based homepage implementations on starcitizen.tools and prismparty.net,
   then rewritten and adjusted for Echoes of the Flesh. */

/* Main page header */
.home-header {
	position: relative;
	overflow: hidden;
	padding: 3.75rem 1.5rem 3.1rem;
	margin-bottom: 0.9rem;
	line-height: var( --line-height-xx-small );
	text-align: center;
}

/* Attribution: the layered hero treatment below borrows the general "artwork under
   atmospheric overlay" idea seen on several Citizen-theme homepages, rebuilt here
   around the local Divosi banner asset. */
.home-header::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 1.25rem;
	background:
		linear-gradient( 180deg, rgba( 6, 7, 10, 0.12 ), rgba( 6, 7, 10, 0.48 ) ),
		url( "/images/b/be/DivosiBanner.png" ) center 32% / cover no-repeat;
	opacity: 0.5;
	filter: saturate( 0.96 ) contrast( 1.08 );
	transform: scale( 1.02 );
	pointer-events: none;
}

.home-header::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgba( 128, 42, 48, 0.22 );
	border-radius: 1.25rem;
	background:
		radial-gradient( circle at top, rgba( 128, 18, 28, 0.24 ), transparent 55% ),
		linear-gradient( 180deg, rgba( 18, 7, 10, 0.72 ), rgba( 10, 12, 18, 0.78 ) );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.03 );
	pointer-events: none;
}

.home-header > * {
	position: relative;
	z-index: 1;
}

.home-header__pretitle {
	margin-bottom: var( --space-xxs );
	color: var( --color-subtle );
	font-size: var( --font-size-small );
	letter-spacing: 0.05em;
}

.home-header__title {
	--display-font-size: min( calc( 2.5rem + 3.9vw ), 4.5rem );
	margin: 0;
	font-size: var( --display-font-size );
	text-transform: uppercase;
	line-height: 0.9;
	font-weight: var( --font-weight-semi-bold );
	text-shadow: 0 10px 30px rgba( 0, 0, 0, 0.32 );
}

.home-header__subtitle {
	margin-top: 0.35rem;
	color: var( --color-subtle );
	font-size: var( --font-size-small );
}

.home-header__status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1.05rem;
	padding: 0.55rem 0.95rem;
	border: 1px solid rgba( 137, 42, 48, 0.24 );
	border-radius: 1rem;
	background: rgba( 18, 13, 18, 0.78 );
	backdrop-filter: blur( 8px );
}

.home-header__status p {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	align-items: center;
	justify-content: center;
	margin: 0;
}

.home-header__statusLabel {
	color: #d79599;
	font-size: var( --font-size-x-small );
	letter-spacing: 0.04em;
	font-weight: var( --font-weight-medium );
}

.home-header__statusText {
	color: var( --color-base );
	font-size: var( --font-size-small );
	opacity: 0.92;
}

.home-header__search {
	position: relative;
	isolation: isolate;
	padding: var( --space-md );
	margin-top: 1.2rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
	border: 1px solid var( --border-color-base );
	border-radius: var( --border-radius-pill );
	background-color: rgba( 17, 19, 25, 0.82 );
	cursor: pointer;
	font-size: var( --font-size-small );
	font-weight: var( --font-weight-medium );
	text-align: center;
	backdrop-filter: blur( 10px );
	transition: background 180ms ease, border-color 180ms ease;
}

/* Attribution: the animated hover-glow treatment here was inspired by the
   Citizen homepage search affordance on starcitizen.tools, with a custom red palette. */
.home-header__search::before {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: -1;
	border-radius: inherit;
	background: linear-gradient(
		120deg,
		#16090a 0%,
		#3a1113 20%,
		#6a1719 38%,
		#9a2020 50%,
		#6a1719 62%,
		#3a1113 80%,
		#16090a 100%
	);
	background-size: 200% 200%;
	filter: blur( 8px );
	opacity: 0;
	transition: opacity 200ms ease, filter 200ms ease;
}

.home-header__search .desktoponly {
	margin-left: var( --space-xs );
}

.home-header__search:hover {
	background: rgba( 12, 13, 17, 0.92 );
}

.home-header__search:hover::before {
	opacity: 0.9;
	filter: blur( 10px );
	animation: home-search-red-glow 4.5s linear infinite;
}

@keyframes home-search-red-glow {
	0% {
		background-position: 0% 50%;
	}
	100% {
		background-position: 200% 50%;
	}
}

.home-header__searchIcon img {
	margin-right: var( --space-md );
	opacity: var( --opacity-icon-base );
}

.home-header__search .keyboard-key {
	display: inline;
	padding-top: 0.1em;
	padding-bottom: 0.1em;
}

html.skin-citizen-dark .home-header__searchIcon img {
	filter: invert( 1 );
}

@media ( hover: none ) {
	.home-header__search .desktoponly {
		display: none;
	}
}

/* Main page 2-column layout */
.main-home-grid {
	display: grid;
	grid-template-areas:
		"article"
		"widgets";
	gap: 0.625rem;
	margin-top: 0.1rem;
}

@media ( min-width: 760px ) {
	.main-home-grid {
		grid-template-columns: minmax( 0, 1.45fr ) minmax( 320px, 0.95fr );
		grid-template-areas: "article widgets";
		align-items: start;
	}
}

.article {
	grid-area: article;
	min-width: 0;
}

.widgets {
	grid-area: widgets;
	min-width: 0;
}

.widgets > .home-card + .home-card {
	margin-top: 0.625rem;
}

.split-left {
	grid-area: split-left;
}

.split-right {
	grid-area: split-right;
}

.sub-home-grid {
	display: grid;
	margin-top: 0.625rem;
	gap: 0.625rem;
	grid-template-areas:
		"split-left"
		"split-right";
}

@media ( min-width: 700px ) {
	.sub-home-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "split-left split-right";
	}
}

.home-grid {
	display: grid;
	grid: auto-flow dense / repeat( auto-fit, minmax( 9.375rem, 1fr ) );
	grid-auto-rows: minmax( 3rem, auto );
	grid-gap: var( --space-xs );
}

.home-grid--col2 {
	grid-template-columns: 1fr 1fr;
}

.home-grid a.external {
	background-image: none;
}

.home-badge {
	display: flex;
	gap: var( --space-xxs );
	font-size: var( --font-size-x-small );
	padding: var( --space-xxs ) var( --space-xs );
	background: var( --color-surface-2 );
	color: var( --color-base );
	border-radius: var( --border-radius-base );
	font-weight: var( --font-weight-normal );
	letter-spacing: 0.025em;
	line-height: var( --line-height-xxx-small );
}

.home-card,
.home-meta__item {
	box-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 );
}

.home-card {
	position: relative;
	padding: var( --space-md );
	border: 1px solid var( --border-color-base );
	background: var( --color-surface-1 );
	border-radius: var( --border-radius-medium );
	font-size: var( --font-size-small );
}

.home-card table.timeline {
	margin-top: var( --space-xs );
}

.home-card--col2 {
	grid-column: span 2;
}

.home-card--row3 {
	grid-row: span 3;
}

.home-card--row4 {
	grid-row: span 4;
}

.home-card--row8 {
	grid-row: span 8 / auto;
}

.home-card__badge,
.home-card__label {
	color: var( --color-subtle );
	font-size: var( --font-size-x-small );
	letter-spacing: 0.05em;
}

.home-card__badge {
	padding: var( --space-xxs ) var( --space-xs );
	border-radius: var( --border-radius-base );
	background: var( --color-surface-2 );
}

.home-card__header {
	color: var( --color-emphasized );
	font-size: 1rem;
	font-weight: var( --font-weight-semi-bold );
	line-height: var( --line-height-xxx-small );
}

.home-card__header a {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.home-card__header a:after {
	content: "▶";
	font-size: var( --font-size-x-small );
}

.home-card__background {
	position: absolute;
	inset: 0;
}

.home-card__background:after {
	position: absolute;
	pointer-events: none;
	inset: 0;
	display: block;
	background: linear-gradient( to right, #000, transparent );
	content: "";
	transition: transform 250ms ease;
}

.home-card__background picture,
.home-card__background img {
	width: 100%;
	height: 100%;
}

.home-card__background img {
	object-fit: cover;
	object-position: center;
}

.home-card__foreground {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	padding: var( --space-md );
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var( --space-xxs );
	color: #fff;
	line-height: var( --line-height-xxx-small );
	pointer-events: none;
}

.home-card__foreground .home-card__badge {
	position: absolute;
	top: 0;
	right: 0;
	border-top-left-radius: 0;
	border-bottom-right-radius: 0;
}

.home-card__foreground .home-card__header {
	color: #fff;
}

.home-card__foreground .home-card__label {
	color: #bababa;
}

.home-card p {
	margin-top: var( --space-xs );
	font-size: var( --font-size-small );
}

.home-card.home-card--button {
	overflow: hidden;
	padding: 0;
	border: 0;
}

.home-card--button a {
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
	padding: 0 var( --space-md );
	background: transparent;
	color: #fff;
	font-weight: var( --font-weight-medium );
}

.home-card--button .home-card__background a {
	padding: 0;
}

.home-card--button img {
	transition: transform 250ms ease;
}

.home-card--button:hover img {
	transform: scale( 1.1 );
}

.home-link {
	display: grid;
	margin-top: var( --space-xs );
	font-size: var( --font-size-small );
	font-weight: var( --font-weight-medium );
	grid-gap: var( --space-xs );
	text-align: center;
}

.home-link__button {
	display: flex;
}

.home-link__button a {
	flex-grow: 1;
	padding: var( --space-xs );
	border: 1px solid var( --border-color-base );
	background: var( --color-surface-2 );
	border-radius: var( --border-radius-medium );
	color: var( --color-emphasized ) !important;
	line-height: var( --line-height-xxx-small );
	text-decoration: none !important;
}

.home-link__button a:hover {
	background: var( --color-surface-2--hover );
}

.home-link__button a:active {
	background: var( --color-surface-2--active );
}

#home-content {
	margin-top: 0;
}

.home-card .template-statsbar {
	margin: 0;
}

/* Discord widget polish + spacing */
#home-discordwidget {
	padding-top: 1rem;
}

.discord-widget-wrap {
	display: flex;
	justify-content: center;
	margin-top: 0.95rem;
	margin-bottom: 1rem;
	padding-inline: 0.05rem;
}

#home-discordwidget #discord-widget {
	width: 100%;
	max-width: none;
}

#home-discordwidget iframe.responsive-iframe {
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
	display: block;
	min-height: 500px;
	background: transparent;
}

#home-discordwidget .home-card__label {
	margin-bottom: 1rem !important;
	padding-left: 0.05rem;
}

#home-discordwidget .home-link__button-discord,
#home-discordwidget .home-link__button {
	margin-top: 0.95rem !important;
}

.home-link__button-discord {
	margin-top: 0.75rem;
}

#home-discordwidget a.external.text::after {
	display: none;
}

/* Attribution: the footer utility rail borrows the "compact maintenance links"
   idea from Citizen-theme main pages like starcitizen.tools, but uses original copy and styling. */
.home-meta {
	display: grid;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

@media ( min-width: 860px ) {
	.home-meta {
		grid-template-columns: 1.2fr 0.8fr 0.9fr;
	}
}

.home-meta__item {
	padding: 0.95rem 1rem;
	border: 1px solid var( --border-color-base );
	border-radius: var( --border-radius-medium );
	background: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) );
}

.home-meta__label {
	margin-bottom: 0.35rem;
	color: #c48a8f;
	font-size: var( --font-size-x-small );
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-meta__text,
.home-meta__actions {
	font-size: var( --font-size-small );
	line-height: 1.5;
}

.home-meta__actions p {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

.home-meta__actions a {
	display: inline-flex;
	padding: 0.45rem 0.75rem;
	border: 1px solid rgba( 137, 42, 48, 0.25 );
	border-radius: 999px;
	background: rgba( 54, 15, 21, 0.18 );
	text-decoration: none;
	background-image: none;
}

.home-meta__actions a:hover {
	background: rgba( 82, 22, 28, 0.28 );
}

.home-meta__actions a.external::after {
	display: none;
}

/* Citizen theme bridge
   Keep the custom hero treatment, but let Citizen's own surface and text
   tokens drive light, dark, and pure-black presentation. */

.home-header,
.home-meta,
#home-content {
	--home-panel-shadow: 0 12px 28px rgba( 20, 23, 28, 0.08 );
	--home-status-bg: rgba( 255, 255, 255, 0.74 );
	--home-status-border: rgba( 140, 52, 64, 0.16 );
	--home-status-label: #93444d;
	--home-status-text: var( --color-emphasized );
	--home-search-bg: rgba( 255, 255, 255, 0.84 );
	--home-search-hover-bg: rgba( 255, 255, 255, 0.96 );
	--home-search-border: rgba( 140, 52, 64, 0.12 );
	--home-search-shadow: 0 18px 40px rgba( 34, 24, 28, 0.12 );
	--home-search-icon-filter: none;
	--home-meta-bg: var( --color-surface-1 );
	--home-meta-border: rgba( 140, 52, 64, 0.12 );
	--home-meta-label: #93444d;
	--home-meta-text: var( --color-base );
	--home-action-bg: rgba( 140, 52, 64, 0.08 );
	--home-action-border: rgba( 140, 52, 64, 0.14 );
	--home-action-hover: rgba( 140, 52, 64, 0.14 );
}

.home-card,
.home-meta__item {
	box-shadow: var( --home-panel-shadow );
}

.home-header::after {
	border-color: rgba( 140, 52, 64, 0.2 );
	background:
		radial-gradient( circle at top, rgba( 128, 18, 28, 0.24 ), transparent 55% ),
		linear-gradient( 180deg, rgba( 22, 10, 15, 0.56 ), rgba( 10, 12, 18, 0.82 ) );
}

.home-header__pretitle {
	color: #f1c4a6;
}

.home-header__title {
	color: #fff;
	text-shadow: 0 12px 34px rgba( 0, 0, 0, 0.48 );
}

.home-header__subtitle {
	color: rgba( 245, 232, 236, 0.88 );
}

.home-header__status {
	border-color: var( --home-status-border );
	background: var( --home-status-bg );
	box-shadow: var( --home-search-shadow );
}

.home-header__statusLabel {
	color: var( --home-status-label );
}

.home-header__statusText {
	color: var( --home-status-text );
}

.home-header__search {
	border-color: var( --home-search-border );
	background-color: var( --home-search-bg );
	box-shadow: var( --home-search-shadow );
	color: var( --color-emphasized );
}

.home-header__search:hover {
	background: var( --home-search-hover-bg );
}

.home-header__searchText,
.home-header__search .desktoponly {
	color: inherit;
}

.home-header__searchIcon img {
	filter: var( --home-search-icon-filter );
	opacity: 0.92;
}

.home-meta__item {
	border-color: var( --home-meta-border );
	background: var( --home-meta-bg );
	color: var( --home-meta-text );
}

.home-meta__label {
	color: var( --home-meta-label );
}

.home-meta__text,
.home-meta__actions {
	color: var( --home-meta-text );
}

.home-meta__actions a {
	border-color: var( --home-action-border );
	background: var( --home-action-bg );
	color: var( --color-emphasized );
}

.home-meta__actions a:hover {
	background: var( --home-action-hover );
}

html.skin-theme-clientpref-night .home-header,
html.skin-theme-clientpref-night .home-meta,
html.skin-theme-clientpref-night #home-content,
html.skin-citizen-dark .home-header,
html.skin-citizen-dark .home-meta,
html.skin-citizen-dark #home-content {
	--home-panel-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 );
	--home-status-bg: rgba( 36, 15, 20, 0.8 );
	--home-status-border: rgba( 201, 114, 123, 0.25 );
	--home-status-label: #f1b8bd;
	--home-status-text: #fff;
	--home-search-bg: rgba( 14, 16, 22, 0.88 );
	--home-search-hover-bg: rgba( 9, 10, 14, 0.94 );
	--home-search-border: rgba( 255, 255, 255, 0.1 );
	--home-search-shadow: 0 18px 40px rgba( 5, 7, 10, 0.22 );
	--home-search-icon-filter: invert( 1 );
	--home-meta-bg: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) );
	--home-meta-border: rgba( 201, 114, 123, 0.14 );
	--home-meta-label: #d6a0a4;
	--home-meta-text: #eef2f6;
	--home-action-bg: rgba( 88, 27, 34, 0.22 );
	--home-action-border: rgba( 201, 114, 123, 0.26 );
	--home-action-hover: rgba( 118, 35, 45, 0.34 );
}

html.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 .home-header,
html.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 .home-meta,
html.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 #home-content,
html.skin-citizen-dark.citizen-feature-pure-black-clientpref-1 .home-header,
html.skin-citizen-dark.citizen-feature-pure-black-clientpref-1 .home-meta,
html.skin-citizen-dark.citizen-feature-pure-black-clientpref-1 #home-content {
	--home-status-bg: rgba( 7, 7, 8, 0.84 );
	--home-search-bg: rgba( 6, 6, 7, 0.9 );
	--home-search-hover-bg: rgba( 2, 2, 2, 0.96 );
	--home-meta-bg: linear-gradient( 180deg, rgba( 10, 10, 10, 0.96 ), rgba( 0, 0, 0, 0.99 ) );
}

@media ( prefers-color-scheme: dark ) {
	html.skin-theme-clientpref-os .home-header,
	html.skin-theme-clientpref-os .home-meta,
	html.skin-theme-clientpref-os #home-content {
		--home-panel-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 );
		--home-status-bg: rgba( 36, 15, 20, 0.8 );
		--home-status-border: rgba( 201, 114, 123, 0.25 );
		--home-status-label: #f1b8bd;
		--home-status-text: #fff;
		--home-search-bg: rgba( 14, 16, 22, 0.88 );
		--home-search-hover-bg: rgba( 9, 10, 14, 0.94 );
		--home-search-border: rgba( 255, 255, 255, 0.1 );
		--home-search-shadow: 0 18px 40px rgba( 5, 7, 10, 0.22 );
		--home-search-icon-filter: invert( 1 );
		--home-meta-bg: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) );
		--home-meta-border: rgba( 201, 114, 123, 0.14 );
		--home-meta-label: #d6a0a4;
		--home-meta-text: #eef2f6;
		--home-action-bg: rgba( 88, 27, 34, 0.22 );
		--home-action-border: rgba( 201, 114, 123, 0.26 );
		--home-action-hover: rgba( 118, 35, 45, 0.34 );
	}

	html.skin-theme-clientpref-os.citizen-feature-pure-black-clientpref-1 .home-header,
	html.skin-theme-clientpref-os.citizen-feature-pure-black-clientpref-1 .home-meta,
	html.skin-theme-clientpref-os.citizen-feature-pure-black-clientpref-1 #home-content {
		--home-status-bg: rgba( 7, 7, 8, 0.84 );
		--home-search-bg: rgba( 6, 6, 7, 0.9 );
		--home-search-hover-bg: rgba( 2, 2, 2, 0.96 );
		--home-meta-bg: linear-gradient( 180deg, rgba( 10, 10, 10, 0.96 ), rgba( 0, 0, 0, 0.99 ) );
	}
}