MediaWiki:Citizen.css:修订间差异
MediaWiki界面页面
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
:root { | :root { | ||
--color-progressive-oklch__h: 301; | --color-progressive-oklch__h: 301; | ||
--color-progressive-oklch__c: 0.168; | --color-progressive-oklch__c: 0.168; | ||
--color-progressive-oklch__l: 48%; | --color-progressive-oklch__l: 48%; | ||
--transform-image-hover: none; | |||
--backdrop-filter-frosted-glass: blur(10px) saturate(120%); | |||
} | } | ||
/* ── 浅色模式 ── */ | |||
/* | |||
.skin-theme-clientpref-day { | .skin-theme-clientpref-day { | ||
--color-surface-0: #F8F6FC; | --color-surface-0: #F8F6FC; | ||
| 第28行: | 第20行: | ||
} | } | ||
@media screen and (prefers-color-scheme: light) { | @media screen and (prefers-color-scheme: light) { | ||
.skin-theme-clientpref-os { | .skin-theme-clientpref-os { | ||
| 第43行: | 第34行: | ||
} | } | ||
/* ── 深色模式 ── */ | |||
/* | |||
.skin-theme-clientpref-night { | .skin-theme-clientpref-night { | ||
--color-surface-0: #110D1B; | --color-surface-0: #110D1B; | ||
| 第61行: | 第47行: | ||
} | } | ||
@media screen and (prefers-color-scheme: dark) { | @media screen and (prefers-color-scheme: dark) { | ||
.skin-theme-clientpref-os { | .skin-theme-clientpref-os { | ||
| 第76行: | 第61行: | ||
} | } | ||
/* | /* ── 纯黑模式 ── */ | ||
.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 { | .skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 { | ||
--color-surface-0: #000000; | --color-surface-0: #000000; | ||
| 第85行: | 第70行: | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第2部分:D竖脉经络背景线条 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-day .mw-page-container { | .citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-day .mw-page-container { | ||
background-image: | background-image: | ||
repeating-linear-gradient( | repeating-linear-gradient(90deg, | ||
transparent, transparent 80px, | |||
transparent, | rgba(124, 58, 237, 0.03) 80px, rgba(124, 58, 237, 0.03) 81px, | ||
transparent 81px, transparent 100px, | |||
rgba(124, 58, 237, 0.03) 80px, | rgba(124, 58, 237, 0.018) 100px, rgba(124, 58, 237, 0.018) 101px | ||
transparent 81px, | |||
rgba(124, 58, 237, 0.018) 100px, | |||
); | ); | ||
background-attachment: fixed; | background-attachment: fixed; | ||
} | } | ||
.citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-night .mw-page-container { | .citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-night .mw-page-container { | ||
background-image: | background-image: | ||
repeating-linear-gradient( | repeating-linear-gradient(90deg, | ||
transparent, transparent 80px, | |||
transparent, | rgba(196, 181, 253, 0.025) 80px, rgba(196, 181, 253, 0.025) 81px, | ||
transparent 81px, transparent 100px, | |||
rgba(196, 181, 253, 0.025) 80px, | rgba(196, 181, 253, 0.015) 100px, rgba(196, 181, 253, 0.015) 101px | ||
transparent 81px, | |||
rgba(196, 181, 253, 0.015) 100px, | |||
); | ); | ||
background-attachment: fixed; | background-attachment: fixed; | ||
} | } | ||
@media screen and (prefers-color-scheme: light) { | @media screen and (prefers-color-scheme: light) { | ||
.citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-os .mw-page-container { | .citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-os .mw-page-container { | ||
background-image: | background-image: | ||
repeating-linear-gradient( | repeating-linear-gradient(90deg, | ||
transparent, transparent 80px, | |||
transparent, | rgba(124, 58, 237, 0.03) 80px, rgba(124, 58, 237, 0.03) 81px, | ||
transparent 81px, transparent 100px, | |||
rgba(124, 58, 237, 0.03) 80px, | rgba(124, 58, 237, 0.018) 100px, rgba(124, 58, 237, 0.018) 101px | ||
transparent 81px, | |||
rgba(124, 58, 237, 0.018) 100px, | |||
); | ); | ||
background-attachment: fixed; | background-attachment: fixed; | ||
} | } | ||
} | } | ||
@media screen and (prefers-color-scheme: dark) { | @media screen and (prefers-color-scheme: dark) { | ||
.citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-os .mw-page-container { | .citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-os .mw-page-container { | ||
background-image: | background-image: | ||
repeating-linear-gradient( | repeating-linear-gradient(90deg, | ||
transparent, transparent 80px, | |||
transparent, | rgba(196, 181, 253, 0.025) 80px, rgba(196, 181, 253, 0.025) 81px, | ||
transparent 81px, transparent 100px, | |||
rgba(196, 181, 253, 0.025) 80px, | rgba(196, 181, 253, 0.015) 100px, rgba(196, 181, 253, 0.015) 101px | ||
transparent 81px, | |||
rgba(196, 181, 253, 0.015) 100px, | |||
); | ); | ||
background-attachment: fixed; | background-attachment: fixed; | ||
| 第161行: | 第122行: | ||
} | } | ||
.citizen-feature-performance-mode-clientpref-1 .mw-page-container { | .citizen-feature-performance-mode-clientpref-1 .mw-page-container { | ||
background-image: none; | background-image: none; | ||
| 第167行: | 第127行: | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第3部分:页面宽度 — 加宽以容纳三栏留白 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
:root.citizen-feature-custom-width-clientpref-standard { | |||
--width-layout: 1240px; | |||
} | |||
:root.citizen-feature-custom-width-clientpref-wide { | |||
--width-layout: 1680px; | |||
} | |||
/* ╔══════════════════════════════════════════════════════════════╗ | |||
║ 第4部分:顶部导航栏 — 方案A 单行通栏 ║ | |||
║ Citizen header 在 top 模式下的样式覆盖 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
/* 导航栏整体背景 */ | |||
.citizen-header { | |||
background: linear-gradient(135deg, #1A1033 0%, #2D1B69 100%); | |||
border-bottom: 1px solid rgba(124, 58, 237, 0.15); | |||
} | |||
/* Logo区域 */ | |||
.citizen-header__logo { | |||
border-radius: 8px; | |||
} | |||
/* 导航栏按钮(搜索/用户/菜单等) */ | |||
.citizen-header__button { | |||
border-radius: 8px; | |||
} | |||
.citizen-header__button:hover { | |||
background-color: rgba(124, 58, 237, 0.15); | |||
} | |||
/* 搜索触发区域 */ | |||
.citizen-search-trigger { | |||
border-radius: 8px; | |||
border: 1px solid rgba(255, 255, 255, 0.08); | |||
background: rgba(255, 255, 255, 0.04); | |||
} | |||
.citizen-search-trigger:hover { | |||
background: rgba(255, 255, 255, 0.08); | |||
border-color: rgba(124, 58, 237, 0.3); | |||
} | |||
/* 侧边抽屉(汉堡菜单展开后)导航链接 */ | |||
.citizen-drawer { | |||
border-right: 1px solid var(--color-surface-3); | |||
} | |||
.citizen-drawer .mw-portal .vector-menu-content-list a { | |||
border-radius: 6px; | |||
padding: 6px 12px; | |||
} | |||
.citizen-drawer .mw-portal .vector-menu-content-list a:hover { | |||
background: var(--color-surface-3); | |||
} | |||
/* ╔══════════════════════════════════════════════════════════════╗ | |||
║ 第5部分:页面标题与章节标题 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .firstHeading { | .skin-citizen .firstHeading { | ||
| 第175行: | 第200行: | ||
letter-spacing: 1px; | letter-spacing: 1px; | ||
} | } | ||
.skin-citizen .mw-body-content .mw-heading h2 { | .skin-citizen .mw-body-content .mw-heading h2 { | ||
| 第202行: | 第221行: | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第6部分:Infobox — 左侧悬浮独立卡片 ║ | |||
║ PC端:固定宽度 + sticky + 圆角卡片 + 与内容区间距 ║ | |||
║ 移动端:自动回流全宽 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
/* --- 传统 table.infobox --- */ | /* --- 传统 table.infobox --- */ | ||
@media screen and (min-width: | .skin-citizen .mw-body-content .infobox { | ||
border: 1px solid var(--color-surface-3); | |||
border-radius: 14px; | |||
overflow: hidden; | |||
background: #FFFFFF; | |||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); | |||
} | |||
@media screen and (min-width: 1100px) { | |||
.skin-citizen .mw-body-content .infobox { | .skin-citizen .mw-body-content .infobox { | ||
float: left; | float: left; | ||
clear: left; | clear: left; | ||
width: | width: 260px; | ||
margin: 0 24px 20px 0; | margin: 0 24px 20px 0; | ||
position: sticky; | position: sticky; | ||
| 第222行: | 第248行: | ||
} | } | ||
.skin-citizen .mw-body-content .infobox > caption, | .skin-citizen .mw-body-content .infobox > caption, | ||
.skin-citizen .mw-body-content .infobox > tbody > tr:first-child > th { | .skin-citizen .mw-body-content .infobox > tbody > tr:first-child > th { | ||
| 第236行: | 第253行: | ||
color: #FFFFFF; | color: #FFFFFF; | ||
font-weight: 800; | font-weight: 800; | ||
font-size: 1. | font-size: 1.1rem; | ||
letter-spacing: 2px; | letter-spacing: 2px; | ||
padding: 14px 16px; | padding: 14px 16px; | ||
| 第243行: | 第260行: | ||
} | } | ||
.skin-citizen .mw-body-content .infobox .infobox-image, | .skin-citizen .mw-body-content .infobox .infobox-image, | ||
.skin-citizen .mw-body-content .infobox > tbody > tr > td[colspan] { | .skin-citizen .mw-body-content .infobox > tbody > tr > td[colspan] { | ||
| 第257行: | 第273行: | ||
} | } | ||
.skin-citizen .mw-body-content .infobox th { | .skin-citizen .mw-body-content .infobox th { | ||
background: var(--color-surface-2); | background: var(--color-surface-2); | ||
| 第266行: | 第281行: | ||
text-align: left; | text-align: left; | ||
white-space: nowrap; | white-space: nowrap; | ||
width: | width: 35%; | ||
vertical-align: top; | vertical-align: top; | ||
border-bottom: 1px solid var(--color-surface-3); | border-bottom: 1px solid var(--color-surface-3); | ||
| 第278行: | 第293行: | ||
} | } | ||
.skin-citizen .mw-body-content .infobox .infobox-header, | .skin-citizen .mw-body-content .infobox .infobox-header, | ||
.skin-citizen .mw-body-content .infobox th[colspan] { | .skin-citizen .mw-body-content .infobox th[colspan] { | ||
| 第284行: | 第298行: | ||
color: var(--color-emphasized); | color: var(--color-emphasized); | ||
font-weight: 700; | font-weight: 700; | ||
font-size: 0. | font-size: 0.85rem; | ||
padding: 8px 12px; | padding: 8px 12px; | ||
text-align: center; | text-align: center; | ||
| 第290行: | 第304行: | ||
} | } | ||
/* --- PortableInfobox | /* --- PortableInfobox --- */ | ||
@media screen and (min-width: | .skin-citizen .mw-body-content .portable-infobox { | ||
border: 1px solid var(--color-surface-3); | |||
border-radius: 14px; | |||
overflow: hidden; | |||
background: #FFFFFF; | |||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); | |||
} | |||
@media screen and (min-width: 1100px) { | |||
.skin-citizen .mw-body-content .portable-infobox { | .skin-citizen .mw-body-content .portable-infobox { | ||
float: left; | float: left; | ||
clear: left; | clear: left; | ||
width: | width: 260px; | ||
margin: 0 24px 20px 0; | margin: 0 24px 20px 0; | ||
position: sticky; | position: sticky; | ||
| 第301行: | 第323行: | ||
z-index: 2; | z-index: 2; | ||
} | } | ||
} | } | ||
| 第315行: | 第329行: | ||
color: #FFFFFF; | color: #FFFFFF; | ||
font-weight: 800; | font-weight: 800; | ||
font-size: 1. | font-size: 1.1rem; | ||
letter-spacing: 2px; | letter-spacing: 2px; | ||
padding: 14px 16px; | padding: 14px 16px; | ||
| 第322行: | 第336行: | ||
.skin-citizen .mw-body-content .portable-infobox .pi-image img { | .skin-citizen .mw-body-content .portable-infobox .pi-image img { | ||
width: 100%; | width: 100%; | ||
height: auto; | height: auto; | ||
| 第344行: | 第357行: | ||
} | } | ||
/* ╔══════════════════════════════════════════════════════════════╗ | |||
║ 第7部分:目录(TOC)— 右侧独立卡片 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
/* | /* TOC 容器卡片化 */ | ||
.citizen-toc { | |||
background: #FFFFFF; | |||
border-radius: 14px; | |||
border: 1px solid var(--color-surface-3); | |||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); | |||
padding: 16px 14px; | |||
} | |||
.skin-theme-clientpref-night .citizen-toc { | |||
.skin- | background: var(--color-surface-1); | ||
} | } | ||
.skin-citizen .citizen-toc__top { | .skin-citizen .citizen-toc__top { | ||
font-weight: | font-weight: 800; | ||
letter-spacing: 1px; | letter-spacing: 1px; | ||
font-size: 0.8rem; | font-size: 0.8rem; | ||
text-transform: uppercase; | text-transform: uppercase; | ||
padding-bottom: 8px; | |||
margin-bottom: 6px; | |||
border-bottom: 1px solid var(--color-surface-3); | |||
} | |||
.skin-citizen .citizen-toc__link--active { | |||
color: var(--color-progressive); | |||
font-weight: 700; | |||
} | } | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第8部分:内容区段落独立白色卡片 ║ | |||
║ 每个 .mw-heading 之后的内容块独立成卡片 ║ | |||
║ 卡片纯白背景 + 圆角 + 边框 + 内边距 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
/* | /* 紧跟在章节标题后的主要内容元素 → 独立卡片 */ | ||
.skin-citizen .mw-body-content .mw-heading + div, | .skin-citizen .mw-body-content .mw-heading + div, | ||
.skin-citizen .mw-body-content .mw-heading + p, | .skin-citizen .mw-body-content .mw-heading + p, | ||
| 第385行: | 第403行: | ||
.skin-citizen .mw-body-content .mw-heading + ol, | .skin-citizen .mw-body-content .mw-heading + ol, | ||
.skin-citizen .mw-body-content .mw-heading + dl, | .skin-citizen .mw-body-content .mw-heading + dl, | ||
.skin-citizen .mw-body-content .mw-heading + blockquote { | .skin-citizen .mw-body-content .mw-heading + blockquote, | ||
.skin-citizen .mw-body-content .mw-heading + figure, | |||
.skin-citizen .mw-body-content .mw-heading + .wikitable { | |||
background: #FFFFFF; | |||
border: 1px solid var(--color-surface-3); | |||
border-radius: 12px; | |||
padding: 18px 24px; | |||
margin-top: 10px; | |||
margin-bottom: 14px; | |||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); | |||
} | |||
/* 深色模式下卡片用 surface-1 */ | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + div, | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + p, | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + ul, | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + ol, | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + dl, | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + blockquote { | |||
background: var(--color-surface-1); | background: var(--color-surface-1); | ||
} | |||
/* 卡片内连续段落不重复加卡片 */ | |||
.skin-citizen .mw-body-content .mw-heading + p + p, | |||
.skin-citizen .mw-body-content .mw-heading + div + p, | |||
.skin-citizen .mw-body-content .mw-heading + p + ul, | |||
.skin-citizen .mw-body-content .mw-heading + p + ol { | |||
background: transparent; | |||
border: none; | |||
border-radius: 0; | |||
padding: 0; | |||
margin-top: 0; | |||
box-shadow: none; | |||
} | |||
/* 页面顶部简介区域(第一个标题前的段落)也卡片化 */ | |||
.skin-citizen .mw-body-content > .mw-parser-output > p:first-of-type { | |||
background: #FFFFFF; | |||
border: 1px solid var(--color-surface-3); | border: 1px solid var(--color-surface-3); | ||
border-radius: | border-radius: 12px; | ||
padding: | padding: 18px 24px; | ||
margin-bottom: | margin-bottom: 14px; | ||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); | ||
} | } | ||
.skin-theme-clientpref-night .skin-citizen .mw-body-content > .mw-parser-output > p:first-of-type { | |||
background: var(--color-surface-1); | |||
} | |||
/* | |||
/* ╔══════════════════════════════════════════════════════════════╗ | |||
║ 第9部分:表格样式 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .mw-body-content .wikitable { | .skin-citizen .mw-body-content .wikitable { | ||
border: 1px solid var(--color-surface-3); | border: 1px solid var(--color-surface-3); | ||
border-radius: | border-radius: 12px; | ||
overflow: hidden; | overflow: hidden; | ||
background: #FFFFFF; | |||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); | |||
} | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content .wikitable { | |||
background: var(--color-surface-1); | background: var(--color-surface-1); | ||
} | } | ||
| 第425行: | 第486行: | ||
} | } | ||
.citizen-animations-ready .skin-citizen .mw-body-content .wikitable tbody tr { | .citizen-animations-ready .skin-citizen .mw-body-content .wikitable tbody tr { | ||
transition: background-color var(--transition-hover); | transition: background-color var(--transition-hover); | ||
| 第434行: | 第494行: | ||
} | } | ||
/* | /* 战绩表格颜色标记 */ | ||
.skin-citizen .mw-body-content .wikitable .result-win { | .skin-citizen .mw-body-content .wikitable .result-win { color: #10B981; font-weight: 700; } | ||
.skin-citizen .mw-body-content .wikitable .result-lose { color: #EF4444; font-weight: 700; } | |||
.skin-citizen .mw-body-content .wikitable .result-draw { color: #F59E0B; font-weight: 700; } | |||
} | |||
.skin-citizen .mw-body-content .wikitable .result-lose { | |||
} | |||
.skin-citizen .mw-body-content .wikitable .result-draw { | |||
} | |||
/* 境界进度条 | /* 境界进度条 */ | ||
.skin-citizen .mw-body-content .realm-progress { | .skin-citizen .mw-body-content .realm-progress { | ||
height: | height: 5px; | ||
border-radius: 3px; | border-radius: 3px; | ||
background: var(--color-surface-3); | background: var(--color-surface-3); | ||
overflow: hidden; | overflow: hidden; | ||
margin-top: 4px; | |||
} | } | ||
.skin-citizen .mw-body-content .realm-progress-bar { | .skin-citizen .mw-body-content .realm-progress-bar { | ||
| 第462行: | 第514行: | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第10部分:Navbox 底部导航 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .mw-body-content .navbox { | .skin-citizen .mw-body-content .navbox { | ||
border: 1px solid var(--color-surface-3); | border: 1px solid var(--color-surface-3); | ||
border-radius: | border-radius: 14px; | ||
overflow: hidden; | overflow: hidden; | ||
margin: 24px 0; | margin: 24px 0; | ||
background: #FFFFFF; | |||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03); | |||
} | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content .navbox { | |||
background: var(--color-surface-1); | background: var(--color-surface-1); | ||
} | } | ||
| 第507行: | 第563行: | ||
} | } | ||
.skin-citizen .mw-body-content .navbox-even { | .skin-citizen .mw-body-content .navbox-even { background: var(--color-surface-2); } | ||
.skin-citizen .mw-body-content .navbox-odd { background: var(--color-surface-1); } | |||
} | |||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第11部分:分类标签 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .mw-normal-catlinks { | .skin-citizen .mw-normal-catlinks { | ||
| 第554行: | 第600行: | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第12部分:链接样式 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .mw-body-content a:not(.new):not(.external):hover { | .skin-citizen .mw-body-content a:not(.new):not(.external):hover { | ||
text-decoration: underline; | text-decoration: underline; | ||
| 第566行: | 第611行: | ||
} | } | ||
.skin-citizen .mw-body-content a.new { color: #DC2626; } | |||
.skin-citizen .mw-body-content a.new { | .skin-theme-clientpref-night .skin-citizen .mw-body-content a.new { color: #FCA5A5; } | ||
} | |||
.skin-theme-clientpref-night .skin-citizen .mw-body-content a.new { | |||
} | |||
/* ╔══════════════════════════════════════════════════════════════╗ | |||
║ 第13部分:引用 / 经典台词 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .mw-body-content blockquote { | .skin-citizen .mw-body-content blockquote { | ||
border-left: 4px solid var(--color-progressive); | border-left: 4px solid var(--color-progressive); | ||
background: var(--color-surface-2); | background: var(--color-surface-2); | ||
border-radius: 0 | border-radius: 0 10px 10px 0; | ||
padding: 14px 20px; | padding: 14px 20px; | ||
margin: 12px 0; | margin: 12px 0; | ||
| 第595行: | 第629行: | ||
} | } | ||
.skin-citizen .quote-block { | |||
.skin-citizen . | background: var(--color-surface-2); | ||
font-size: 0. | border-left: 4px solid var(--color-progressive); | ||
border-radius: 0 10px 10px 0; | |||
padding: 14px 20px; | |||
margin: 10px 0; | |||
} | |||
.skin-citizen .quote-block .quote-text { | |||
font-size: 0.95rem; | |||
font-style: italic; | |||
line-height: 1.7; | |||
color: var(--color-emphasized); | |||
} | |||
.skin-citizen .quote-block .quote-source { | |||
font-size: 0.8rem; | |||
color: var(--color-subtle); | color: var(--color-subtle); | ||
margin-top: 6px; | |||
text-align: right; | |||
} | } | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第14部分:Tabber / Mermaid / 图片 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .tabber__header { | .skin-citizen .tabber__header { | ||
| 第619行: | 第667行: | ||
.skin-citizen .tabber__panel { | .skin-citizen .tabber__panel { | ||
background: | background: #FFFFFF; | ||
border: 1px solid var(--color-surface-3); | border: 1px solid var(--color-surface-3); | ||
border-top: none; | border-top: none; | ||
border-radius: 0 0 | border-radius: 0 0 10px 10px; | ||
padding: 16px; | padding: 16px; | ||
} | } | ||
.skin-citizen .mw-body-content .mermaid { | .skin-citizen .mw-body-content .mermaid { | ||
background: | background: #FFFFFF; | ||
border: 1px solid var(--color-surface-3); | border: 1px solid var(--color-surface-3); | ||
border-radius: | border-radius: 12px; | ||
padding: 16px; | padding: 16px; | ||
text-align: center; | text-align: center; | ||
| 第640行: | 第683行: | ||
} | } | ||
.skin-citizen .mw-body-content .thumb .thumbinner { | .skin-citizen .mw-body-content .thumb .thumbinner { | ||
border: 1px solid var(--color-surface-3); | border: 1px solid var(--color-surface-3); | ||
border-radius: | border-radius: 10px; | ||
overflow: hidden; | overflow: hidden; | ||
background: | background: #FFFFFF; | ||
} | } | ||
| 第660行: | 第697行: | ||
} | } | ||
/* ╔══════════════════════════════════════════════════════════════╗ | |||
║ 第15部分:自定义标签(角色/IP/境界/势力) ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .tag-character { | .skin-citizen .tag-character { | ||
display: inline-block; | display: inline-block; | ||
background: #F3F0FF; | background: #F3F0FF; color: #6D28D9; | ||
padding: 2px 8px; border-radius: 4px; | |||
padding: 2px 8px; | font-size: 0.8rem; font-weight: 500; margin: 1px 2px; | ||
font-size: 0.8rem; | |||
} | } | ||
.skin-theme-clientpref-night .tag-character { | .skin-theme-clientpref-night .tag-character { | ||
background: rgba(124, 58, 237, 0.15); | background: rgba(124, 58, 237, 0.15); color: #C4B5FD; | ||
} | } | ||
.skin-citizen .tag-ip { | .skin-citizen .tag-ip { | ||
display: inline-block; | display: inline-block; | ||
background: #FEF3C7; | background: #FEF3C7; color: #B45309; | ||
padding: 2px 8px; border-radius: 4px; | |||
padding: 2px 8px; | font-size: 0.8rem; font-weight: 500; margin: 1px 2px; | ||
font-size: 0.8rem; | |||
} | } | ||
.skin-theme-clientpref-night .tag-ip { | .skin-theme-clientpref-night .tag-ip { | ||
background: rgba(245, 158, 11, 0.15); | background: rgba(245, 158, 11, 0.15); color: #FDE68A; | ||
} | } | ||
.skin-citizen .tag-realm { | .skin-citizen .tag-realm { | ||
display: inline-block; | display: inline-block; | ||
background: #ECFDF5; | background: #ECFDF5; color: #047857; | ||
padding: 2px 8px; border-radius: 4px; | |||
padding: 2px 8px; | font-size: 0.8rem; font-weight: 500; margin: 1px 2px; | ||
font-size: 0.8rem; | |||
} | } | ||
.skin-theme-clientpref-night .tag-realm { | .skin-theme-clientpref-night .tag-realm { | ||
background: rgba(16, 185, 129, 0.15); | background: rgba(16, 185, 129, 0.15); color: #A7F3D0; | ||
} | } | ||
.skin-citizen .tag-faction { | .skin-citizen .tag-faction { | ||
display: inline-block; | display: inline-block; | ||
background: #FEE2E2; | background: #FEE2E2; color: #B91C1C; | ||
padding: 2px 8px; border-radius: 4px; | |||
padding: 2px 8px; | font-size: 0.8rem; font-weight: 500; margin: 1px 2px; | ||
font-size: 0.8rem; | |||
} | } | ||
.skin-theme-clientpref-night .tag-faction { | .skin-theme-clientpref-night .tag-faction { | ||
background: rgba(239, 68, 68, 0.15); | background: rgba(239, 68, 68, 0.15); color: #FCA5A5; | ||
} | } | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第16部分:角色关系卡片网格 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .relation-card-grid { | .skin-citizen .relation-card-grid { | ||
display: grid; | display: grid; | ||
grid-template-columns: repeat(auto-fill, minmax( | grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); | ||
gap: 10px; | gap: 10px; | ||
margin: 12px 0; | margin: 12px 0; | ||
| 第764行: | 第755行: | ||
.skin-citizen .relation-card { | .skin-citizen .relation-card { | ||
background: var(--color-surface- | background: var(--color-surface-2); | ||
border: 1px solid var(--color-surface-3); | border: 1px solid var(--color-surface-3); | ||
border-radius: 10px; | border-radius: 10px; | ||
padding: 12px; | padding: 12px 8px; | ||
text-align: center; | text-align: center; | ||
} | } | ||
| 第781行: | 第772行: | ||
.skin-citizen .relation-card img { | .skin-citizen .relation-card img { | ||
width: | width: 56px; height: 56px; | ||
border-radius: 50%; | border-radius: 50%; | ||
object-fit: cover; | object-fit: cover; | ||
| 第790行: | 第780行: | ||
.skin-citizen .relation-card .relation-name { | .skin-citizen .relation-card .relation-name { | ||
font-weight: 700; | font-weight: 700; font-size: 0.85rem; color: var(--color-link); | ||
} | } | ||
.skin-citizen .relation-card .relation-type { | .skin-citizen .relation-card .relation-type { | ||
font-size: 0.75rem; | font-size: 0.75rem; color: var(--color-subtle); margin-top: 2px; | ||
} | } | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第17部分:战绩统计条 / 剧透折叠 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
.skin-citizen .battle-stats { | .skin-citizen .battle-stats { | ||
display: flex; | display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; | ||
} | } | ||
.skin-citizen .battle-stats .stat-win { | .skin-citizen .battle-stats .stat-win { | ||
background: rgba(16, 185, 129, 0.1); | background: rgba(16, 185, 129, 0.1); color: #10B981; | ||
padding: 4px 12px; border-radius: 6px; font-weight: 700; font-size: 0.85rem; | |||
padding: 4px 12px; | |||
} | } | ||
.skin-citizen .battle-stats .stat-lose { | .skin-citizen .battle-stats .stat-lose { | ||
background: rgba(239, 68, 68, 0.1); | background: rgba(239, 68, 68, 0.1); color: #EF4444; | ||
padding: 4px 12px; border-radius: 6px; font-weight: 700; font-size: 0.85rem; | |||
padding: 4px 12px; | |||
} | } | ||
.skin-citizen .battle-stats .stat-draw { | .skin-citizen .battle-stats .stat-draw { | ||
background: rgba(245, 158, 11, 0.1); | background: rgba(245, 158, 11, 0.1); color: #F59E0B; | ||
padding: 4px 12px; border-radius: 6px; font-weight: 700; font-size: 0.85rem; | |||
padding: 4px 12px; | |||
} | } | ||
.skin-citizen .spoiler-box { | .skin-citizen .spoiler-box { | ||
| 第890行: | 第824行: | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第18部分:页脚 — 方案A 四列信息式 ║ | |||
Citizen | ║ 覆盖 Citizen 默认 footer 样式 ║ | ||
╚══════════════════════════════════════════════════════════════╝ */ | |||
/* 页脚整体背景 */ | |||
.citizen-footer, | |||
#footer { | |||
background: linear-gradient(135deg, #0F0A1A 0%, #1A1033 100%); | |||
border-top: 2px solid rgba(124, 58, 237, 0.15); | |||
padding: 32px 24px 16px; | |||
} | |||
/* 页脚文字颜色 */ | |||
.citizen-footer, | |||
.citizen-footer a, | |||
#footer, | |||
#footer a { | |||
color: rgba(228, 220, 245, 0.5); | |||
} | |||
.citizen-footer a:hover, | |||
#footer a:hover { | |||
color: #C4B5FD; | |||
} | |||
/* 页脚列表横排 */ | |||
.citizen-footer ul, | |||
#footer ul { | |||
display: flex; | |||
flex-wrap: wrap; | |||
gap: 8px 20px; | |||
} | |||
.citizen-footer li, | |||
#footer li { | |||
font-size: 0.8rem; | |||
} | |||
/* 页脚信息行 */ | |||
.citizen-footer__info, | |||
#footer-info { | |||
font-size: 0.75rem; | |||
color: rgba(228, 220, 245, 0.3); | |||
margin-top: 16px; | |||
padding-top: 16px; | |||
border-top: 1px solid rgba(255, 255, 255, 0.06); | |||
text-align: center; | |||
} | |||
/* 页脚图标 */ | |||
.citizen-footer__icons img, | |||
#footer-icons img { | |||
opacity: 0.4; | |||
} | |||
@media screen and (max-width: | .citizen-footer__icons img:hover, | ||
#footer-icons img:hover { | |||
opacity: 0.7; | |||
} | |||
/* ╔══════════════════════════════════════════════════════════════╗ | |||
║ 第19部分:移动端响应式 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
@media screen and (max-width: 1099px) { | |||
.skin-citizen .mw-body-content .infobox, | .skin-citizen .mw-body-content .infobox, | ||
.skin-citizen .mw-body-content .portable-infobox { | .skin-citizen .mw-body-content .portable-infobox { | ||
| 第905行: | 第899行: | ||
} | } | ||
.skin-citizen .relation-card-grid { | .skin-citizen .relation-card-grid { | ||
grid-template-columns: repeat( | grid-template-columns: repeat(3, 1fr); | ||
} | } | ||
.skin-citizen .mw-body-content .wikitable { | .skin-citizen .mw-body-content .wikitable { | ||
display: block; | display: block; | ||
| 第918行: | 第910行: | ||
@media screen and (max-width: 600px) { | @media screen and (max-width: 600px) { | ||
.skin-citizen .relation-card-grid { | .skin-citizen .relation-card-grid { | ||
grid-template-columns: 1fr; | grid-template-columns: repeat(2, 1fr); | ||
} | } | ||
.skin-citizen .mw-body-content .navbox-group { | .skin-citizen .mw-body-content .navbox-group { | ||
display: block; | display: block; | ||
| 第930行: | 第920行: | ||
border-bottom: 1px solid var(--color-surface-3); | border-bottom: 1px solid var(--color-surface-3); | ||
} | } | ||
.skin-citizen .mw-body-content .mw-heading + div, | |||
.mw- | .skin-citizen .mw-body-content .mw-heading + p { | ||
padding: 14px 16px; | |||
. | |||
} | } | ||
} | } | ||
/* | /* ╔══════════════════════════════════════════════════════════════╗ | ||
║ 第20部分:打印样式 ║ | |||
╚══════════════════════════════════════════════════════════════╝ */ | |||
: | @media print { | ||
-- | .mw-page-container { background-image: none !important; } | ||
.citizen-toc { background: transparent; border: none; box-shadow: none; } | |||
.navbox, .spoiler-box, .battle-stats { display: none; } | |||
.infobox, .portable-infobox { float: none; width: 100%; position: static; } | |||
} | } | ||
/* ══════════════════════════ 结束 ══════════════════════════════ */ | /* ══════════════════════════ 结束 ══════════════════════════════ */ | ||
2026年6月3日 (三) 14:29的版本
:root {
--color-progressive-oklch__h: 301;
--color-progressive-oklch__c: 0.168;
--color-progressive-oklch__l: 48%;
--transform-image-hover: none;
--backdrop-filter-frosted-glass: blur(10px) saturate(120%);
}
/* ── 浅色模式 ── */
.skin-theme-clientpref-day {
--color-surface-0: #F8F6FC;
--color-surface-1: #FFFFFF;
--color-surface-2: #F3F0FF;
--color-surface-3: #EDE9FE;
--color-surface-4: #DDD6FE;
--color-base: #2D2640;
--color-emphasized: #1A1033;
--color-subtle: #7C7394;
--color-link: #6D28D9;
}
@media screen and (prefers-color-scheme: light) {
.skin-theme-clientpref-os {
--color-surface-0: #F8F6FC;
--color-surface-1: #FFFFFF;
--color-surface-2: #F3F0FF;
--color-surface-3: #EDE9FE;
--color-surface-4: #DDD6FE;
--color-base: #2D2640;
--color-emphasized: #1A1033;
--color-subtle: #7C7394;
--color-link: #6D28D9;
}
}
/* ── 深色模式 ── */
.skin-theme-clientpref-night {
--color-surface-0: #110D1B;
--color-surface-1: #1A1428;
--color-surface-2: #231C34;
--color-surface-3: #2D2540;
--color-surface-4: #3D3356;
--color-base: #D4CEE4;
--color-emphasized: #F0ECF8;
--color-subtle: #8E85A6;
--color-link: #C4B5FD;
}
@media screen and (prefers-color-scheme: dark) {
.skin-theme-clientpref-os {
--color-surface-0: #110D1B;
--color-surface-1: #1A1428;
--color-surface-2: #231C34;
--color-surface-3: #2D2540;
--color-surface-4: #3D3356;
--color-base: #D4CEE4;
--color-emphasized: #F0ECF8;
--color-subtle: #8E85A6;
--color-link: #C4B5FD;
}
}
/* ── 纯黑模式 ── */
.skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 {
--color-surface-0: #000000;
--color-surface-1: #0D0A14;
--color-surface-2: #151020;
--color-surface-3: #1E182C;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第2部分:D竖脉经络背景线条 ║
╚══════════════════════════════════════════════════════════════╝ */
.citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-day .mw-page-container {
background-image:
repeating-linear-gradient(90deg,
transparent, transparent 80px,
rgba(124, 58, 237, 0.03) 80px, rgba(124, 58, 237, 0.03) 81px,
transparent 81px, transparent 100px,
rgba(124, 58, 237, 0.018) 100px, rgba(124, 58, 237, 0.018) 101px
);
background-attachment: fixed;
}
.citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-night .mw-page-container {
background-image:
repeating-linear-gradient(90deg,
transparent, transparent 80px,
rgba(196, 181, 253, 0.025) 80px, rgba(196, 181, 253, 0.025) 81px,
transparent 81px, transparent 100px,
rgba(196, 181, 253, 0.015) 100px, rgba(196, 181, 253, 0.015) 101px
);
background-attachment: fixed;
}
@media screen and (prefers-color-scheme: light) {
.citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-os .mw-page-container {
background-image:
repeating-linear-gradient(90deg,
transparent, transparent 80px,
rgba(124, 58, 237, 0.03) 80px, rgba(124, 58, 237, 0.03) 81px,
transparent 81px, transparent 100px,
rgba(124, 58, 237, 0.018) 100px, rgba(124, 58, 237, 0.018) 101px
);
background-attachment: fixed;
}
}
@media screen and (prefers-color-scheme: dark) {
.citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-os .mw-page-container {
background-image:
repeating-linear-gradient(90deg,
transparent, transparent 80px,
rgba(196, 181, 253, 0.025) 80px, rgba(196, 181, 253, 0.025) 81px,
transparent 81px, transparent 100px,
rgba(196, 181, 253, 0.015) 100px, rgba(196, 181, 253, 0.015) 101px
);
background-attachment: fixed;
}
}
.citizen-feature-performance-mode-clientpref-1 .mw-page-container {
background-image: none;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第3部分:页面宽度 — 加宽以容纳三栏留白 ║
╚══════════════════════════════════════════════════════════════╝ */
:root.citizen-feature-custom-width-clientpref-standard {
--width-layout: 1240px;
}
:root.citizen-feature-custom-width-clientpref-wide {
--width-layout: 1680px;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第4部分:顶部导航栏 — 方案A 单行通栏 ║
║ Citizen header 在 top 模式下的样式覆盖 ║
╚══════════════════════════════════════════════════════════════╝ */
/* 导航栏整体背景 */
.citizen-header {
background: linear-gradient(135deg, #1A1033 0%, #2D1B69 100%);
border-bottom: 1px solid rgba(124, 58, 237, 0.15);
}
/* Logo区域 */
.citizen-header__logo {
border-radius: 8px;
}
/* 导航栏按钮(搜索/用户/菜单等) */
.citizen-header__button {
border-radius: 8px;
}
.citizen-header__button:hover {
background-color: rgba(124, 58, 237, 0.15);
}
/* 搜索触发区域 */
.citizen-search-trigger {
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.04);
}
.citizen-search-trigger:hover {
background: rgba(255, 255, 255, 0.08);
border-color: rgba(124, 58, 237, 0.3);
}
/* 侧边抽屉(汉堡菜单展开后)导航链接 */
.citizen-drawer {
border-right: 1px solid var(--color-surface-3);
}
.citizen-drawer .mw-portal .vector-menu-content-list a {
border-radius: 6px;
padding: 6px 12px;
}
.citizen-drawer .mw-portal .vector-menu-content-list a:hover {
background: var(--color-surface-3);
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第5部分:页面标题与章节标题 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .firstHeading {
font-weight: 900;
letter-spacing: 1px;
}
.skin-citizen .mw-body-content .mw-heading h2 {
border-left: 4px solid var(--color-progressive);
padding-left: 12px;
font-weight: 800;
letter-spacing: 0.5px;
}
.skin-citizen .mw-body-content .mw-heading h3 {
border-left: 3px solid var(--color-surface-4);
padding-left: 10px;
font-weight: 700;
}
.skin-citizen .mw-body-content .mw-heading h4 {
padding-left: 10px;
font-weight: 600;
color: var(--color-subtle);
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第6部分:Infobox — 左侧悬浮独立卡片 ║
║ PC端:固定宽度 + sticky + 圆角卡片 + 与内容区间距 ║
║ 移动端:自动回流全宽 ║
╚══════════════════════════════════════════════════════════════╝ */
/* --- 传统 table.infobox --- */
.skin-citizen .mw-body-content .infobox {
border: 1px solid var(--color-surface-3);
border-radius: 14px;
overflow: hidden;
background: #FFFFFF;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
@media screen and (min-width: 1100px) {
.skin-citizen .mw-body-content .infobox {
float: left;
clear: left;
width: 260px;
margin: 0 24px 20px 0;
position: sticky;
top: 80px;
z-index: 2;
}
}
.skin-citizen .mw-body-content .infobox > caption,
.skin-citizen .mw-body-content .infobox > tbody > tr:first-child > th {
background: linear-gradient(135deg, #7C3AED 0%, #F59E0B 100%);
color: #FFFFFF;
font-weight: 800;
font-size: 1.1rem;
letter-spacing: 2px;
padding: 14px 16px;
text-align: center;
border: none;
}
.skin-citizen .mw-body-content .infobox .infobox-image,
.skin-citizen .mw-body-content .infobox > tbody > tr > td[colspan] {
background: var(--color-surface-2);
padding: 8px;
text-align: center;
}
.skin-citizen .mw-body-content .infobox .infobox-image img {
border-radius: 8px;
max-width: 100%;
height: auto;
}
.skin-citizen .mw-body-content .infobox th {
background: var(--color-surface-2);
color: var(--color-subtle);
font-weight: 600;
font-size: 0.85rem;
padding: 6px 12px;
text-align: left;
white-space: nowrap;
width: 35%;
vertical-align: top;
border-bottom: 1px solid var(--color-surface-3);
}
.skin-citizen .mw-body-content .infobox td {
padding: 6px 12px;
font-size: 0.85rem;
border-bottom: 1px solid var(--color-surface-3);
vertical-align: top;
}
.skin-citizen .mw-body-content .infobox .infobox-header,
.skin-citizen .mw-body-content .infobox th[colspan] {
background: var(--color-surface-3);
color: var(--color-emphasized);
font-weight: 700;
font-size: 0.85rem;
padding: 8px 12px;
text-align: center;
letter-spacing: 1px;
}
/* --- PortableInfobox --- */
.skin-citizen .mw-body-content .portable-infobox {
border: 1px solid var(--color-surface-3);
border-radius: 14px;
overflow: hidden;
background: #FFFFFF;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
@media screen and (min-width: 1100px) {
.skin-citizen .mw-body-content .portable-infobox {
float: left;
clear: left;
width: 260px;
margin: 0 24px 20px 0;
position: sticky;
top: 80px;
z-index: 2;
}
}
.skin-citizen .mw-body-content .portable-infobox .pi-header {
background: linear-gradient(135deg, #7C3AED 0%, #F59E0B 100%);
color: #FFFFFF;
font-weight: 800;
font-size: 1.1rem;
letter-spacing: 2px;
padding: 14px 16px;
text-align: center;
}
.skin-citizen .mw-body-content .portable-infobox .pi-image img {
width: 100%;
height: auto;
}
.skin-citizen .mw-body-content .portable-infobox .pi-item {
border-bottom: 1px solid var(--color-surface-3);
}
.skin-citizen .mw-body-content .portable-infobox .pi-data-label {
background: var(--color-surface-2);
color: var(--color-subtle);
font-weight: 600;
font-size: 0.85rem;
padding: 6px 12px;
}
.skin-citizen .mw-body-content .portable-infobox .pi-data-value {
padding: 6px 12px;
font-size: 0.85rem;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第7部分:目录(TOC)— 右侧独立卡片 ║
╚══════════════════════════════════════════════════════════════╝ */
/* TOC 容器卡片化 */
.citizen-toc {
background: #FFFFFF;
border-radius: 14px;
border: 1px solid var(--color-surface-3);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
padding: 16px 14px;
}
.skin-theme-clientpref-night .citizen-toc {
background: var(--color-surface-1);
}
.skin-citizen .citizen-toc__top {
font-weight: 800;
letter-spacing: 1px;
font-size: 0.8rem;
text-transform: uppercase;
padding-bottom: 8px;
margin-bottom: 6px;
border-bottom: 1px solid var(--color-surface-3);
}
.skin-citizen .citizen-toc__link--active {
color: var(--color-progressive);
font-weight: 700;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第8部分:内容区段落独立白色卡片 ║
║ 每个 .mw-heading 之后的内容块独立成卡片 ║
║ 卡片纯白背景 + 圆角 + 边框 + 内边距 ║
╚══════════════════════════════════════════════════════════════╝ */
/* 紧跟在章节标题后的主要内容元素 → 独立卡片 */
.skin-citizen .mw-body-content .mw-heading + div,
.skin-citizen .mw-body-content .mw-heading + p,
.skin-citizen .mw-body-content .mw-heading + ul,
.skin-citizen .mw-body-content .mw-heading + ol,
.skin-citizen .mw-body-content .mw-heading + dl,
.skin-citizen .mw-body-content .mw-heading + blockquote,
.skin-citizen .mw-body-content .mw-heading + figure,
.skin-citizen .mw-body-content .mw-heading + .wikitable {
background: #FFFFFF;
border: 1px solid var(--color-surface-3);
border-radius: 12px;
padding: 18px 24px;
margin-top: 10px;
margin-bottom: 14px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}
/* 深色模式下卡片用 surface-1 */
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + div,
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + p,
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + ul,
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + ol,
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + dl,
.skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-heading + blockquote {
background: var(--color-surface-1);
}
/* 卡片内连续段落不重复加卡片 */
.skin-citizen .mw-body-content .mw-heading + p + p,
.skin-citizen .mw-body-content .mw-heading + div + p,
.skin-citizen .mw-body-content .mw-heading + p + ul,
.skin-citizen .mw-body-content .mw-heading + p + ol {
background: transparent;
border: none;
border-radius: 0;
padding: 0;
margin-top: 0;
box-shadow: none;
}
/* 页面顶部简介区域(第一个标题前的段落)也卡片化 */
.skin-citizen .mw-body-content > .mw-parser-output > p:first-of-type {
background: #FFFFFF;
border: 1px solid var(--color-surface-3);
border-radius: 12px;
padding: 18px 24px;
margin-bottom: 14px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}
.skin-theme-clientpref-night .skin-citizen .mw-body-content > .mw-parser-output > p:first-of-type {
background: var(--color-surface-1);
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第9部分:表格样式 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .mw-body-content .wikitable {
border: 1px solid var(--color-surface-3);
border-radius: 12px;
overflow: hidden;
background: #FFFFFF;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}
.skin-theme-clientpref-night .skin-citizen .mw-body-content .wikitable {
background: var(--color-surface-1);
}
.skin-citizen .mw-body-content .wikitable th {
background: var(--color-surface-2);
color: var(--color-emphasized);
font-weight: 700;
padding: 10px 14px;
border-bottom: 2px solid var(--color-surface-4);
font-size: 0.875rem;
letter-spacing: 0.3px;
}
.skin-citizen .mw-body-content .wikitable td {
padding: 8px 14px;
border-bottom: 1px solid var(--color-surface-3);
font-size: 0.875rem;
vertical-align: top;
}
.citizen-animations-ready .skin-citizen .mw-body-content .wikitable tbody tr {
transition: background-color var(--transition-hover);
}
.skin-citizen .mw-body-content .wikitable tbody tr:hover {
background-color: var(--color-surface-2);
}
/* 战绩表格颜色标记 */
.skin-citizen .mw-body-content .wikitable .result-win { color: #10B981; font-weight: 700; }
.skin-citizen .mw-body-content .wikitable .result-lose { color: #EF4444; font-weight: 700; }
.skin-citizen .mw-body-content .wikitable .result-draw { color: #F59E0B; font-weight: 700; }
/* 境界进度条 */
.skin-citizen .mw-body-content .realm-progress {
height: 5px;
border-radius: 3px;
background: var(--color-surface-3);
overflow: hidden;
margin-top: 4px;
}
.skin-citizen .mw-body-content .realm-progress-bar {
height: 100%;
border-radius: 3px;
background: linear-gradient(90deg, #7C3AED, #F59E0B);
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第10部分:Navbox 底部导航 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .mw-body-content .navbox {
border: 1px solid var(--color-surface-3);
border-radius: 14px;
overflow: hidden;
margin: 24px 0;
background: #FFFFFF;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
}
.skin-theme-clientpref-night .skin-citizen .mw-body-content .navbox {
background: var(--color-surface-1);
}
.skin-citizen .mw-body-content .navbox-title {
background: linear-gradient(135deg, #7C3AED 0%, #F59E0B 100%);
color: #FFFFFF;
font-weight: 700;
padding: 10px 16px;
text-align: center;
letter-spacing: 1px;
font-size: 0.9rem;
}
.skin-citizen .mw-body-content .navbox-title a {
color: #FFFFFF;
font-weight: 700;
}
.skin-citizen .mw-body-content .navbox-group {
background: var(--color-surface-2);
font-weight: 700;
padding: 8px 14px;
min-width: 80px;
white-space: nowrap;
font-size: 0.85rem;
color: var(--color-emphasized);
border-right: 2px solid var(--color-surface-4);
vertical-align: middle;
}
.skin-citizen .mw-body-content .navbox-list {
padding: 6px 14px;
font-size: 0.85rem;
}
.skin-citizen .mw-body-content .navbox-even { background: var(--color-surface-2); }
.skin-citizen .mw-body-content .navbox-odd { background: var(--color-surface-1); }
/* ╔══════════════════════════════════════════════════════════════╗
║ 第11部分:分类标签 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .mw-normal-catlinks {
margin-top: 24px;
padding-top: 16px;
border-top: 1px solid var(--color-surface-3);
}
.skin-citizen .mw-normal-catlinks a {
display: inline-block;
background: var(--color-surface-2);
color: var(--color-link);
padding: 3px 10px;
border-radius: 6px;
font-size: 0.8rem;
margin: 2px 3px;
font-weight: 500;
border: 1px solid var(--color-surface-3);
}
.citizen-animations-ready .skin-citizen .mw-normal-catlinks a {
transition: background-color var(--transition-hover), color var(--transition-hover);
}
.skin-citizen .mw-normal-catlinks a:hover {
background: var(--color-progressive);
color: #FFFFFF;
border-color: var(--color-progressive);
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第12部分:链接样式 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .mw-body-content a:not(.new):not(.external):hover {
text-decoration: underline;
text-decoration-color: var(--color-progressive);
text-underline-offset: 3px;
text-decoration-thickness: 2px;
}
.skin-citizen .mw-body-content a.new { color: #DC2626; }
.skin-theme-clientpref-night .skin-citizen .mw-body-content a.new { color: #FCA5A5; }
/* ╔══════════════════════════════════════════════════════════════╗
║ 第13部分:引用 / 经典台词 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .mw-body-content blockquote {
border-left: 4px solid var(--color-progressive);
background: var(--color-surface-2);
border-radius: 0 10px 10px 0;
padding: 14px 20px;
margin: 12px 0;
font-style: italic;
color: var(--color-base);
}
.skin-citizen .quote-block {
background: var(--color-surface-2);
border-left: 4px solid var(--color-progressive);
border-radius: 0 10px 10px 0;
padding: 14px 20px;
margin: 10px 0;
}
.skin-citizen .quote-block .quote-text {
font-size: 0.95rem;
font-style: italic;
line-height: 1.7;
color: var(--color-emphasized);
}
.skin-citizen .quote-block .quote-source {
font-size: 0.8rem;
color: var(--color-subtle);
margin-top: 6px;
text-align: right;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第14部分:Tabber / Mermaid / 图片 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .tabber__header {
border-bottom: 2px solid var(--color-surface-3);
}
.skin-citizen .tabber__tab--active {
border-bottom-color: var(--color-progressive);
color: var(--color-progressive);
font-weight: 700;
}
.skin-citizen .tabber__panel {
background: #FFFFFF;
border: 1px solid var(--color-surface-3);
border-top: none;
border-radius: 0 0 10px 10px;
padding: 16px;
}
.skin-citizen .mw-body-content .mermaid {
background: #FFFFFF;
border: 1px solid var(--color-surface-3);
border-radius: 12px;
padding: 16px;
text-align: center;
overflow-x: auto;
}
.skin-citizen .mw-body-content .thumb .thumbinner {
border: 1px solid var(--color-surface-3);
border-radius: 10px;
overflow: hidden;
background: #FFFFFF;
}
.skin-citizen .mw-body-content .thumbcaption {
font-size: 0.8rem;
color: var(--color-subtle);
padding: 6px 10px;
line-height: 1.4;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第15部分:自定义标签(角色/IP/境界/势力) ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .tag-character {
display: inline-block;
background: #F3F0FF; color: #6D28D9;
padding: 2px 8px; border-radius: 4px;
font-size: 0.8rem; font-weight: 500; margin: 1px 2px;
}
.skin-theme-clientpref-night .tag-character {
background: rgba(124, 58, 237, 0.15); color: #C4B5FD;
}
.skin-citizen .tag-ip {
display: inline-block;
background: #FEF3C7; color: #B45309;
padding: 2px 8px; border-radius: 4px;
font-size: 0.8rem; font-weight: 500; margin: 1px 2px;
}
.skin-theme-clientpref-night .tag-ip {
background: rgba(245, 158, 11, 0.15); color: #FDE68A;
}
.skin-citizen .tag-realm {
display: inline-block;
background: #ECFDF5; color: #047857;
padding: 2px 8px; border-radius: 4px;
font-size: 0.8rem; font-weight: 500; margin: 1px 2px;
}
.skin-theme-clientpref-night .tag-realm {
background: rgba(16, 185, 129, 0.15); color: #A7F3D0;
}
.skin-citizen .tag-faction {
display: inline-block;
background: #FEE2E2; color: #B91C1C;
padding: 2px 8px; border-radius: 4px;
font-size: 0.8rem; font-weight: 500; margin: 1px 2px;
}
.skin-theme-clientpref-night .tag-faction {
background: rgba(239, 68, 68, 0.15); color: #FCA5A5;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第16部分:角色关系卡片网格 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .relation-card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
gap: 10px;
margin: 12px 0;
}
.skin-citizen .relation-card {
background: var(--color-surface-2);
border: 1px solid var(--color-surface-3);
border-radius: 10px;
padding: 12px 8px;
text-align: center;
}
.citizen-animations-ready .skin-citizen .relation-card {
transition: box-shadow var(--transition-hover), border-color var(--transition-hover);
}
.skin-citizen .relation-card:hover {
border-color: var(--color-progressive);
box-shadow: 0 4px 12px rgba(124, 58, 237, 0.1);
}
.skin-citizen .relation-card img {
width: 56px; height: 56px;
border-radius: 50%;
object-fit: cover;
margin-bottom: 6px;
border: 2px solid var(--color-surface-3);
}
.skin-citizen .relation-card .relation-name {
font-weight: 700; font-size: 0.85rem; color: var(--color-link);
}
.skin-citizen .relation-card .relation-type {
font-size: 0.75rem; color: var(--color-subtle); margin-top: 2px;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第17部分:战绩统计条 / 剧透折叠 ║
╚══════════════════════════════════════════════════════════════╝ */
.skin-citizen .battle-stats {
display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap;
}
.skin-citizen .battle-stats .stat-win {
background: rgba(16, 185, 129, 0.1); color: #10B981;
padding: 4px 12px; border-radius: 6px; font-weight: 700; font-size: 0.85rem;
}
.skin-citizen .battle-stats .stat-lose {
background: rgba(239, 68, 68, 0.1); color: #EF4444;
padding: 4px 12px; border-radius: 6px; font-weight: 700; font-size: 0.85rem;
}
.skin-citizen .battle-stats .stat-draw {
background: rgba(245, 158, 11, 0.1); color: #F59E0B;
padding: 4px 12px; border-radius: 6px; font-weight: 700; font-size: 0.85rem;
}
.skin-citizen .spoiler-box {
background: var(--color-surface-2);
border: 1px dashed var(--color-surface-4);
border-radius: 8px;
padding: 12px 16px;
margin: 10px 0;
}
.skin-citizen .spoiler-box summary {
cursor: pointer;
font-weight: 700;
color: var(--color-progressive);
font-size: 0.9rem;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第18部分:页脚 — 方案A 四列信息式 ║
║ 覆盖 Citizen 默认 footer 样式 ║
╚══════════════════════════════════════════════════════════════╝ */
/* 页脚整体背景 */
.citizen-footer,
#footer {
background: linear-gradient(135deg, #0F0A1A 0%, #1A1033 100%);
border-top: 2px solid rgba(124, 58, 237, 0.15);
padding: 32px 24px 16px;
}
/* 页脚文字颜色 */
.citizen-footer,
.citizen-footer a,
#footer,
#footer a {
color: rgba(228, 220, 245, 0.5);
}
.citizen-footer a:hover,
#footer a:hover {
color: #C4B5FD;
}
/* 页脚列表横排 */
.citizen-footer ul,
#footer ul {
display: flex;
flex-wrap: wrap;
gap: 8px 20px;
}
.citizen-footer li,
#footer li {
font-size: 0.8rem;
}
/* 页脚信息行 */
.citizen-footer__info,
#footer-info {
font-size: 0.75rem;
color: rgba(228, 220, 245, 0.3);
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid rgba(255, 255, 255, 0.06);
text-align: center;
}
/* 页脚图标 */
.citizen-footer__icons img,
#footer-icons img {
opacity: 0.4;
}
.citizen-footer__icons img:hover,
#footer-icons img:hover {
opacity: 0.7;
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第19部分:移动端响应式 ║
╚══════════════════════════════════════════════════════════════╝ */
@media screen and (max-width: 1099px) {
.skin-citizen .mw-body-content .infobox,
.skin-citizen .mw-body-content .portable-infobox {
float: none;
width: 100%;
margin: 0 0 16px 0;
position: static;
}
.skin-citizen .relation-card-grid {
grid-template-columns: repeat(3, 1fr);
}
.skin-citizen .mw-body-content .wikitable {
display: block;
overflow-x: auto;
}
}
@media screen and (max-width: 600px) {
.skin-citizen .relation-card-grid {
grid-template-columns: repeat(2, 1fr);
}
.skin-citizen .mw-body-content .navbox-group {
display: block;
width: 100%;
border-right: none;
border-bottom: 1px solid var(--color-surface-3);
}
.skin-citizen .mw-body-content .mw-heading + div,
.skin-citizen .mw-body-content .mw-heading + p {
padding: 14px 16px;
}
}
/* ╔══════════════════════════════════════════════════════════════╗
║ 第20部分:打印样式 ║
╚══════════════════════════════════════════════════════════════╝ */
@media print {
.mw-page-container { background-image: none !important; }
.citizen-toc { background: transparent; border: none; box-shadow: none; }
.navbox, .spoiler-box, .battle-stats { display: none; }
.infobox, .portable-infobox { float: none; width: 100%; position: static; }
}
/* ══════════════════════════ 结束 ══════════════════════════════ */