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

MediaWiki:Citizen.css:修订间差异

MediaWiki界面页面
ETTW留言 | 贡献
无编辑摘要
ETTW留言 | 贡献
无编辑摘要
第842行: 第842行:
/* --- 综合优化版:液态光影 + 弹性动画 + 毛玻璃锁定 --- */
/* --- 综合优化版:液态光影 + 弹性动画 + 毛玻璃锁定 --- */
/* ================================================= */
/* ================================================= */
/* 1. 全局容器:包括目录 ID (#citizen-toc) 和 搜索 ID (#citizen-command-palette) */
.citizen-menu__card,
.citizen-toc-card,
#citizen-toc .citizen-menu__card,
.citizen-command-palette,
.infobox {
    position: relative !important;
    overflow: hidden !important;
    background-image: none !important;
    opacity: 1 !important;
    /* 强行移除阴影 Bug,改用纯净的 AERO 深邃投影 */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    transition: transform 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28), opacity 0.3s ease !important;
}
/* 2. 【Aero 光追核心】:针对左侧面板特别强化 */
/* 增加 #citizen-toc 路径确保优先级 */
.citizen-menu__card::before,
.citizen-toc-card::before,
#citizen-toc .citizen-menu__card::before,
.citizen-command-palette::before,
.infobox::before {
    content: "" !important;
    position: absolute;
    inset: -1px;
    border: 2px solid transparent;
    /* 边框流光:极亮对比 */
    background: radial-gradient(
        180px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.4) 40%,
        transparent 85%
    ) border-box !important;
   
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-clip: content-box, border-box;
    -webkit-mask-composite: source-out;
    mask-composite: subtract;
    mix-blend-mode: screen !important; /* 统一使用 screen 保证 AERO 下的光线可见度 */
    z-index: 10;
    pointer-events: none;
    transition: none !important;
    display: block !important; /* 强制显示,防止被其他样式隐藏 */
}
/* 3. 【面板内部微光】:若隐若现的动态背景 */
.citizen-menu__card::after,
.citizen-toc-card::after,
#citizen-toc .citizen-menu__card::after,
.citizen-command-palette::after {
    content: "" !important;
    position: absolute;
    inset: 0;
    background: radial-gradient(
        400px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
        rgba(255, 255, 255, 0.08) 0%,
        transparent 70%
    ) !important;
    mix-blend-mode: plus-lighter;
    z-index: 1;
    pointer-events: none;
    transition: none !important;
}
/* 4. 【Basic 模式物理自毁】:确保面板绝对不透明,无光效 */
/* 增加 html 根类名限制,确保最高优先级覆盖 */
html.skin-citizen-basic body .citizen-menu__card,
html.skin-citizen-basic body .citizen-toc-card,
html.skin-citizen-basic body #citizen-toc .citizen-menu__card,
html.skin-citizen-basic body .citizen-command-palette,
html.skin-citizen-basic body .infobox {
    background-color: var(--color-surface-2) !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    border: 1px solid var(--color-border) !important;
}
/* Basic 模式下彻底抹除所有伪元素 */
html.skin-citizen-basic .citizen-menu__card::before,
html.skin-citizen-basic .citizen-menu__card::after,
html.skin-citizen-basic .citizen-toc-card::before,
html.skin-citizen-basic .citizen-toc-card::after,
html.skin-citizen-basic .infobox::before,
html.skin-citizen-basic .infobox::after {
    display: none !important;
    content: none !important;
}
/* 5. 深色模式细节平衡 */
html.skin-theme-clientpref-night .citizen-menu__card,
html.skin-theme-clientpref-night .citizen-toc-card {
    background-color: rgba(20, 20, 20, 0.75) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6) !important;
}
/* 1. 基础容器:针对目录和搜索框保持隐藏,但针对侧栏组件放开溢出 */
/* 1. 基础容器:针对目录和搜索框保持隐藏,但针对侧栏组件放开溢出 */
.citizen-toc-card,  
.citizen-toc-card,  

2026年1月30日 (五) 20:59的版本

/**
 * Blockland Wiki Modern Aero UI 2.0
 * 风格:Aero/Basic
 * 功能:全局毛玻璃、改进动效、优化搜索栏、infobox美化、评论区美化、深色模式。
 * 版本:2.0 
 */
/* =========================== */
/* --- 1. 全局去蓝配色基础 --- */
/* =========================== */
:root {
    --color-surface-0: #fafafa;
    --color-surface-1: #ffffff;
    --color-base-0: #202122;
    --color-heading: #000000;
}
html.skin-theme-clientpref-night {
    --color-surface-0: #1a1b1c !important;
    --color-surface-1: #242526 !important;
    --color-base-0: #eaecf0 !important;
    --color-heading: #ffffff !important;
    background-color: #1a1b1c !important;
}
/* =========================== */
/* --- 2. 通用组件毛玻璃化 --- */
/* =========================== */
.citizen-menu__card,
#citizen-preferences__card,
.citizen-sticky-header-background,
.page-actions-more__card,
.citizen-dropdown .citizen-menu__card {
    background-color: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(14px) saturate(100%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(100%) !important;
    border: 1px solid rgba(128, 128, 128, 0.1) !important;
    border-radius: 12px !important;
}
html.skin-theme-clientpref-night .citizen-menu__card,
html.skin-theme-clientpref-night #citizen-preferences__card,
html.skin-theme-clientpref-night .citizen-command-palette {
    background-color: rgba(20, 20, 20, 0.3) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
/* =========================== */
/* --- 3. 搜索面板背景遮罩 --- */
/* =========================== */
.citizen-command-palette-backdrop {
    background-color: rgba(0, 0, 0, 0.2) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 9999 !important;
    animation: citizen-fade-in 0.3s ease forwards;
}
/* ======================= */
/* --- 4. 搜索面板主体 --- */
/* ======================= */
.citizen-command-palette {
    position: fixed !important;
    width: 1000px !important;
    max-width: 92vw !important;
    top: 50% !important;
    left: 50% !important;
    z-index: 10000 !important;
    isolation: isolate !important;
    background-color: rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(25px) saturate(100%) !important;
    -webkit-backdrop-filter: blur(25px) saturate(100%) !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.25) !important;
    animation: citizen-pop-in 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
    transform-origin: center center !important;
}
/* ================================= */
/* --- 5. 列表项布局与全填充圆角 --- */
/* ================================= */
.citizen-command-palette-list {
    padding: 8px 0 !important;  
}
.citizen-command-palette-list-item {
    margin: 0 12px 6px 12px !important; 
    border-radius: 12px !important;
    overflow: hidden !important;
    border: none !important;
    display: block !important;
    transition: background-color 0.2s ease !important;
}
.citizen-command-palette-list-item__content {
    display: flex !important;
    padding: 12px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    color: #202122 !important;
}
.citizen-command-palette-list-item__metadata {
    display: none !important;
}
.citizen-command-palette-list-item:hover,
.citizen-command-palette-list-item[aria-selected="true"] {
    background-color: rgba(0, 0, 0, 0.05) !important;
}
/* ========================= */
/* --- 6. 垃圾桶按钮优化 --- */
/* ========================= */
.citizen-command-palette-list-item__actions,
.citizen-command-palette-list-item__action {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    min-width: 32px !important; 
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-left: auto !important;
}
.citizen-command-palette-list-item__action svg {
    fill: #202122 !important; 
    opacity: 0.85 !important; 
    transition: all 0.2s ease !important;
}
/* 悬停状态:浅粉色背景 + 变大红图标 */
.citizen-command-palette-list-item__action:hover {
    background-color: rgba(255, 192, 203, 0.6) !important;
    border-radius: 8px !important;
}
.citizen-command-palette-list-item__action:hover svg {
    fill: #d33 !important; 
    opacity: 1 !important;
    transform: scale(1.15) !important; 
}
/* =========================== */
/* --- 7. 搜索框与底部清理 --- */
/* =========================== */
.citizen-command-palette__search,
.citizen-command-palette__results,
.citizen-command-palette__footer,
.cdx-text-input__input {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
/* --- 动画定义 --- */
@keyframes citizen-pop-in {
    0% { opacity: 0; transform: translate(-50%, -45%) scale(0.85); }
    100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes citizen-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
/* ======================= */
/* --- 8. 深色模式适配 --- */
/* ======================= */
@media (prefers-color-scheme: dark) {
    :root {
        --color-surface-0: #1a1b1c !important; 
        --color-surface-1: #202122 !important; 
        --color-base-0: #eaecf0 !important;    
        --color-heading: #ffffff !important;
    }
}
html.skin-theme-clientpref-night {
    --color-surface-0: #1a1b1c !important;
    --color-surface-1: #202122 !important;
    --color-base-0: #eaecf0 !important;
    --color-heading: #ffffff !important;
    background-color: #1a1b1c !important;
}
html.skin-theme-clientpref-night .citizen-command-palette,
html.skin-theme-clientpref-night .citizen-menu__card,
html.skin-theme-clientpref-night .page-actions-more__card {
    background-color: rgba(30, 30, 30, 0.7) !important; /* 深色半透明 */
    border: 1px solid rgba(255, 255, 255, 0.1) !important; /* 微亮边框线 */
    backdrop-filter: blur(20px) saturate(150%) !important;
}
html.skin-theme-clientpref-night .citizen-command-palette-list-item:hover,
html.skin-theme-clientpref-night .citizen-command-palette-list-item[aria-selected="true"] {
    background-color: rgba(255, 255, 255, 0.1) !important;
}
/* =============================== */
/* --- 9. 顶部UI去圆角嵌套直角 --- */
/* =============================== */
.citizen-sticky-header-background {
    border-radius: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    top: 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
    background-image: none !important; 
    backdrop-filter: blur(12px) saturate(100%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(100%) !important;
}
html.skin-theme-clientpref-night .citizen-sticky-header-background {
    background-color: rgba(20, 20, 20, 0.4) !important; 
    background-image: none !important; 
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(20px) saturate(150%) !important; 
}
.citizen-sticky-header {
    border-radius: 0 !important;
    background: transparent !important; 
}
html.skin-theme-clientpref-night .citizen-sticky-header .cdx-button--weight-quiet {
    color: #eaecf0 !important;
}
html.skin-theme-clientpref-night .citizen-sticky-header-page-title,
html.skin-theme-clientpref-night .citizen-sticky-header-page-tagline {
    color: #ffffff !important;
}
/* ================================================ */
/* --- 10. 能效模式适配:开启后关闭毛玻璃与动画 --- */
/* ================================================ */
/* 当 html 标签包含 performance-mode...-1 时,判定为能效模式开启。此时彻底干掉毛玻璃和动画。*/
html[class*="citizen-feature-performance-mode-clientpref-1"] {
    --citizen-backdrop-filter: none !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"] .citizen-menu__card,
html[class*="citizen-feature-performance-mode-clientpref-1"] #citizen-preferences__card,
html[class*="citizen-feature-performance-mode-clientpref-1"] .citizen-sticky-header-background,
html[class*="citizen-feature-performance-mode-clientpref-1"] .citizen-command-palette,
html[class*="citizen-feature-performance-mode-clientpref-1"] .page-actions-more__card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-color: var(--color-surface-1) !important; 
    animation: citizen-fade-in 0.1s ease forwards !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"] .citizen-command-palette {
    transform: translate(-50%, -50%) scale(1) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important; 
}
.page-首页 .banner-image {
	--banner-image-url: url("https://cdn.jsdelivr.net/gh/KKBlockE/BlocklandPicturebed@main/main/d49dd42343ab1bfcf4efa67f62f4ecf8.png");
	--banner-image-height: 70vh;
	background-image: linear-gradient(to top, var(--color-surface-0) 15%, transparent 150%), var(--banner-image-url);
	background-size: cover;
	background-position: top;
	height: var(--banner-image-height);
	margin-bottom: calc(-1 * var(--banner-image-height));
}
/* =============================================== */
/* --- 11. 标签美化:能效模式改名 Aero / Basic --- */
/* =============================================== */
label[for="skin-client-pref-citizen-feature-performance-mode-value-1"],
label[for="skin-client-pref-citizen-feature-performance-mode-value-0"] {
    color: transparent !important; 
    position: relative !important;
    min-width: 80px !important;    
    text-align: center !important;
}
label[for="skin-client-pref-citizen-feature-performance-mode-value-0"]::after {
    content: "Aero" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: var(--color-base-0) !important; 
    font-size: 0.9rem !important;
    font-weight: bold !important;
    visibility: visible !important;
}

/* 注入 Basic */
label[for="skin-client-pref-citizen-feature-performance-mode-value-1"]::after {
    content: "Basic" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: var(--color-base-0) !important;
    font-size: 0.9rem !important;
    font-weight: bold !important;
    visibility: visible !important;
}
.citizen-menu #skin-client-pref-citizen-feature-performance-mode-group {
}
#citizen-preferences__card .mw-portlet.mw-portlet-performance-mode-group .citizen-menu__heading,
#citizen-preferences__card .citizen-menu:nth-last-child(1) .citizen-menu__heading {
    font-size: 0 !important;
}
#citizen-preferences__card .mw-portlet.mw-portlet-performance-mode-group .citizen-menu__heading::before,
#citizen-preferences__card .citizen-menu:nth-last-child(1) .citizen-menu__heading::before {
    content: "主题" !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--color-primary) !important; 
    visibility: visible !important;
}
/* ======================== */
/* === 12. 首页专用样式 === */
/* ======================== */
/* 创建一个全宽容器的类,用于包裹Banner */
.full-width-banner {
    width: 100vw;							 /* 视口宽度 */
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
/* 下面是 Banner 的高度和背景设置 */
    height: 400px;							 /* 你想要的高度 */
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;							 /* 文字颜色 */
    text-shadow: 0 2px 10px rgba(0,0,0,0.7); /* 文字阴影,防止背景太亮看不清 */
    z-index: 1; 							 /* 确保不被底层遮挡 */
    background-repeat: no-repeat;			 /* 防止图片重复 */
    background-color: #2a2a2a;				 /* 给一个深灰色底,图片加载失败时保底 */
}
.banner-content {
    max-width: 1200px;						 /* 内容最大宽度,保持中间对齐 */
    padding: 20px;
    text-align: center;
}
/* ============================================== */
/* --- 13. 搜索组件对齐:统一搜索框与按钮高度 --- */
/* ============================================== */
.page-特殊_搜索 .oo-ui-layout.oo-ui-labelElement.oo-ui-actionFieldLayout,
.page-特殊_搜索 .oo-ui-fieldLayout.oo-ui-labelElement,
.page-特殊_搜索 .mw-widgets-titleInputWidget,
.page-特殊_搜索 .mw-widget-searchInputWidget {
    max-width: none !important; 
    width: 100% !important;   
    display: flex !important;  
}
.page-特殊_搜索 .mw-search-form-wrapper, 
.page-特殊_搜索 #mw-search-top-table, 
.page-特殊_搜索 .oo-ui-fieldLayout-field {
    width: 100% !important;
    max-width: none !important;
}
.page-特殊_搜索 .oo-ui-actionFieldLayout-input {
    flex: 1 1 auto !important; 
    width: 100% !important;   
}
.page-特殊_搜索 .oo-ui-actionFieldLayout-input .oo-ui-inputWidget-input {
    height: 48px !important;
    width: 100% !important;
    padding-left: 45px !important;
    border-radius: 12px 0 0 12px !important;
    box-sizing: border-box !important;
}
.page-特殊_搜索 .oo-ui-actionFieldLayout-button {
    flex: 0 0 auto !important; 
    width: auto !important;
}
.page-特殊_搜索 .oo-ui-actionFieldLayout-button .oo-ui-buttonElement-button {
    height: 48px !important;
    min-width: 120px !important;
    padding: 0 30px !important;
    border-radius: 0 12px 12px 0 !important;
    box-sizing: border-box !important;
}
/* =============================================== */
/* --- 14. 菜单重排:文字 > 宽度 > 纯黑 > 颜色 --- */
/* =============================================== */

/* 激活容器布局 */
#citizen-preferences-content {
    display: flex !important;
    flex-direction: column !important;
}
/* 1. 文字 */
#skin-client-prefs-citizen-feature-custom-font-size {
    order: 1 !important;
}
/* 2. 宽度 */
#skin-client-prefs-citizen-feature-custom-width {
    order: 2 !important;
}
/* 3. 纯黑模式 (移动到颜色上方) */
#skin-client-prefs-citizen-feature-pure-black {
    order: 3 !important;
}
/* 4. 颜色 (移动到纯黑下方) */
#skin-client-prefs-skin-theme {
    order: 4 !important;
}
/* 5. 自动隐藏导航 */
#skin-client-prefs-citizen-feature-autohide-navigation {
    order: 5 !important;
}
/* 6. 效能模式 (Aero/Basic) */
#skin-client-prefs-citizen-feature-performance-mode {
    order: 6 !important;
}
/* ========================================== */
/* --- 15. Infobox 信息框 Aero & 深色适配 --- */
/* ========================================== */
.infobox {
    background: transparent !important; 
    color: var(--color-base-0) !important;
    border: none !important;
    border-radius: 12px !important;
    backdrop-filter: blur(10px);
    border-collapse: separate !important; 
    border-spacing: 0 !important; 
}
.infobox th, 
.infobox td {
    background-color: transparent !important; 
    color: var(--color-base-0) !important;
    padding: 8px 5px !important; 
    line-height: 1.4 !important;
    border-top: none !important; 
}
.infobox tr:not(:last-child) th,
.infobox tr:not(:last-child) td {
    border-bottom: 1px solid rgba(128, 128, 128, 0.15) !important;
}
html.skin-theme-clientpref-night .infobox tr:not(:last-child) th,
html.skin-theme-clientpref-night .infobox tr:not(:last-child) td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.infobox th[colspan="2"] {
    background-color: var(--color-primary-opacity-10, rgba(54, 121, 204, 0.1)) !important;
    color: var(--color-primary, #36c) !important;
}
.infobox .mw-file-description img { background: transparent !important; }
.infobox {
    position: relative !important;
    z-index: 10 !important; 
}

/* ======================================== */
/* === 16. SocialProfile 现代化美化补丁 === */
/* ======================================== */
/* 1. 暴力重置最外层容器,把它变成一个大卡片 */
.profile-info, 
#UserProfileMasthead {
    display: block !important; /* 强制取消表格属性 */
    background-color: var(--color-surface-2) !important;
    border: 1px solid var(--border-color-base) !important;
    border-radius: var(--border-radius-base) !important;
    padding: 24px !important;
    margin-bottom: 20px;
    box-shadow: var(--box-shadow-card);
    position: relative; /* 为绝对定位元素做参照 */
    overflow: hidden; /* 防止圆角溢出 */
}
/* 2. 隐藏原本杂乱的表格结构,让内容“流”出来 */
.profile-info tbody, 
.profile-info tr, 
.profile-info td {
    display: block !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    width: auto !important; /* 取消表格宽度限制 */
}
/* 3. 专门修正左侧头像区域 */
.profile-info td:first-child {
    float: left; /* 让头像浮动到左边 */
    margin-right: 20px;
    margin-bottom: 10px;
    text-align: center;
}
/* 4. 头像美化 (变圆 + 边框) */
.profile-info img, 
.user-profile-image img {
    border-radius: 50% !important;
    width: 100px !important; /* 强制固定头像大小 */
    height: 100px !important;
    object-fit: cover;
    border: 3px solid var(--color-surface-1) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
/* 5. 修正右侧内容区域 */
.profile-info td:last-child {
    /* 这里放名字、链接和简介 */
    padding-left: 0 !important;
}
/* 6. 用户名 (KK) 放大并加粗 */
.profile-name, 
.user-profile-top-name,
.profile-info h1, 
.profile-info font[size="6"] { /* 兼容老旧的 font 标签 */
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--color-text-primary) !important;
    font-family: var(--font-family-heading) !important;
    line-height: 1.2;
    display: block;
    margin-bottom: 8px;
}
/* 7. 那一排操作链接 (编辑个人资料 | 上传头像...) */
.profile-links, 
.profile-info a {
    color: var(--color-text-secondary) !important;
    font-size: 0.9rem;
    text-decoration: none;
    margin-right: 5px;
}
.profile-info a:hover {
    color: var(--color-primary) !important;
    text-decoration: underline;
}
/* 8. 简介文字 (大家好啊我是...) */
.profile-bio, 
.user-profile-bio {
    margin-top: 15px !important;
    padding: 10px !important;
    background: var(--color-surface-1) !important;
    border-radius: var(--border-radius-small);
    color: var(--color-text-primary);
    line-height: 1.6;
    clear: both; /* 确保在头像下方或者旁边 */
}
/* 9. !!! 重点修正:那个丑陋的橙色“使用社交用户页”按钮 !!! */
div[style*="background-color:#FFCE28"], /* 尝试捕捉那个写死颜色的 div */
.profile-switch-button,
input[type="button"][value*="社交"] { 
    background-color: var(--color-primary) !important;
    color: var(--color-primary-text) !important;
    border: none !important;
    border-radius: 20px !important; /* 胶囊按钮 */
    padding: 8px 16px !important;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    /* 如果它原来是绝对定位,我们要调整它 */
    position: absolute !important;
    top: 20px;
    right: 20px;
}
/* 10. 顶部的小字统计 (766次编辑...) */
.profile-stats-top {
    font-size: 0.85rem;
    color: var(--color-text-faint);
    margin-bottom: 5px;
}
/* =============================================== */
/* --- 17. Infobox 标题卡片化补丁 (与主体分离) --- */
/* =============================================== */
.infobox {
    display: flex !important;     
    flex-direction: column !important; 
    border: none !important;          
    background: transparent !important; 
    box-shadow: none !important;
}
.infobox .infobox-title {
    display: block !important;
    order: -1 !important;          
    width: 100% !important;       
    box-sizing: border-box !important;
    margin: 0 0 12px 0 !important;
    padding: 16px 12px !important;
    border-radius: 12px !important; 
    overflow: hidden !important; 
    border: 1px solid rgba(128, 128, 128, 0.3) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
    
    text-align: center !important;
    line-height: 1.5 !important;
    font-size: 1.2rem !important;
}
caption.infobox-title {
    caption-side: top !important;
}
.infobox tbody {
    display: table !important;
    width: 100% !important;
    border: 1px solid rgba(128, 128, 128, 0.3) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: var(--color-surface-1) !important;
}
/* ============================================ */
/* --- 18. 暗色模式下的 Infobox 标题自动变暗 --- */
/* ============================================ */
html.skin-theme-clientpref-night .infobox .infobox-title {
    filter: brightness(1) contrast(0.5) !important;
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
    opacity: 0.9;
}
html.skin-theme-clientpref-night .infobox .infobox-title[style*="background"] {
    background-blend-mode: multiply !important;
    background-color: rgba(0, 0, 0, 0.4) !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox .infobox-title {
    filter: none !important;
    background-color: #2a2a2a !important;
    color: #eaecf0 !important;
}
/* ============================================ */
/* --- 19. 通知中心 (Echo UI) 毛玻璃与动效 --- */
/* ============================================ */
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup {
    animation: aero-basic-in 0.3s cubic-bezier(0.1, 0.9, 0.2, 1) forwards !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-popupWidget-popup {
    background-color: rgba(255, 255, 255, 0.85) !important; 
    border: 1px solid rgba(255, 255, 255, 0.9) !important;  
    border-radius: 16px !important;
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.12), 
        0 1px 2px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
}
html.skin-theme-clientpref-night .mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-popupWidget-popup {
    background-color: rgba(30, 30, 30, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
}
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-popupWidget-head,
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-popupWidget-body,
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-popupWidget-footer,
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-clippableElement-clippable,
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .mw-echo-ui-notificationsListWidget,
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .mw-echo-ui-placeholderItemWidget {
    background: transparent !important;
    background-color: transparent !important;
    border-color: rgba(0, 0, 0, 0.05) !important;
}
.mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement-button {
    background-color: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}
.mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement-button:hover {
    background-color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}
html.skin-theme-clientpref-night .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement-button {
    background-color: rgba(255, 255, 255, 0.1) !important; 
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
html.skin-theme-clientpref-night .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement-button:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}
html.skin-theme-clientpref-night .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-labelElement-label,
html.skin-theme-clientpref-night .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-iconElement-icon {
    color: #eaecf0 !important;
    filter: brightness(1.5); 
}
@keyframes aero-basic-in {
    from { 
        opacity: 0; 
        margin-top: -12px; 
    }
    to { 
        opacity: 1; 
        margin-top: 0; 
    }
}
.mw-echo-ui-notificationItemWidget {
    background: transparent !important;
    transition: background 0.2s !important;
}
.mw-echo-ui-notificationItemWidget:hover {
    background-color: rgba(0, 0, 0, 0.03) !important;
}
html.skin-theme-clientpref-night .mw-echo-ui-notificationItemWidget:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}
/* ============================================ */
/* --- 20. 首页专属:最后修改时间 Aero 挂件 --- */
/* ============================================ */
#citizen-sidebar-lastmod.citizen-menu {
    background-color: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(12px) saturate(100%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(100%) !important;
    border-radius: 12px !important;
    border: none !important;
    padding: 4px !important;
    margin-top: 5px !important;
    width: fit-content !important;
    background-image: none !important;
}
html.skin-theme-clientpref-night #citizen-sidebar-lastmod.citizen-menu {
    background-color: rgba(20, 20, 20, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"] #citizen-sidebar-lastmod.citizen-menu {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-color: var(--color-surface-1) !important; 
    border: 1px solid var(--border-color-base, rgba(20,20,20,0.2)) !important;
    box-shadow: none !important;
}
#citizen-sidebar-lastmod #citizen-lastmod-relative {
    text-decoration: none !important;
    color: var(--color-base-0) !important;
    font-weight: 400;
}
/* ================================================= */
/* --- 22. Infobox 全面毛玻璃化(Aero Glass 补丁) --- */
/* ================================================= */
/* 1. 穿透表格层级,强制透明背景 */
.infobox.ve-infobox-country,
.infobox.ve-infobox-country tbody,
.infobox.ve-infobox-country tr,
.infobox.ve-infobox-country th,
.infobox.ve-infobox-country td {
    background-color: transparent !important;
    border-color: rgba(128, 128, 128, 0.1) !important;
}
/* 2. 主体容器注入毛玻璃 */
.infobox.ve-infobox-country {
    background: rgba(255, 255, 255, 0.2) !important; /* 浅色半透明基底 */
    backdrop-filter: blur(15px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(15px) saturate(160%) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15) !important;
    border-radius: 16px !important;
    overflow: hidden; /* 确保毛玻璃不超出圆角 */
    padding: 0 !important;
    border-collapse: collapse !important;
}
/* 3. 针对“凯特共和国”标题行的特殊处理 */
.infobox.ve-infobox-country .infobox-above {
    background: rgba(204, 238, 255, 0.5) !important; /* 调低 HTML 里 #CCEEFF 的浓度 */
    text-shadow: 0 1px 4px rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(128, 128, 128, 0.1) !important;
    font-weight: bold;
}
.infobox.ve-infobox-country .infobox-header {
    background-color: rgba(204, 238, 255, 0.2) !important; /* 极淡的遮罩区分区块 */
    backdrop-filter: brightness(1.1);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 0.85rem;
}
/* 深色模式适配 */
html.skin-theme-clientpref-night .infobox.ve-infobox-country {
    background: rgba(20, 20, 20, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5) !important;
}
html.skin-theme-clientpref-night .infobox.ve-infobox-country .infobox-above {
    background: rgba(54, 121, 204, 0.3) !important;
    color: #fff !important;
}
.infobox.ve-infobox-country .infobox-image img {
    background: transparent !important;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.2));
}
/* ================================================= */
/* --- 23. 修复 Infobox 顶栏边框间隙与露底问题 --- */
/* ================================================= */
.infobox.ve-infobox-country tbody {
    background-color: transparent !important;
    border: none !important;
}
.infobox.ve-infobox-country {
    border-spacing: 0 !important;
    border-collapse: separate !important; 
    background-color: transparent !important;
}
.infobox.ve-infobox-country .infobox-above {
    margin: 0 !important;
    border-top-left-radius: 12px !important; 
    border-top-right-radius: 12px !important;
    border: none !important;
    display: table-cell !important; 
}
.infobox.ve-infobox-country tr:first-child th,
.infobox.ve-infobox-country tr:first-child td {
    border-top: none !important;
}
/* ================================================= */
/* --- 24. 恢复中段标题颜色(同步 Section 15 & 17) --- */
/* ================================================= */
.infobox.ve-infobox-country .infobox-header {
    background-color: rgba(54, 121, 204, 0.1) !important; 
    color: var(--color-primary, #36c) !important;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    font-weight: bold !important;
    text-align: center !important;
    border-top: 1px solid rgba(128, 128, 128, 0.1) !important;
    border-bottom: 1px solid rgba(128, 128, 128, 0.1) !important;
}
html.skin-theme-clientpref-night .infobox.ve-infobox-country .infobox-header {
    background-color: rgba(54, 121, 204, 0.1) !important;
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
/* ================================================= */
/* --- 25. Basic 模式适配:移除毛玻璃,改为实色 --- */
/* ================================================= */
html[class*="citizen-feature-performance-mode-clientpref-1"] .infobox.ve-infobox-country {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-color: var(--color-surface-1, #ffffff) !important;
    border: 1px solid rgba(128, 128, 128, 0.3) !important;
    box-shadow: none !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"] .infobox.ve-infobox-country .infobox-above {
    background-color: #CCEEFF !important;
    color: #004466 !important;
    text-shadow: none !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"] .infobox.ve-infobox-country .infobox-header {
    background-color: #F3F3F3 !important;
    color: var(--color-base-0) !important;
    backdrop-filter: none !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox.ve-infobox-country {
    background-color: #242526 !important; 
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox.ve-infobox-country .infobox-above {
    background-color: #1a3a5a !important; 
    color: #ffffff !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox.ve-infobox-country .infobox-header {
    background-color: #2a2a2a !important;
    color: #eaecf0 !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox.ve-infobox-country tr th,
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox.ve-infobox-country tr td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox.ve-infobox-country tr:last-child th,
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox.ve-infobox-country tr:last-child td {
    border-bottom: none !important;
}
html[class*="citizen-feature-performance-mode-clientpref-1"].skin-theme-clientpref-night .infobox.ve-infobox-country .infobox-header {
    border-top: 1px solid rgba(0, 0, 0, 0.3) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3) !important;
}
/* ================================================= */
/* --- 综合优化版:液态光影 + 弹性动画 + 毛玻璃锁定 --- */
/* ================================================= */
/* 1. 基础容器:针对目录和搜索框保持隐藏,但针对侧栏组件放开溢出 */
.citizen-toc-card, 
.citizen-command-palette, 
.infobox {
    position: relative !important;
    overflow: hidden !important; /* 只有这些需要切割光影的组件保持隐藏 */
}

/* 侧栏弹出菜单:必须允许溢出,否则菜单显示不全 */
.citizen-menu__card {
    position: relative !important;
    overflow: visible !important; /* 关键修复:允许菜单弹出侧栏边界 */
    opacity: 1 !important;
    background-image: none !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
}

/* 2. 内部光效层:针对允许溢出的组件,需要单独处理伪元素的圆角和范围 */
.citizen-menu__card::before,
.citizen-toc-card::before,
.citizen-command-palette::before,
.infobox::before {
    content: "" !important;
    position: absolute;
    inset: -1px;
    border: 2px solid transparent;
    background: radial-gradient(
        180px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), 
        rgba(255, 255, 255, 0.95) 0%,   
        rgba(255, 255, 255, 0.3) 40%, 
        transparent 80%
    ) border-box !important;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-clip: content-box, border-box;
    -webkit-mask-composite: source-out; 
    mask-composite: subtract;
    mix-blend-mode: screen !important;
    z-index: 10;
    pointer-events: none;
}

/* 3. 针对侧栏底部按钮(设置、用户等)的专项位置修复 */
/* 确保弹出层不会被侧栏本身的 z-index 压住 */
.citizen-drawer__footer .citizen-menu__card {
    position: absolute !important;
    z-index: 999 !important;
    left: 100% !important; /* 让它弹到侧栏右侧,而不是重叠在侧栏里 */
    bottom: 0 !important;
    margin-left: 10px;
}

/* 4. Basic 模式强力自毁(实体化、无透明) */
html.skin-citizen-basic .citizen-menu__card,
html.skin-citizen-basic .citizen-toc-card {
    background-color: var(--color-surface-2) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: auto !important; /* Basic模式恢复默认滚动 */
}

html.skin-citizen-basic .citizen-menu__card::before,
html.skin-citizen-basic .citizen-menu__card::after {
    display: none !important;
}