打开/关闭菜单
5
6
152
卡车模拟中文维基
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
Imxiaoanag留言 | 贡献2026年7月21日 (二) 02:54的版本
/* =========================================================
 * 首页主题变量
 * ========================================================= */

:root {
	/* 普通卡片 */
	--home-card-background: var(--color-surface-1);
	--home-card-border-color: var(--border-color-base);

	/* 徽章及次级区域 */
	--home-secondary-background: var(--color-surface-2);
	--home-secondary-background-hover: var(--color-surface-2--hover);
	--home-secondary-background-active: var(--color-surface-2--active);

	/* 文字颜色 */
	--home-text-color: var(--color-base);
	--home-title-color: var(--color-emphasized);
	--home-subtle-color: var(--color-subtle);

	/* 阴影 */
	--home-card-shadow: none;
}

/*
 * Citizen 夜间模式。
 *
 * 页面背景为 #333333 时,卡片使用稍亮的灰色,
 * 使首页模块与页面底色形成层次。
 */
:root.skin-theme-clientpref-night {
	--home-card-background: #3d3d3d;
	--home-card-border-color: #555555;

	--home-secondary-background: #484848;
	--home-secondary-background-hover: #525252;
	--home-secondary-background-active: #5c5c5c;

	--home-text-color: #f1f1f1;
	--home-title-color: #ffffff;
	--home-subtle-color: #b8b8b8;

	--home-card-shadow:
		0 2px 8px rgb(0 0 0 / 0.22),
		0 8px 24px rgb(0 0 0 / 0.12);
}

/* =========================================================
 * 首页网格
 * ========================================================= */

.home-grid {
	display: grid;

	grid:
		auto-flow dense /
		repeat(auto-fit, minmax(9.375rem, 1fr));

	grid-auto-rows: minmax(3rem, auto);
	gap: var(--space-xs);
}

.home-grid--col2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/*
 * 移除 MediaWiki 为外部链接添加的默认背景图标。
 */
.home-grid a.external {
	background-image: none;
}

/* =========================================================
 * 首页通用徽章
 * ========================================================= */

.home-badge {
	display: flex;
	align-items: center;
	gap: var(--space-xxs);

	padding:
		var(--space-xxs)
		var(--space-xs);

	background-color: var(--home-secondary-background);
	color: var(--home-text-color);

	border: 1px solid var(--home-card-border-color);
	border-radius: var(--border-radius-base);

	font-size: var(--font-size-x-small);
	font-weight: var(--font-weight-normal);
	letter-spacing: 0.025em;
	line-height: var(--line-height-xxx-small);
}

/* =========================================================
 * 首页卡片
 * ========================================================= */

.home-card {
	position: relative;

	padding: var(--space-md);

	background-color: var(--home-card-background);
	color: var(--home-text-color);

	border: 1px solid var(--home-card-border-color);
	border-radius: var(--border-radius-medium);
	box-shadow: var(--home-card-shadow);

	font-size: var(--font-size-small);
}

/*
 * 卡片内部链接继承当前主题的文字可读性。
 */
.home-card a {
	color: var(--color-progressive);
}

.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(--home-subtle-color);

	font-size: var(--font-size-x-small);
	letter-spacing: 0.05em;
}

.home-card__badge {
	padding:
		var(--space-xxs)
		var(--space-xs);

	background-color: var(--home-secondary-background);

	border: 1px solid var(--home-card-border-color);
	border-radius: var(--border-radius-base);
}

/* =========================================================
 * 卡片标题
 * ========================================================= */

.home-card__header {
	color: var(--home-title-color);

	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;
	gap: var(--space-xs);

	color: inherit;
	text-decoration: none;
}

.home-card__header a::after {
	content: "▶";

	flex-shrink: 0;

	color: var(--home-subtle-color);
	font-size: var(--font-size-x-small);
}

/* =========================================================
 * 图片背景卡片
 * ========================================================= */

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

/*
 * 在背景图上增加渐变遮罩,
 * 保证前景白色文字的可读性。
 */
.home-card__background::after {
	position: absolute;
	inset: 0;

	display: block;

	background:
		linear-gradient(
			to right,
			rgb(0 0 0 / 0.85),
			rgb(0 0 0 / 0.15) 70%,
			transparent
		);

	content: "";
	pointer-events: none;

	transition: opacity 250ms ease;
}

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

.home-card__background img {
	display: block;

	object-fit: cover;
	object-position: center;
}

/* =========================================================
 * 图片卡片前景内容
 * ========================================================= */

.home-card__foreground {
	position: absolute;
	inset: 0;

	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--space-xxs);

	padding: var(--space-md);

	color: #ffffff;
	line-height: var(--line-height-xxx-small);

	pointer-events: none;
}

.home-card__foreground .home-card__badge {
	position: absolute;
	top: 0;
	right: 0;

	background-color: rgb(40 40 40 / 0.88);
	color: #ffffff;

	border-color: rgb(255 255 255 / 0.2);
	border-top-left-radius: 0;
	border-bottom-right-radius: 0;

	backdrop-filter: blur(8px);
}

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

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

/* =========================================================
 * 卡片段落
 * ========================================================= */

.home-card p {
	margin-top: var(--space-xs);

	color: var(--home-text-color);

	font-size: var(--font-size-small);
}

/*
 * 图片背景卡片内的段落始终使用浅色文字。
 */
.home-card__foreground p {
	color: #ffffff;
}

/* =========================================================
 * 按钮式卡片
 * ========================================================= */

.home-card.home-card--button {
	overflow: hidden;

	padding: 0;

	border: 0;
}

.home-card--button a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

	padding-inline: var(--space-md);

	background-color: transparent;
	color: #ffffff;

	font-weight: var(--font-weight-medium);
	text-decoration: none;
}

.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-card--button:hover .home-card__background::after {
	opacity: 0.82;
}

/* =========================================================
 * 首页链接按钮
 * ========================================================= */

.home-link {
	display: grid;
	gap: var(--space-xs);

	margin-top: var(--space-xs);

	font-size: var(--font-size-small);
	font-weight: var(--font-weight-medium);
	text-align: center;
}

.home-link__button {
	display: flex;
}

.home-link__button a {
	flex-grow: 1;

	padding: var(--space-xs);

	background-color: var(--home-secondary-background);
	color: var(--home-title-color) !important;

	border: 1px solid var(--home-card-border-color);
	border-radius: var(--border-radius-medium);

	line-height: var(--line-height-xxx-small);
	text-decoration: none !important;

	transition:
		background-color 150ms ease,
		border-color 150ms ease;
}

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

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

/* =========================================================
 * 首页其他内容
 * ========================================================= */

#home-content {
	margin-top: var(--space-lg);
}

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

.home-footer {
	color: var(--home-subtle-color);

	font-family: var(--font-family-monospace);
	font-size: var(--font-size-small);
	text-align: center;
}

/* =========================================================
 * 移动端适配
 * ========================================================= */

@media (max-width: 720px) {
	.home-grid,
	.home-grid--col2 {
		grid-template-columns: 1fr;
	}

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

	/*
	 * 移动端不固定跨行高度,避免内容较多时出现异常留白。
	 */
	.home-card--row3,
	.home-card--row4,
	.home-card--row8 {
		grid-row: auto;
	}
}