Template:Main Page/shared/styles.css: Difference between revisions
Template page
More actions
Content deleted Content added
No edit summary |
DivošiRunner (talk | contribs) Replace stacked main-page theme patches with Citizen-aware stylesheet |
||
| (16 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
/* Main page shared styles |
|||
/* Created & Original at https://starcitizen.tools |
|||
Attribution: some structural and motion ideas in this stylesheet were adapted from |
|||
All credits go to them */ |
|||
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 page 2-column layout */ |
||
| Line 9: | Line 200: | ||
"widgets"; |
"widgets"; |
||
gap: 0.625rem; |
gap: 0.625rem; |
||
margin-top: 0.1rem; |
|||
} |
} |
||
@media (min-width: 760px) { |
@media ( min-width: 760px ) { |
||
.main-home-grid { |
.main-home-grid { |
||
grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr); |
grid-template-columns: minmax( 0, 1.45fr ) minmax( 320px, 0.95fr ); |
||
grid-template-areas: "article widgets"; |
grid-template-areas: "article widgets"; |
||
align-items: start; |
align-items: start; |
||
| Line 27: | Line 219: | ||
grid-area: widgets; |
grid-area: widgets; |
||
min-width: 0; |
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 { |
.home-grid { |
||
display: grid; |
display: grid; |
||
grid: auto-flow dense/repeat( auto-fit, minmax( 9.375rem, 1fr ) ); |
grid: auto-flow dense / repeat( auto-fit, minmax( 9.375rem, 1fr ) ); |
||
grid-auto-rows: minmax( 3rem, auto ); |
grid-auto-rows: minmax( 3rem, auto ); |
||
grid-gap: var( --space-xs ); |
grid-gap: var( --space-xs ); |
||
| Line 46: | Line 266: | ||
.home-badge { |
.home-badge { |
||
display: flex; |
display: flex; |
||
gap: var(--space-xxs); |
gap: var( --space-xxs ); |
||
font-size: var(--font-size-x-small); |
font-size: var( --font-size-x-small ); |
||
padding: var(--space-xxs) var(--space-xs); |
padding: var( --space-xxs ) var( --space-xs ); |
||
background: var(--color-surface-2); |
background: var( --color-surface-2 ); |
||
color: var(--color-base); |
color: var( --color-base ); |
||
border-radius: var(--border-radius-base); |
border-radius: var( --border-radius-base ); |
||
font-weight: var(--font-weight-normal); |
font-weight: var( --font-weight-normal ); |
||
letter-spacing: 0.025em; |
letter-spacing: 0.025em; |
||
line-height: var(--line-height-xxx-small); |
line-height: var( --line-height-xxx-small ); |
||
} |
|||
.home-card, |
|||
.home-meta__item { |
|||
box-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 ); |
|||
} |
} |
||
| Line 113: | Line 338: | ||
.home-card__header a:after { |
.home-card__header a:after { |
||
content: |
content: "▶"; |
||
font-size: var( --font-size-x-small ); |
font-size: var( --font-size-x-small ); |
||
} |
} |
||
| Line 127: | Line 352: | ||
inset: 0; |
inset: 0; |
||
display: block; |
display: block; |
||
background: linear-gradient(to right,#000,transparent); |
background: linear-gradient( to right, #000, transparent ); |
||
content: ""; |
content: ""; |
||
transition: transform 250ms ease; |
transition: transform 250ms ease; |
||
| Line 242: | Line 467: | ||
#home-content { |
#home-content { |
||
margin-top: |
margin-top: 0; |
||
} |
} |
||
| Line 249: | Line 474: | ||
} |
} |
||
/* Discord widget polish + spacing */ |
|||
#home-card-discord { |
|||
#home-discordwidget { |
|||
background: #5865f2; |
|||
padding-top: 1rem; |
|||
} |
} |
||
.discord-widget-wrap { |
|||
#home-card-patreon { |
|||
display: flex; |
|||
background: #ff424d; |
|||
justify-content: center; |
|||
margin-top: 0.95rem; |
|||
margin-bottom: 1rem; |
|||
padding-inline: 0.05rem; |
|||
} |
} |
||
#home- |
#home-discordwidget #discord-widget { |
||
width: 100%; |
|||
background: #ff5e5b; |
|||
max-width: none; |
|||
} |
} |
||
#home-discordwidget iframe.responsive-iframe { |
|||
#home-card-reddit { |
|||
width: 100%; |
|||
background: #ff4500; |
|||
border-radius: 8px; |
|||
overflow: hidden; |
|||
display: block; |
|||
min-height: 500px; |
|||
background: transparent; |
|||
} |
} |
||
.home- |
#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 ); |
font-size: var( --font-size-small ); |
||
line-height: 1.5; |
|||
font-family: var( --font-family-monospace ); |
|||
} |
|||
text-align: center; |
|||
.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 ) ); |
|||
} |
|||
} |
} |
||
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 ) );
}
}