|
|
| 第1行: |
第1行: |
| /* ================================================================ | | /* ========================================= |
| 国漫TV · MediaWiki:Citizen.css v2
| | * 国漫TV · 三栏卡片流架构 (Citizen 皮肤深度重构版) |
| 方案:幽紫幻境 + D竖脉经络 + A导航 + A页脚
| | * ========================================= */ |
| 适配:Citizen v3.16.1 · MediaWiki 1.45+
| |
| 版本:v2 — 新增三栏留白 / 段落卡片 / 导航重排 / 四列页脚
| |
| 写入位置:后台编辑 MediaWiki:Citizen.css(完全替换旧版)
| |
| ================================================================ */
| |
|
| |
|
| | | /* --- 0. 全局呼吸感底色与宽度限制 --- */ |
| /* ╔══════════════════════════════════════════════════════════════╗ | | body { |
| ║ 第1部分:全局色彩系统 ║
| | background-color: #f4f2f7 !important; /* 紫金体系的极淡灰紫底色 */ |
| ╚══════════════════════════════════════════════════════════════╝ */
| |
| | |
| :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 { | | .citizen-page-container { |
| --color-surface-0: #F8F6FC; | | max-width: 1440px !important; |
| --color-surface-1: #FFFFFF; | | margin: 0 auto !important; |
| --color-surface-2: #F3F0FF; | | padding: 0 40px !important; |
| --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) { | | /* --- 1. 左/中/右 三栏物理切割与防粘连 (仅宽屏生效) --- */ |
| .skin-theme-clientpref-os { | | @media screen and (min-width: 1200px) { |
| --color-surface-0: #F8F6FC; | | /* 中间内容区:强制向右推移,为左侧 Infobox 腾出物理真空区 */ |
| --color-surface-1: #FFFFFF;
| | .citizen-body { |
| --color-surface-2: #F3F0FF;
| | margin-left: 350px !important; /* 彻底分离,留出绝佳呼吸感 */ |
| --color-surface-3: #EDE9FE;
| |
| --color-surface-4: #DDD6FE;
| |
| --color-base: #2D2640;
| |
| --color-emphasized: #1A1033;
| |
| --color-subtle: #7C7394;
| |
| --color-link: #6D28D9;
| |
| } | | } |
| }
| |
|
| |
|
| /* ── 深色模式 ── */ | | /* 左侧栏:利用负边距将 Infobox 从内容区抽离到左侧真空区 */ |
| .skin-theme-clientpref-night { | | .mw-parser-output table.infobox { |
| --color-surface-0: #110D1B;
| | float: left !important; |
| --color-surface-1: #1A1428;
| | margin-left: -350px !important; /* 牵引至左侧 */ |
| --color-surface-2: #231C34;
| | width: 310px !important; |
| --color-surface-3: #2D2540;
| | margin-top: 0 !important; |
| --color-surface-4: #3D3356;
| | clear: none !important; |
| --color-base: #D4CEE4;
| | } |
| --color-emphasized: #F0ECF8; | |
| --color-subtle: #8E85A6;
| |
| --color-link: #C4B5FD;
| |
| } | |
|
| |
|
| @media screen and (prefers-color-scheme: dark) {
| | /* 右侧栏:确保目录(TOC)与中间内容区有足够间距 */ |
| .skin-theme-clientpref-os { | | .citizen-page-sidebar { |
| --color-surface-0: #110D1B; | | margin-left: 40px !important; |
| --color-surface-1: #1A1428; | | width: 280px !important; |
| --color-surface-2: #231C34;
| |
| --color-surface-3: #2D2540;
| |
| --color-surface-4: #3D3356;
| |
| --color-base: #D4CEE4;
| |
| --color-emphasized: #F0ECF8;
| |
| --color-subtle: #8E85A6;
| |
| --color-link: #C4B5FD;
| |
| } | | } |
| } | | } |
|
| |
|
| /* ── 纯黑模式 ── */ | | /* --- 2. 内容区段落独立卡片化 (纯白背景) --- */ |
| .skin-theme-clientpref-night.citizen-feature-pure-black-clientpref-1 {
| | /* 直接接管 Citizen 原生的 section 容器 */ |
| --color-surface-0: #000000; | | .citizen-section { |
| --color-surface-1: #0D0A14; | | background-color: #ffffff !important; |
| --color-surface-2: #151020; | | border-radius: 12px !important; |
| --color-surface-3: #1E182C; | | padding: 35px 40px !important; |
| }
| | margin-bottom: 30px !important; /* 卡片之间的垂直间距 */ |
| | | box-shadow: 0 8px 24px rgba(26, 22, 37, 0.04) !important; |
| | | border: 1px solid #e6e2ed !important; |
| /* ╔══════════════════════════════════════════════════════════════╗ | |
| ║ 第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) {
| | /* 左侧 Infobox 卡片化装潢 */ |
| .citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-os .mw-page-container {
| | .mw-parser-output table.infobox { |
| background-image:
| | background-color: #ffffff !important; |
| repeating-linear-gradient(90deg,
| | border-radius: 12px !important; |
| transparent, transparent 80px,
| | padding: 20px !important; |
| rgba(124, 58, 237, 0.03) 80px, rgba(124, 58, 237, 0.03) 81px,
| | box-shadow: 0 8px 24px rgba(26, 22, 37, 0.04) !important; |
| transparent 81px, transparent 100px,
| | border: 1px solid #e6e2ed !important; |
| rgba(124, 58, 237, 0.018) 100px, rgba(124, 58, 237, 0.018) 101px
| | border-collapse: separate !important; |
| );
| |
| background-attachment: fixed;
| |
| }
| |
| } | | } |
|
| |
|
| @media screen and (prefers-color-scheme: dark) {
| | /* 右侧 TOC 目录卡片化装潢 */ |
| .citizen-feature-performance-mode-clientpref-0.skin-theme-clientpref-os .mw-page-container {
| | .citizen-toc-card { |
| background-image:
| | background-color: #ffffff !important; |
| repeating-linear-gradient(90deg,
| | border-radius: 12px !important; |
| transparent, transparent 80px,
| | padding: 20px !important; |
| rgba(196, 181, 253, 0.025) 80px, rgba(196, 181, 253, 0.025) 81px,
| | box-shadow: 0 8px 24px rgba(26, 22, 37, 0.04) !important; |
| transparent 81px, transparent 100px,
| | border: 1px solid #e6e2ed !important; |
| 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 { | | /* 抹除原生 Citizen 破坏卡片沉浸感的元素 */ |
| background-image: none; | | .citizen-section-heading { |
| | border-bottom: none !important; |
| } | | } |
| | | .citizen-section-indicator { |
| | | display: none !important; /* 隐藏原生折叠图标,保持卡片纯净 */ |
| /* ╔══════════════════════════════════════════════════════════════╗
| |
| ║ 第3部分:页面宽度 — 加宽以容纳三栏留白 ║
| |
| ╚══════════════════════════════════════════════════════════════╝ */
| |
| | |
| :root.citizen-feature-custom-width-clientpref-standard {
| |
| --width-layout: 1240px; | |
| } | | } |
|
| |
|
| :root.citizen-feature-custom-width-clientpref-wide {
| | /* --- 3. 顶部导航栏 (Header) 商业化重构 --- */ |
| --width-layout: 1680px;
| |
| }
| |
| | |
| | |
| /* ╔══════════════════════════════════════════════════════════════╗
| |
| ║ 第4部分:顶部导航栏 — 方案A 单行通栏 ║
| |
| ║ Citizen header 在 top 模式下的样式覆盖 ║
| |
| ╚══════════════════════════════════════════════════════════════╝ */
| |
| | |
| /* 导航栏整体背景 */
| |
| .citizen-header { | | .citizen-header { |
| background: linear-gradient(135deg, #1A1033 0%, #2D1B69 100%); | | background-color: #ffffff !important; |
| border-bottom: 1px solid rgba(124, 58, 237, 0.15); | | box-shadow: 0 2px 12px rgba(26, 22, 37, 0.06) !important; |
| | border-bottom: none !important; |
| | height: 72px !important; |
| | padding: 0 40px !important; |
| } | | } |
|
| |
|
| /* Logo区域 */ | | /* 顶部搜索框:微拟物凹陷与焦点反馈 */ |
| .citizen-header__logo { | | .citizen-search-box { |
| border-radius: 8px; | | background-color: #f4f2f7 !important; |
| | border-radius: 20px !important; |
| | border: 1px solid transparent !important; |
| | transition: all 0.3s ease !important; |
| } | | } |
| | | .citizen-search-box:focus-within { |
| /* 导航栏按钮(搜索/用户/菜单等) */ | | background-color: #ffffff !important; |
| .citizen-header__button {
| | border-color: #5e35b1 !important; /* 呼应紫金主题色 */ |
| border-radius: 8px; | | box-shadow: 0 0 0 3px rgba(94, 53, 177, 0.1) !important; |
| } | | } |
|
| |
|
| .citizen-header__button:hover { | | /* --- 4. 底部页脚 (Footer) 极简版式重构 --- */ |
| background-color: rgba(124, 58, 237, 0.15); | | .citizen-footer { |
| | background-color: #ffffff !important; |
| | border-top: 1px solid #e6e2ed !important; |
| | margin-top: 80px !important; |
| | padding: 50px 0 !important; |
| } | | } |
|
| |
|
| /* 搜索触发区域 */
| | .citizen-footer__container { |
| .citizen-search-trigger { | | max-width: 1440px !important; |
| border-radius: 8px; | | margin: 0 auto !important; |
| border: 1px solid rgba(255, 255, 255, 0.08); | | display: flex !important; |
| background: rgba(255, 255, 255, 0.04); | | flex-direction: column !important; |
| | align-items: center !important; |
| | text-align: center !important; |
| } | | } |
|
| |
|
| .citizen-search-trigger:hover { | | .citizen-footer__siteinfo { |
| background: rgba(255, 255, 255, 0.08); | | margin-bottom: 24px !important; |
| border-color: rgba(124, 58, 237, 0.3);
| |
| } | | } |
|
| |
|
| /* 侧边抽屉(汉堡菜单展开后)导航链接 */ | | /* 页脚链接横向排布 */ |
| .citizen-drawer {
| | #footer-places ul { |
| border-right: 1px solid var(--color-surface-3); | | display: flex !important; |
| | gap: 30px !important; |
| | justify-content: center !important; |
| | list-style: none !important; |
| | padding: 0 !important; |
| } | | } |
|
| |
|
| .citizen-drawer .mw-portal .vector-menu-content-list a {
| | #footer-places a { |
| border-radius: 6px; | | color: #5e35b1 !important; |
| padding: 6px 12px; | | font-weight: 500 !important; |
| | text-decoration: none !important; |
| } | | } |
| | | #footer-places a:hover { |
| .citizen-drawer .mw-portal .vector-menu-content-list a:hover {
| | color: #ffb300 !important; /* 悬停变为琥珀金 */ |
| background: var(--color-surface-3); | |
| } | | } |
|
| |
|
| | | /* 隐藏无关紧要的 MediaWiki 原生图标,提升品牌感 */ |
| /* ╔══════════════════════════════════════════════════════════════╗ | | #footer-poweredbyico { |
| ║ 第5部分:页面标题与章节标题 ║
| | display: none !important; |
| ╚══════════════════════════════════════════════════════════════╝ */
| |
| | |
| .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 1.45 用 <section data-mw-section-id> 包裹标题+内容 ║
| |
| ║ 直接对 section 做卡片 = 标题和内容一起包在白色卡片里 ║
| |
| ╚══════════════════════════════════════════════════════════════╝ */
| |
|
| |
| /* 每个顶级 section(h2级别章节)= 一张独立卡片 */
| |
| .skin-citizen .mw-body-content .mw-parser-output > section {
| |
| background: #FFFFFF;
| |
| border: 1px solid var(--color-surface-3);
| |
| border-radius: 14px;
| |
| padding: 20px 24px;
| |
| margin-bottom: 16px;
| |
| box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
| |
| }
| |
|
| |
| /* 深色模式 */
| |
| .skin-theme-clientpref-night .skin-citizen .mw-body-content .mw-parser-output > section {
| |
| background: var(--color-surface-1);
| |
| }
| |
|
| |
| /* 嵌套的子section(h3/h4级别)不重复加卡片,保持透明 */
| |
| .skin-citizen .mw-body-content .mw-parser-output > section > section {
| |
| background: transparent;
| |
| border: none;
| |
| border-radius: 0;
| |
| padding: 0;
| |
| margin-bottom: 8px;
| |
| box-shadow: none;
| |
| }
| |
|
| |
| /* 卡片内章节标题间距微调 */
| |
| .skin-citizen .mw-body-content .mw-parser-output > section > .mw-heading {
| |
| margin-top: 0;
| |
| padding-top: 0;
| |
| }
| |
|
| |
| /* Infobox 所在 section 不加双层白背景 */
| |
| .skin-citizen .mw-body-content .mw-parser-output > section > .infobox,
| |
| .skin-citizen .mw-body-content .mw-parser-output > section > .portable-infobox {
| |
| margin-top: 0;
| |
| }
| |
|
| |
| /* Navbox 所在 section 透明(Navbox 自身已有样式) */
| |
| .skin-citizen .mw-body-content .mw-parser-output > section:has(.navbox) {
| |
| background: transparent;
| |
| border: none;
| |
| padding: 0;
| |
| box-shadow: none;
| |
| }
| |
|
| |
|
| |
| /* ╔══════════════════════════════════════════════════════════════╗
| |
| ║ 第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; }
| |
| }
| |
|
| |
|
| |
| /* ══════════════════════════ 结束 ══════════════════════════════ */
| |