打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Common.css:修订间差异

MediaWiki界面页面
Rockman留言 | 贡献
无编辑摘要
标签已被回退
Rockman留言 | 贡献
无编辑摘要
标签已被回退
第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: #8B4513;       /* 赭石色 - 用于主按钮、强调链接 */
     --color-primary: #7C3AED;             /* 电光紫 */
     --color-primary-light: #D2B48C; /* 浅褐色 - 用于背景色块 */
     --color-primary-glow: #A78BFA;         /* 浅紫光晕 */
     --color-accent: #B22222;         /* 朱砂红 - 用于重要标记、徽章 */
     --color-accent: #06B6D4;               /* 霓虹青 */
     --color-bg: #F5F0E8;            /* 宣纸色 - 全局页面背景 */
     --color-accent-glow: #67E8F9;         /* 青蓝光晕 */
    --color-card-bg: #FFFFFF;       /* 卡片/信息框背景 */
     --color-highlight: #F43F5E;           /* 玫红高亮(用于角标、热门标签) */
    --color-text: #3C3C3C;          /* 正文文字色(深灰,非纯黑,更柔和) */
    --color-text-light: #6B6B6B;    /* 辅助文字色 */
    --color-border: #D4C5B2;        /* 边框色 */
    --color-link: #8B4513;          /* 内链颜色 */
     --color-link-visited: #A0522D;   /* 已访问内链颜色 */
    --color-hover: #B22222;          /* 悬停变色 */


     /* 字体设定 */
     /* 背景系统:深色沉浸 */
     --font-heading: 'Noto Serif SC', 'STSong', 'SimSun', 'Songti SC', serif;
    --color-bg-primary: #0F0F1A;          /* 主背景-深邃蓝黑 */
     --font-body: 'Noto Serif SC', 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', sans-serif;
    --color-bg-secondary: #1A1A2E;        /* 次级背景-卡片/侧栏 */
     --font-size-base: 16px;
    --color-bg-tertiary: #252540;          /* 三级背景-悬停/输入框 */
     --border-radius: 6px;
    --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.8;
     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-heading);
     font-family: var(--font-display);
     color: #2C1810;
     color: #FFFFFF;
     border-bottom: 1px solid var(--color-border);
     border-bottom: none;
     padding-bottom: 0.3em;
    letter-spacing: -0.02em;
     margin-top: 1.2em;
    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. Chameleon 导航栏美化 ---------- */
/* ---------- 4. 导航栏(Chameleon) ---------- */
/* 顶部导航栏整体 */
.navbar {
.navbar {
     background: linear-gradient(135deg, #2C1810 0%, #4A2C1A 100%);
     background: rgba(15,15,26,0.85) !important;
     border-bottom: 3px solid var(--color-accent);
    backdrop-filter: blur(20px) saturate(180%);
     box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    -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 .navbar-brand,
.navbar .nav-link {
.navbar .nav-link {
     color: #F5F0E8 !important;
     color: var(--color-text-secondary) !important;
     font-family: var(--font-heading);
     font-weight: 500;
     font-weight: 700;
    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: var(--color-primary-light) !important;
     color: #FFFFFF !important;
     background-color: rgba(255,255,255,0.1);
    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: #FDFAF5;
     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 {
    background-color: transparent;
}
.sidebar .card {
.sidebar .card {
     background-color: var(--color-card-bg);
     background-color: var(--color-bg-secondary);
     border: 1px solid var(--color-border);
     border: 1px solid var(--color-border);
     border-radius: var(--border-radius);
     border-radius: var(--radius-lg);
     box-shadow: 0 1px 4px rgba(0,0,0,0.05);
     box-shadow: var(--shadow-sm);
     margin-bottom: 1em;
     margin-bottom: 1.2em;
    overflow: hidden;
}
}
.sidebar .card-header {
.sidebar .card-header {
     background-color: var(--color-primary);
     background: linear-gradient(135deg, rgba(124,58,237,0.3), rgba(6,182,212,0.15));
     color: #FFFFFF;
     color: #FFFFFF;
     font-family: var(--font-heading);
     font-family: var(--font-display);
     font-weight: 700;
     font-weight: 700;
     border-bottom: 2px solid var(--color-accent);
    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-card-bg);
     background-color: var(--color-bg-secondary);
     border: 1px solid var(--color-border);
     border: 1px solid var(--color-border);
     border-radius: var(--border-radius);
     border-radius: var(--radius-lg);
     padding: 1.5em 2em;
     padding: 2em 2.5em;
     box-shadow: 0 1px 6px rgba(0,0,0,0.06);
     box-shadow: var(--shadow-md);
}
}


/* 目录框 */
/* 目录 TOC */
#toc {
#toc {
     background-color: #FDFAF5;
     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);
     border-radius: var(--radius-md);
     padding: 1em;
     padding: 1.2em 1.5em;
     margin-bottom: 1.5em;
     margin-bottom: 2em;
}
}
#toc h2 {
#toc h2 {
     font-size: 1.2em;
     font-size: 1em;
    font-weight: 700;
     margin-top: 0;
     margin-top: 0;
     border-bottom: none;
     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. 信息框(角色卡/作品卡) ---------- */
/* 前提是你的信息框模板外层包裹了 class="infobox" */
.infobox {
.infobox {
     background-color: #FDFAF5;
     background-color: var(--color-bg-tertiary);
     border: 2px solid var(--color-border);
     border: 1px solid var(--color-border-light);
     border-radius: var(--border-radius);
     border-radius: var(--radius-lg);
     padding: 0;
     padding: 0;
     margin: 0.5em 0 1em 1.5em;
     margin: 0.5em 0 1.2em 1.5em;
     float: right;
     float: right;
     width: 280px;
     width: 280px;
     max-width: 100%;
     max-width: 100%;
     box-shadow: 0 2px 8px rgba(0,0,0,0.08);
     box-shadow: var(--shadow-md);
    overflow: hidden;
}
}
.infobox .infobox-title {
.infobox .infobox-title {
     background: linear-gradient(135deg, var(--color-primary) 0%, #6B3410 100%);
     background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
     color: #FFFFFF;
     color: #FFFFFF;
     font-family: var(--font-heading);
     font-family: var(--font-display);
     font-size: 1.3em;
     font-size: 1.2em;
     font-weight: 700;
     font-weight: 700;
     text-align: center;
     text-align: center;
     padding: 0.6em;
     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.5em;
     padding: 0.8em;
     background-color: #FFFFFF;
     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: calc(var(--border-radius) - 2px);
     border-radius: var(--radius-sm);
}
}
.infobox table {
.infobox table {
第157行: 第302行:
}
}
.infobox th {
.infobox th {
     background-color: var(--color-primary-light);
     background-color: rgba(124,58,237,0.15);
    color: #2C1810;
    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: 20px;
     border: 2px solid var(--color-border-light);
     padding: 0.4em 1em;
     border-radius: 50px;
     transition: all 0.3s;
    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 0.2rem rgba(139,69,19,0.2);
     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: 20px;
    border-radius: 50px;
     padding: 0.4em 1.5em;
    color: #FFFFFF;
     font-family: var(--font-heading);
    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;
     transition: all 0.3s;
     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;
}
}
.btn-primary:hover {
.wikitable tr:hover td {
     background-color: var(--color-accent);
     background-color: rgba(124,58,237,0.05);
    border-color: var(--color-accent);
    box-shadow: 0 2px 6px rgba(178,34,34,0.3);
}
}


/* ---------- 10. 页脚美化 ---------- */
/* ---------- 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: #2C1810;
     background-color: var(--color-bg-secondary);
     color: #C4B5A5;
    border-top: 1px solid var(--color-border);
     padding: 1.5em 0;
     color: var(--color-text-muted);
     margin-top: 2em;
     padding: 2em 0;
     font-size: 0.9em;
     margin-top: 3em;
     font-size: 0.85em;
    text-align: center;
}
}
footer a,
footer a,
.mw-footer a {
.mw-footer a {
     color: var(--color-primary-light);
     color: var(--color-text-secondary);
}
footer a:hover,
.mw-footer a:hover {
    color: var(--color-accent);
}
}


/* ---------- 11. 响应式小修 ---------- */
/* ---------- 13. 响应式 ---------- */
@media (max-width: 768px) {
@media (max-width: 768px) {
     .infobox {
     .infobox {
         float: none;
         float: none;
         width: 100%;
         width: 100%;
         margin: 0 0 1em 0;
         margin: 0 0 1.5em 0;
     }
     }
     .mw-body {
     .mw-body {
         padding: 1em;
         padding: 1.2em;
        border-radius: var(--radius-md);
     }
     }
     h1 { font-size: 1.6em; }
     h1 { font-size: 1.5em; }
     h2 { font-size: 1.4em; }
     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; }
}