MediaWiki:Common.css:修订间差异
MediaWiki界面页面
更多操作
无编辑摘要 标签:已被回退 |
无编辑摘要 标签:已被回退 |
||
| 第1行: | 第1行: | ||
/* ---------- 1. 字体引入 ---------- */ | |||
/* 标题用锐利现代的无衬线体,正文用高可读性字体 */ | |||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Noto+Sans+SC:wght@400;500;700&display=swap'); | |||
/* ---------- 2. 全局配色变量 ---------- */ | /* ---------- 2. 全局配色变量 ---------- */ | ||
:root { | :root { | ||
/* | /* 主色调:电光紫 → 霓虹青 渐变 */ | ||
--color-primary: # | --color-primary: #7C3AED; /* 电光紫 */ | ||
--color-primary- | --color-primary-glow: #A78BFA; /* 浅紫光晕 */ | ||
--color-accent: # | --color-accent: #06B6D4; /* 霓虹青 */ | ||
--color- | --color-accent-glow: #67E8F9; /* 青蓝光晕 */ | ||
--color-highlight: #F43F5E; /* 玫红高亮(用于角标、热门标签) */ | |||
--color- | |||
/* | /* 背景系统:深色沉浸 */ | ||
--font- | --color-bg-primary: #0F0F1A; /* 主背景-深邃蓝黑 */ | ||
--font-body: 'Noto | --color-bg-secondary: #1A1A2E; /* 次级背景-卡片/侧栏 */ | ||
--font-size-base: | --color-bg-tertiary: #252540; /* 三级背景-悬停/输入框 */ | ||
-- | --color-bg-elevated: #2D2D4A; /* 浮层/弹窗背景 */ | ||
/* 文字系统 */ | |||
--color-text-primary: #EDEDF5; /* 主文字-高亮白 */ | |||
--color-text-secondary: #A0A0B8; /* 辅助文字-冷灰 */ | |||
--color-text-muted: #6B6B80; /* 弱化文字 */ | |||
/* 边框与分割线 */ | |||
--color-border: #2D2D4A; | |||
--color-border-light: #3D3D5C; | |||
/* 链接 */ | |||
--color-link: #A78BFA; | |||
--color-link-hover: #C4B5FD; | |||
--color-link-visited: #8B5CF6; | |||
/* 圆角系统 */ | |||
--radius-sm: 6px; | |||
--radius-md: 10px; | |||
--radius-lg: 16px; | |||
--radius-xl: 24px; | |||
/* 阴影系统(带色光晕) */ | |||
--shadow-sm: 0 1px 3px rgba(0,0,0,0.4); | |||
--shadow-md: 0 4px 12px rgba(124,58,237,0.15), 0 2px 4px rgba(0,0,0,0.3); | |||
--shadow-lg: 0 8px 24px rgba(124,58,237,0.2), 0 4px 8px rgba(0,0,0,0.4); | |||
--shadow-glow-purple: 0 0 20px rgba(124,58,237,0.3); | |||
--shadow-glow-cyan: 0 0 20px rgba(6,182,212,0.3); | |||
/* 字体 */ | |||
--font-display: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif; | |||
--font-body: 'Noto Sans SC', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; | |||
--font-size-base: 15px; | |||
/* 过渡 */ | |||
--transition-fast: 0.15s ease; | |||
--transition-smooth: 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |||
} | } | ||
/* ---------- 3. 全局基础 ---------- */ | /* ---------- 3. 全局基础 ---------- */ | ||
* { | |||
box-sizing: border-box; | |||
} | |||
body { | body { | ||
background-color: var(--color-bg); | background-color: var(--color-bg-primary); | ||
color: var(--color-text); | color: var(--color-text-primary); | ||
font-family: var(--font-body); | font-family: var(--font-body); | ||
font-size: var(--font-size-base); | font-size: var(--font-size-base); | ||
line-height: 1. | line-height: 1.7; | ||
-webkit-font-smoothing: antialiased; | |||
-moz-osx-font-smoothing: grayscale; | |||
} | |||
/* 滚动条美化(Webkit浏览器) */ | |||
::-webkit-scrollbar { | |||
width: 6px; | |||
} | |||
::-webkit-scrollbar-track { | |||
background: var(--color-bg-primary); | |||
} | |||
::-webkit-scrollbar-thumb { | |||
background: var(--color-border-light); | |||
border-radius: 3px; | |||
} | |||
::-webkit-scrollbar-thumb:hover { | |||
background: var(--color-primary); | |||
} | } | ||
/* | /* 标题系统 */ | ||
h1, h2, h3, h4, h5, h6 { | h1, h2, h3, h4, h5, h6 { | ||
font-family: var(--font- | font-family: var(--font-display); | ||
color: # | color: #FFFFFF; | ||
border-bottom: | border-bottom: none; | ||
padding- | letter-spacing: -0.02em; | ||
margin-top: 1.5em; | |||
margin-bottom: 0.6em; | |||
} | |||
h1 { | |||
font-size: 2em; | |||
font-weight: 800; | |||
background: linear-gradient(135deg, var(--color-primary-glow), var(--color-accent)); | |||
-webkit-background-clip: text; | |||
-webkit-text-fill-color: transparent; | |||
background-clip: text; | |||
} | |||
h2 { | |||
font-size: 1.5em; | |||
font-weight: 700; | |||
padding-left: 0.8em; | |||
border-left: 4px solid var(--color-accent); | |||
} | |||
h3 { | |||
font-size: 1.25em; | |||
font-weight: 600; | |||
color: var(--color-primary-glow); | |||
} | } | ||
| 第44行: | 第118行: | ||
a { | a { | ||
color: var(--color-link); | color: var(--color-link); | ||
text-decoration: none; | |||
transition: color var(--transition-fast); | |||
} | } | ||
a:visited { | a:visited { | ||
| 第49行: | 第125行: | ||
} | } | ||
a:hover { | a:hover { | ||
color: var(--color-hover); | color: var(--color-link-hover); | ||
text-decoration: underline; | text-decoration: underline; | ||
text-decoration-color: var(--color-accent); | |||
text-underline-offset: 3px; | |||
} | |||
/* 选中文字颜色 */ | |||
::selection { | |||
background: var(--color-primary); | |||
color: #FFFFFF; | |||
} | } | ||
/* ---------- 4. | /* ---------- 4. 导航栏(Chameleon) ---------- */ | ||
.navbar { | .navbar { | ||
background: | background: rgba(15,15,26,0.85) !important; | ||
border-bottom: | backdrop-filter: blur(20px) saturate(180%); | ||
-webkit-backdrop-filter: blur(20px) saturate(180%); | |||
border-bottom: 1px solid rgba(124,58,237,0.3); | |||
box-shadow: var(--shadow-glow-purple); | |||
} | |||
.navbar .navbar-brand { | |||
font-family: var(--font-display); | |||
font-weight: 800; | |||
font-size: 1.3em; | |||
color: #FFFFFF !important; | |||
letter-spacing: -0.02em; | |||
} | |||
.navbar .navbar-brand span { | |||
background: linear-gradient(135deg, var(--color-primary-glow), var(--color-accent)); | |||
-webkit-background-clip: text; | |||
-webkit-text-fill-color: transparent; | |||
background-clip: text; | |||
} | } | ||
.navbar .nav-link { | .navbar .nav-link { | ||
color: | color: var(--color-text-secondary) !important; | ||
font- | font-weight: 500; | ||
font-size: 0.9em; | |||
border-radius: var(--radius-md); | |||
padding: 0.5em 1em !important; | |||
transition: all var(--transition-smooth); | |||
} | } | ||
.navbar .nav-link:hover { | .navbar .nav-link:hover { | ||
color: | color: #FFFFFF !important; | ||
background-color: rgba( | background-color: rgba(124,58,237,0.2); | ||
} | |||
.navbar .nav-link.active { | |||
color: #FFFFFF !important; | |||
background-color: rgba(124,58,237,0.3); | |||
} | } | ||
.navbar .dropdown-menu { | .navbar .dropdown-menu { | ||
background-color: | background-color: var(--color-bg-elevated); | ||
border: 1px solid var(--color-border); | border: 1px solid var(--color-border-light); | ||
border-radius: var(--radius-md); | |||
box-shadow: var(--shadow-lg); | |||
padding: 0.5em; | |||
} | |||
.navbar .dropdown-item { | |||
color: var(--color-text-secondary); | |||
border-radius: var(--radius-sm); | |||
transition: all var(--transition-fast); | |||
} | |||
.navbar .dropdown-item:hover { | |||
color: #FFFFFF; | |||
background-color: rgba(124,58,237,0.2); | |||
} | } | ||
/* ---------- 5. | /* ---------- 5. 侧边栏 ---------- */ | ||
.sidebar .card { | .sidebar .card { | ||
background-color: var(--color- | background-color: var(--color-bg-secondary); | ||
border: 1px solid var(--color-border); | border: 1px solid var(--color-border); | ||
border-radius: var(-- | border-radius: var(--radius-lg); | ||
box-shadow: | box-shadow: var(--shadow-sm); | ||
margin-bottom: | margin-bottom: 1.2em; | ||
overflow: hidden; | |||
} | } | ||
.sidebar .card-header { | .sidebar .card-header { | ||
background- | background: linear-gradient(135deg, rgba(124,58,237,0.3), rgba(6,182,212,0.15)); | ||
color: #FFFFFF; | color: #FFFFFF; | ||
font-family: var(--font- | font-family: var(--font-display); | ||
font-weight: 700; | font-weight: 700; | ||
border-bottom: | font-size: 0.95em; | ||
border-bottom: 1px solid var(--color-border-light); | |||
padding: 0.8em 1em; | |||
text-transform: uppercase; | |||
letter-spacing: 0.05em; | |||
} | |||
.sidebar .card-body { | |||
padding: 1em; | |||
color: var(--color-text-secondary); | |||
} | |||
.sidebar .card-body a { | |||
color: var(--color-text-primary); | |||
} | |||
.sidebar .card-body a:hover { | |||
color: var(--color-accent); | |||
} | } | ||
/* ---------- 6. | /* ---------- 6. 主内容区 ---------- */ | ||
.mw-body { | .mw-body { | ||
background-color: var(--color- | background-color: var(--color-bg-secondary); | ||
border: 1px solid var(--color-border); | border: 1px solid var(--color-border); | ||
border-radius: var(-- | border-radius: var(--radius-lg); | ||
padding: | padding: 2em 2.5em; | ||
box-shadow: | box-shadow: var(--shadow-md); | ||
} | } | ||
/* | /* 目录 TOC */ | ||
#toc { | #toc { | ||
background-color: | background-color: var(--color-bg-tertiary); | ||
border: 1px solid var(--color-border); | border: 1px solid var(--color-border-light); | ||
border-left: 4px solid var(--color-primary); | border-left: 4px solid var(--color-primary); | ||
border-radius: var(-- | border-radius: var(--radius-md); | ||
padding: | padding: 1.2em 1.5em; | ||
margin-bottom: | margin-bottom: 2em; | ||
} | } | ||
#toc h2 { | #toc h2 { | ||
font-size: | font-size: 1em; | ||
font-weight: 700; | |||
margin-top: 0; | margin-top: 0; | ||
border- | border-left: none; | ||
padding-left: 0; | |||
color: var(--color-text-primary); | |||
} | |||
#toc ul { | |||
list-style: none; | |||
padding-left: 0; | |||
} | |||
#toc li { | |||
margin: 0.3em 0; | |||
} | |||
#toc a { | |||
color: var(--color-text-secondary); | |||
font-size: 0.9em; | |||
} | |||
#toc a:hover { | |||
color: var(--color-accent); | |||
} | } | ||
/* ---------- 7. | /* ---------- 7. 信息框(角色卡/作品卡) ---------- */ | ||
.infobox { | .infobox { | ||
background-color: | background-color: var(--color-bg-tertiary); | ||
border: | border: 1px solid var(--color-border-light); | ||
border-radius: var(-- | border-radius: var(--radius-lg); | ||
padding: 0; | padding: 0; | ||
margin: 0.5em 0 | margin: 0.5em 0 1.2em 1.5em; | ||
float: right; | float: right; | ||
width: 280px; | width: 280px; | ||
max-width: 100%; | max-width: 100%; | ||
box-shadow: | box-shadow: var(--shadow-md); | ||
overflow: hidden; | |||
} | } | ||
.infobox .infobox-title { | .infobox .infobox-title { | ||
background: linear-gradient(135deg, var(--color-primary) | background: linear-gradient(135deg, var(--color-primary), var(--color-accent)); | ||
color: #FFFFFF; | color: #FFFFFF; | ||
font-family: var(--font- | font-family: var(--font-display); | ||
font-size: 1. | font-size: 1.2em; | ||
font-weight: 700; | font-weight: 700; | ||
text-align: center; | text-align: center; | ||
padding: 0. | padding: 0.8em; | ||
margin: 0; | margin: 0; | ||
letter-spacing: 0.02em; | |||
} | } | ||
.infobox .infobox-image { | .infobox .infobox-image { | ||
text-align: center; | text-align: center; | ||
padding: 0. | padding: 0.8em; | ||
background-color: | background-color: var(--color-bg-secondary); | ||
} | } | ||
.infobox .infobox-image img { | .infobox .infobox-image img { | ||
max-width: 100%; | max-width: 100%; | ||
height: auto; | height: auto; | ||
border-radius: | border-radius: var(--radius-sm); | ||
} | } | ||
.infobox table { | .infobox table { | ||
| 第157行: | 第302行: | ||
} | } | ||
.infobox th { | .infobox th { | ||
background-color: var(--color-primary- | background-color: rgba(124,58,237,0.15); | ||
color: var(--color-primary-glow); | |||
text-align: center; | text-align: center; | ||
width: 35%; | width: 35%; | ||
padding: 0.4em; | padding: 0.6em 0.4em; | ||
font-weight: 600; | font-weight: 600; | ||
font-size: 0.85em; | |||
border-bottom: 1px solid var(--color-border); | border-bottom: 1px solid var(--color-border); | ||
} | } | ||
.infobox td { | .infobox td { | ||
padding: 0.4em; | padding: 0.6em 0.4em; | ||
border-bottom: 1px solid var(--color-border); | border-bottom: 1px solid var(--color-border); | ||
text-align: center; | text-align: center; | ||
color: var(--color-text-primary); | |||
font-size: 0.9em; | |||
} | } | ||
.infobox tr:last-child th, | .infobox tr:last-child th, | ||
| 第175行: | 第323行: | ||
} | } | ||
/* ---------- 8. | /* ---------- 8. 搜索框 ---------- */ | ||
.search-box .form-control, | .search-box .form-control, | ||
#searchInput { | #searchInput { | ||
border: 2px solid var(--color-border); | background-color: var(--color-bg-tertiary); | ||
border-radius: | border: 2px solid var(--color-border-light); | ||
padding: 0. | border-radius: 50px; | ||
transition: all | color: var(--color-text-primary); | ||
padding: 0.6em 1.2em; | |||
font-size: 0.9em; | |||
transition: all var(--transition-smooth); | |||
} | } | ||
.search-box .form-control:focus, | .search-box .form-control:focus, | ||
#searchInput:focus { | #searchInput:focus { | ||
border-color: var(--color-primary); | border-color: var(--color-primary); | ||
box-shadow: 0 0 0 | box-shadow: 0 0 0 3px rgba(124,58,237,0.2), var(--shadow-glow-purple); | ||
outline: none; | outline: none; | ||
background-color: var(--color-bg-elevated); | |||
} | |||
.search-box .form-control::placeholder, | |||
#searchInput::placeholder { | |||
color: var(--color-text-muted); | |||
} | } | ||
/* ---------- 9. | /* ---------- 9. 按钮系统 ---------- */ | ||
.btn-primary, | .btn-primary, | ||
.mw-htmlform-submit { | .mw-htmlform-submit { | ||
background-color: var(--color-primary); | background: linear-gradient(135deg, var(--color-primary), #6D28D9); | ||
border-color: var(--color-primary); | border: none; | ||
border-radius: | border-radius: 50px; | ||
padding: 0.4em 1. | color: #FFFFFF; | ||
padding: 0.6em 2em; | |||
font-family: var(--font-display); | |||
font-weight: 600; | |||
font-size: 0.9em; | |||
letter-spacing: 0.03em; | |||
box-shadow: var(--shadow-glow-purple); | |||
transition: all var(--transition-smooth); | |||
cursor: pointer; | |||
} | |||
.btn-primary:hover, | |||
.mw-htmlform-submit:hover { | |||
background: linear-gradient(135deg, var(--color-accent), var(--color-primary)); | |||
box-shadow: 0 0 30px rgba(6,182,212,0.4); | |||
transform: translateY(-1px); | |||
} | |||
.btn-secondary { | |||
background-color: transparent; | |||
border: 1.5px solid var(--color-border-light); | |||
border-radius: 50px; | |||
color: var(--color-text-secondary); | |||
padding: 0.5em 1.8em; | |||
font-weight: 500; | |||
transition: all var(--transition-smooth); | |||
} | |||
.btn-secondary:hover { | |||
border-color: var(--color-primary-glow); | |||
color: #FFFFFF; | |||
background-color: rgba(124,58,237,0.1); | |||
} | |||
/* 编辑按钮 */ | |||
#ca-edit a, | |||
#ca-viewsource a { | |||
border-radius: 50px !important; | |||
padding: 0.4em 1.2em !important; | |||
transition: all var(--transition-fast); | |||
} | |||
#ca-edit a:hover { | |||
background-color: rgba(124,58,237,0.2) !important; | |||
color: #FFFFFF !important; | |||
} | |||
/* ---------- 10. 表格美化 ---------- */ | |||
.wikitable, | |||
table.wikitable { | |||
background-color: var(--color-bg-tertiary); | |||
border: 1px solid var(--color-border-light); | |||
border-radius: var(--radius-md); | |||
overflow: hidden; | |||
border-collapse: separate; | |||
border-spacing: 0; | |||
width: 100%; | |||
box-shadow: var(--shadow-sm); | |||
} | |||
.wikitable th { | |||
background-color: rgba(124,58,237,0.2); | |||
color: var(--color-primary-glow); | |||
padding: 0.7em 1em; | |||
font-weight: 600; | font-weight: 600; | ||
border-bottom: 2px solid var(--color-primary); | |||
} | |||
.wikitable td { | |||
padding: 0.6em 1em; | |||
border-bottom: 1px solid var(--color-border); | |||
color: var(--color-text-primary); | |||
} | |||
.wikitable tr:last-child td { | |||
border-bottom: none; | |||
} | } | ||
. | .wikitable tr:hover td { | ||
background-color: | background-color: rgba(124,58,237,0.05); | ||
} | } | ||
/* ---------- | /* ---------- 11. 标签/徽章 ---------- */ | ||
.badge-hot { | |||
display: inline-block; | |||
background: linear-gradient(135deg, var(--color-highlight), #E11D48); | |||
color: #FFFFFF; | |||
font-size: 0.75em; | |||
font-weight: 700; | |||
padding: 0.2em 0.7em; | |||
border-radius: 50px; | |||
margin-left: 0.3em; | |||
vertical-align: middle; | |||
} | |||
.badge-new { | |||
display: inline-block; | |||
background: linear-gradient(135deg, var(--color-accent), #0891B2); | |||
color: #FFFFFF; | |||
font-size: 0.75em; | |||
font-weight: 700; | |||
padding: 0.2em 0.7em; | |||
border-radius: 50px; | |||
margin-left: 0.3em; | |||
} | |||
/* ---------- 12. 页脚 ---------- */ | |||
footer, | footer, | ||
.mw-footer { | .mw-footer { | ||
background-color: | background-color: var(--color-bg-secondary); | ||
color: | border-top: 1px solid var(--color-border); | ||
padding: | color: var(--color-text-muted); | ||
margin-top: | padding: 2em 0; | ||
font-size: 0. | margin-top: 3em; | ||
font-size: 0.85em; | |||
text-align: center; | |||
} | } | ||
footer a, | footer a, | ||
.mw-footer a { | .mw-footer a { | ||
color: var(--color- | color: var(--color-text-secondary); | ||
} | |||
footer a:hover, | |||
.mw-footer a:hover { | |||
color: var(--color-accent); | |||
} | } | ||
/* ---------- | /* ---------- 13. 响应式 ---------- */ | ||
@media (max-width: 768px) { | @media (max-width: 768px) { | ||
.infobox { | .infobox { | ||
float: none; | float: none; | ||
width: 100%; | width: 100%; | ||
margin: 0 0 | margin: 0 0 1.5em 0; | ||
} | } | ||
.mw-body { | .mw-body { | ||
padding: | padding: 1.2em; | ||
border-radius: var(--radius-md); | |||
} | } | ||
h1 { font-size: 1. | h1 { font-size: 1.5em; } | ||
h2 { font-size: 1. | h2 { font-size: 1.25em; } | ||
} | } | ||
2026年6月2日 (二) 21:33的版本
/* ---------- 1. 字体引入 ---------- */
/* 标题用锐利现代的无衬线体,正文用高可读性字体 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Noto+Sans+SC:wght@400;500;700&display=swap');
/* ---------- 2. 全局配色变量 ---------- */
:root {
/* 主色调:电光紫 → 霓虹青 渐变 */
--color-primary: #7C3AED; /* 电光紫 */
--color-primary-glow: #A78BFA; /* 浅紫光晕 */
--color-accent: #06B6D4; /* 霓虹青 */
--color-accent-glow: #67E8F9; /* 青蓝光晕 */
--color-highlight: #F43F5E; /* 玫红高亮(用于角标、热门标签) */
/* 背景系统:深色沉浸 */
--color-bg-primary: #0F0F1A; /* 主背景-深邃蓝黑 */
--color-bg-secondary: #1A1A2E; /* 次级背景-卡片/侧栏 */
--color-bg-tertiary: #252540; /* 三级背景-悬停/输入框 */
--color-bg-elevated: #2D2D4A; /* 浮层/弹窗背景 */
/* 文字系统 */
--color-text-primary: #EDEDF5; /* 主文字-高亮白 */
--color-text-secondary: #A0A0B8; /* 辅助文字-冷灰 */
--color-text-muted: #6B6B80; /* 弱化文字 */
/* 边框与分割线 */
--color-border: #2D2D4A;
--color-border-light: #3D3D5C;
/* 链接 */
--color-link: #A78BFA;
--color-link-hover: #C4B5FD;
--color-link-visited: #8B5CF6;
/* 圆角系统 */
--radius-sm: 6px;
--radius-md: 10px;
--radius-lg: 16px;
--radius-xl: 24px;
/* 阴影系统(带色光晕) */
--shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
--shadow-md: 0 4px 12px rgba(124,58,237,0.15), 0 2px 4px rgba(0,0,0,0.3);
--shadow-lg: 0 8px 24px rgba(124,58,237,0.2), 0 4px 8px rgba(0,0,0,0.4);
--shadow-glow-purple: 0 0 20px rgba(124,58,237,0.3);
--shadow-glow-cyan: 0 0 20px rgba(6,182,212,0.3);
/* 字体 */
--font-display: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
--font-body: 'Noto Sans SC', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
--font-size-base: 15px;
/* 过渡 */
--transition-fast: 0.15s ease;
--transition-smooth: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ---------- 3. 全局基础 ---------- */
* {
box-sizing: border-box;
}
body {
background-color: var(--color-bg-primary);
color: var(--color-text-primary);
font-family: var(--font-body);
font-size: var(--font-size-base);
line-height: 1.7;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* 滚动条美化(Webkit浏览器) */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
background: var(--color-bg-primary);
}
::-webkit-scrollbar-thumb {
background: var(--color-border-light);
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--color-primary);
}
/* 标题系统 */
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-display);
color: #FFFFFF;
border-bottom: none;
letter-spacing: -0.02em;
margin-top: 1.5em;
margin-bottom: 0.6em;
}
h1 {
font-size: 2em;
font-weight: 800;
background: linear-gradient(135deg, var(--color-primary-glow), var(--color-accent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
h2 {
font-size: 1.5em;
font-weight: 700;
padding-left: 0.8em;
border-left: 4px solid var(--color-accent);
}
h3 {
font-size: 1.25em;
font-weight: 600;
color: var(--color-primary-glow);
}
/* 内链 */
a {
color: var(--color-link);
text-decoration: none;
transition: color var(--transition-fast);
}
a:visited {
color: var(--color-link-visited);
}
a:hover {
color: var(--color-link-hover);
text-decoration: underline;
text-decoration-color: var(--color-accent);
text-underline-offset: 3px;
}
/* 选中文字颜色 */
::selection {
background: var(--color-primary);
color: #FFFFFF;
}
/* ---------- 4. 导航栏(Chameleon) ---------- */
.navbar {
background: rgba(15,15,26,0.85) !important;
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
border-bottom: 1px solid rgba(124,58,237,0.3);
box-shadow: var(--shadow-glow-purple);
}
.navbar .navbar-brand {
font-family: var(--font-display);
font-weight: 800;
font-size: 1.3em;
color: #FFFFFF !important;
letter-spacing: -0.02em;
}
.navbar .navbar-brand span {
background: linear-gradient(135deg, var(--color-primary-glow), var(--color-accent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.navbar .nav-link {
color: var(--color-text-secondary) !important;
font-weight: 500;
font-size: 0.9em;
border-radius: var(--radius-md);
padding: 0.5em 1em !important;
transition: all var(--transition-smooth);
}
.navbar .nav-link:hover {
color: #FFFFFF !important;
background-color: rgba(124,58,237,0.2);
}
.navbar .nav-link.active {
color: #FFFFFF !important;
background-color: rgba(124,58,237,0.3);
}
.navbar .dropdown-menu {
background-color: var(--color-bg-elevated);
border: 1px solid var(--color-border-light);
border-radius: var(--radius-md);
box-shadow: var(--shadow-lg);
padding: 0.5em;
}
.navbar .dropdown-item {
color: var(--color-text-secondary);
border-radius: var(--radius-sm);
transition: all var(--transition-fast);
}
.navbar .dropdown-item:hover {
color: #FFFFFF;
background-color: rgba(124,58,237,0.2);
}
/* ---------- 5. 侧边栏 ---------- */
.sidebar .card {
background-color: var(--color-bg-secondary);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
margin-bottom: 1.2em;
overflow: hidden;
}
.sidebar .card-header {
background: linear-gradient(135deg, rgba(124,58,237,0.3), rgba(6,182,212,0.15));
color: #FFFFFF;
font-family: var(--font-display);
font-weight: 700;
font-size: 0.95em;
border-bottom: 1px solid var(--color-border-light);
padding: 0.8em 1em;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.sidebar .card-body {
padding: 1em;
color: var(--color-text-secondary);
}
.sidebar .card-body a {
color: var(--color-text-primary);
}
.sidebar .card-body a:hover {
color: var(--color-accent);
}
/* ---------- 6. 主内容区 ---------- */
.mw-body {
background-color: var(--color-bg-secondary);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: 2em 2.5em;
box-shadow: var(--shadow-md);
}
/* 目录 TOC */
#toc {
background-color: var(--color-bg-tertiary);
border: 1px solid var(--color-border-light);
border-left: 4px solid var(--color-primary);
border-radius: var(--radius-md);
padding: 1.2em 1.5em;
margin-bottom: 2em;
}
#toc h2 {
font-size: 1em;
font-weight: 700;
margin-top: 0;
border-left: none;
padding-left: 0;
color: var(--color-text-primary);
}
#toc ul {
list-style: none;
padding-left: 0;
}
#toc li {
margin: 0.3em 0;
}
#toc a {
color: var(--color-text-secondary);
font-size: 0.9em;
}
#toc a:hover {
color: var(--color-accent);
}
/* ---------- 7. 信息框(角色卡/作品卡) ---------- */
.infobox {
background-color: var(--color-bg-tertiary);
border: 1px solid var(--color-border-light);
border-radius: var(--radius-lg);
padding: 0;
margin: 0.5em 0 1.2em 1.5em;
float: right;
width: 280px;
max-width: 100%;
box-shadow: var(--shadow-md);
overflow: hidden;
}
.infobox .infobox-title {
background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
color: #FFFFFF;
font-family: var(--font-display);
font-size: 1.2em;
font-weight: 700;
text-align: center;
padding: 0.8em;
margin: 0;
letter-spacing: 0.02em;
}
.infobox .infobox-image {
text-align: center;
padding: 0.8em;
background-color: var(--color-bg-secondary);
}
.infobox .infobox-image img {
max-width: 100%;
height: auto;
border-radius: var(--radius-sm);
}
.infobox table {
width: 100%;
border-collapse: collapse;
}
.infobox th {
background-color: rgba(124,58,237,0.15);
color: var(--color-primary-glow);
text-align: center;
width: 35%;
padding: 0.6em 0.4em;
font-weight: 600;
font-size: 0.85em;
border-bottom: 1px solid var(--color-border);
}
.infobox td {
padding: 0.6em 0.4em;
border-bottom: 1px solid var(--color-border);
text-align: center;
color: var(--color-text-primary);
font-size: 0.9em;
}
.infobox tr:last-child th,
.infobox tr:last-child td {
border-bottom: none;
}
/* ---------- 8. 搜索框 ---------- */
.search-box .form-control,
#searchInput {
background-color: var(--color-bg-tertiary);
border: 2px solid var(--color-border-light);
border-radius: 50px;
color: var(--color-text-primary);
padding: 0.6em 1.2em;
font-size: 0.9em;
transition: all var(--transition-smooth);
}
.search-box .form-control:focus,
#searchInput:focus {
border-color: var(--color-primary);
box-shadow: 0 0 0 3px rgba(124,58,237,0.2), var(--shadow-glow-purple);
outline: none;
background-color: var(--color-bg-elevated);
}
.search-box .form-control::placeholder,
#searchInput::placeholder {
color: var(--color-text-muted);
}
/* ---------- 9. 按钮系统 ---------- */
.btn-primary,
.mw-htmlform-submit {
background: linear-gradient(135deg, var(--color-primary), #6D28D9);
border: none;
border-radius: 50px;
color: #FFFFFF;
padding: 0.6em 2em;
font-family: var(--font-display);
font-weight: 600;
font-size: 0.9em;
letter-spacing: 0.03em;
box-shadow: var(--shadow-glow-purple);
transition: all var(--transition-smooth);
cursor: pointer;
}
.btn-primary:hover,
.mw-htmlform-submit:hover {
background: linear-gradient(135deg, var(--color-accent), var(--color-primary));
box-shadow: 0 0 30px rgba(6,182,212,0.4);
transform: translateY(-1px);
}
.btn-secondary {
background-color: transparent;
border: 1.5px solid var(--color-border-light);
border-radius: 50px;
color: var(--color-text-secondary);
padding: 0.5em 1.8em;
font-weight: 500;
transition: all var(--transition-smooth);
}
.btn-secondary:hover {
border-color: var(--color-primary-glow);
color: #FFFFFF;
background-color: rgba(124,58,237,0.1);
}
/* 编辑按钮 */
#ca-edit a,
#ca-viewsource a {
border-radius: 50px !important;
padding: 0.4em 1.2em !important;
transition: all var(--transition-fast);
}
#ca-edit a:hover {
background-color: rgba(124,58,237,0.2) !important;
color: #FFFFFF !important;
}
/* ---------- 10. 表格美化 ---------- */
.wikitable,
table.wikitable {
background-color: var(--color-bg-tertiary);
border: 1px solid var(--color-border-light);
border-radius: var(--radius-md);
overflow: hidden;
border-collapse: separate;
border-spacing: 0;
width: 100%;
box-shadow: var(--shadow-sm);
}
.wikitable th {
background-color: rgba(124,58,237,0.2);
color: var(--color-primary-glow);
padding: 0.7em 1em;
font-weight: 600;
border-bottom: 2px solid var(--color-primary);
}
.wikitable td {
padding: 0.6em 1em;
border-bottom: 1px solid var(--color-border);
color: var(--color-text-primary);
}
.wikitable tr:last-child td {
border-bottom: none;
}
.wikitable tr:hover td {
background-color: rgba(124,58,237,0.05);
}
/* ---------- 11. 标签/徽章 ---------- */
.badge-hot {
display: inline-block;
background: linear-gradient(135deg, var(--color-highlight), #E11D48);
color: #FFFFFF;
font-size: 0.75em;
font-weight: 700;
padding: 0.2em 0.7em;
border-radius: 50px;
margin-left: 0.3em;
vertical-align: middle;
}
.badge-new {
display: inline-block;
background: linear-gradient(135deg, var(--color-accent), #0891B2);
color: #FFFFFF;
font-size: 0.75em;
font-weight: 700;
padding: 0.2em 0.7em;
border-radius: 50px;
margin-left: 0.3em;
}
/* ---------- 12. 页脚 ---------- */
footer,
.mw-footer {
background-color: var(--color-bg-secondary);
border-top: 1px solid var(--color-border);
color: var(--color-text-muted);
padding: 2em 0;
margin-top: 3em;
font-size: 0.85em;
text-align: center;
}
footer a,
.mw-footer a {
color: var(--color-text-secondary);
}
footer a:hover,
.mw-footer a:hover {
color: var(--color-accent);
}
/* ---------- 13. 响应式 ---------- */
@media (max-width: 768px) {
.infobox {
float: none;
width: 100%;
margin: 0 0 1.5em 0;
}
.mw-body {
padding: 1.2em;
border-radius: var(--radius-md);
}
h1 { font-size: 1.5em; }
h2 { font-size: 1.25em; }
}