MediaWiki:Homepage.css:修订间差异
MediaWiki界面页面
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
/* Blockland | /* Blockland 首页专用样式:第一阶段分离版,保留原规则顺序与外观。 */ | ||
/* ========== Blockland Main Page ========== */ | |||
. | /* ========== Blockland Main Page ========== */ | ||
-- | |||
-- | .bl-mainpage { | ||
-- | max-width: 1240px; | ||
-- | margin: 0 auto; | ||
-- | padding: 0.5rem 0 1.5rem 0; | ||
-- | color: #202122; | ||
-- | } | ||
width: 100%; margin: 0; padding: 0; color: | |||
font-size: 14px; line-height: 1. | /* ===== 顶部横幅 ===== */ | ||
.bl-hero { | |||
margin-bottom: 28px; | |||
border-radius: 20px; | |||
background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 50%, #dbeafe 100%); | |||
border: 1px solid #c7d2fe; | |||
} | |||
.bl-hero-inner { | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
gap: 24px; | |||
padding: 32px 36px; | |||
} | |||
.bl-hero-text { | |||
flex: 1 1 auto; | |||
min-width: 0; | |||
} | |||
.bl-hero-kicker { | |||
display: flex; | |||
align-items: center; | |||
gap: 10px; | |||
font-size: 0.85em; | |||
font-weight: 600; | |||
letter-spacing: 0.08em; | |||
color: #6b7280; | |||
text-transform: uppercase; | |||
margin-bottom: 14px; | |||
} | |||
.bl-hero-kicker img { | |||
border-radius: 8px; | |||
} | |||
.bl-hero-title { | |||
font-size: 2.2em; | |||
font-weight: 800; | |||
line-height: 1.2; | |||
color: #1f2937; | |||
margin-bottom: 12px; | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; | |||
} | |||
.bl-hero-desc { | |||
font-size: 1em; | |||
color: #4b5563; | |||
line-height: 1.7; | |||
margin-bottom: 20px; | |||
max-width: 520px; | |||
} | |||
.bl-hero-actions { | |||
display: flex; | |||
gap: 12px; | |||
flex-wrap: wrap; | |||
} | |||
.bl-btn { | |||
display: inline-block; | |||
padding: 10px 24px; | |||
border-radius: 10px; | |||
font-size: 0.95em; | |||
font-weight: 600; | |||
text-decoration: none !important; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-btn a { | |||
color: inherit !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-btn-primary { | |||
background: linear-gradient(135deg, #6366f1, #8b5cf6); | |||
color: #fff !important; | |||
box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35); | |||
} | |||
.bl-btn-primary:hover { | |||
transform: translateY(-2px); | |||
box-shadow: 0 8px 25px rgba(99, 102, 241, 0.45); | |||
} | |||
.bl-btn-secondary { | |||
background: rgba(255, 255, 255, 0.8); | |||
color: #374151 !important; | |||
border: 1px solid #d1d5db; | |||
} | |||
.bl-btn-secondary:hover { | |||
background: #fff; | |||
transform: translateY(-2px); | |||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); | |||
} | |||
/* 条目统计 */ | |||
.bl-stat { | |||
flex: 0 0 200px; | |||
text-align: center; | |||
padding: 22px 20px; | |||
background: rgba(255, 255, 255, 0.7); | |||
border: 1px solid #c7d2fe; | |||
border-radius: 16px; | |||
align-self: center; | |||
} | |||
.bl-stat-icon { | |||
font-size: 1.6em; | |||
color: #6366f1; | |||
margin-bottom: 8px; | |||
} | |||
.bl-stat-label { | |||
font-size: 0.85em; | |||
color: #6b7280; | |||
margin-bottom: 6px; | |||
letter-spacing: 0.05em; | |||
} | |||
.bl-stat-number { | |||
font-size: 2.2em; | |||
font-weight: 800; | |||
line-height: 1.1; | |||
color: #4f46e5; | |||
} | |||
.bl-stat-number a { | |||
color: #4f46e5 !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-stat-number a:hover { | |||
color: #6366f1 !important; | |||
text-decoration: underline !important; | |||
} | |||
.bl-stat-note { | |||
margin-top: 8px; | |||
font-size: 0.8em; | |||
color: #9ca3af; | |||
} | |||
/* ============================================= | |||
Hero 内嵌搜索栏 | |||
============================================= */ | |||
.bl-hero-search { | |||
padding: 0 36px 2px; | |||
} | |||
.bl-hero-search-form { | |||
display: flex; | |||
gap: 10px; | |||
align-items: center; | |||
background: rgba(255, 255, 255, 0.85); | |||
border: 1px solid #c7d2fe; | |||
border-radius: 14px; | |||
padding: 6px 6px 0 20px; | |||
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04); | |||
transition: all 0.2s ease; | |||
backdrop-filter: blur(8px); | |||
} | |||
.bl-hero-search-form:focus-within { | |||
border-color: #6366f1; | |||
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15); | |||
} | |||
.bl-hero-search-input { | |||
flex: 1; | |||
border: none; | |||
outline: none; | |||
font-size: 0.95em; | |||
padding: 10px 0; | |||
color: #374151; | |||
background: transparent; | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; | |||
} | |||
.bl-hero-search-input::placeholder { | |||
color: #9ca3af; | |||
} | |||
.bl-hero-search-btn { | |||
display: inline-flex; | |||
align-items: center; | |||
gap: 6px; | |||
padding: 10px 22px; | |||
background: linear-gradient(135deg, #6366f1, #8b5cf6); | |||
color: #fff; | |||
border: none; | |||
border-radius: 10px; | |||
font-size: 0.9em; | |||
font-weight: 600; | |||
cursor: pointer; | |||
transition: all 0.2s ease; | |||
white-space: nowrap; | |||
} | |||
.bl-hero-search-btn:hover { | |||
transform: translateY(-1px); | |||
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.35); | |||
} | |||
.bl-hero-create-btn { | |||
display: inline-flex; | |||
align-items: center; | |||
gap: 6px; | |||
padding: 10px 18px; | |||
background: rgba(255, 255, 255, 0.9); | |||
color: #16a34a; | |||
border: 1px solid #bbf7d0; | |||
border-radius: 10px; | |||
font-size: 0.9em; | |||
font-weight: 600; | |||
text-decoration: none !important; | |||
transition: all 0.2s ease; | |||
white-space: nowrap; | |||
} | |||
.bl-hero-create-btn:hover { | |||
background: #f0fdf4; | |||
transform: translateY(-1px); | |||
} | |||
/* ============================================= | |||
Hero 内嵌统计栏 | |||
============================================= */ | |||
.bl-hero-stats { | |||
display: flex; | |||
gap: 8px; | |||
padding: 16px 36px 16px; | |||
margin-bottom: 16px; | |||
flex-wrap: wrap; | |||
} | |||
.bl-hero-stat { | |||
display: flex; | |||
align-items: center; | |||
gap: 8px; | |||
padding: 8px 14px; | |||
background: rgba(255, 255, 255, 0.6); | |||
border: 1px solid rgba(199, 210, 254, 0.5); | |||
border-radius: 10px; | |||
flex: 1 0 auto; | |||
min-width: 90px; | |||
max-width: 160px; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-hero-stat:hover { | |||
background: rgba(255, 255, 255, 0.85); | |||
border-color: #6366f1; | |||
} | |||
.bl-hero-stat-icon { | |||
font-size: 1.2em; | |||
color: #6366f1; | |||
flex: 0 0 auto; | |||
line-height: 1; | |||
} | |||
.bl-hero-stat-info { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 0; | |||
} | |||
.bl-hero-stat-number { | |||
font-size: 1em; | |||
font-weight: 800; | |||
color: #1f2937; | |||
line-height: 1.2; | |||
} | |||
.bl-hero-stat-number a { | |||
color: #1f2937 !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-hero-stat-number a:hover { | |||
color: #6366f1 !important; | |||
} | |||
.bl-hero-stat-label { | |||
font-size: 0.65em; | |||
color: #9ca3af; | |||
letter-spacing: 0.03em; | |||
text-transform: uppercase; | |||
} | |||
/* ----- Hero 统计栏 · 主站入口卡片 ----- */ | |||
.bl-hero-stat-site { | |||
display: flex; | |||
align-items: center; | |||
gap: 8px; | |||
padding: 8px 14px; | |||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |||
border: none; | |||
border-radius: 10px; | |||
flex: 1 0 auto; | |||
min-width: 90px; | |||
max-width: 160px; | |||
transition: all 0.25s ease; | |||
cursor: pointer; | |||
text-decoration: none !important; | |||
} | |||
.bl-hero-stat-site:hover { | |||
transform: translateY(-2px); | |||
box-shadow: 0 4px 16px rgba(102, 126, 234, 0.45); | |||
} | |||
.bl-hero-stat-site .bl-hero-stat-icon { | |||
color: rgba(255, 255, 255, 0.9); | |||
} | |||
.bl-hero-stat-site .bl-hero-stat-number { | |||
color: #fff; | |||
} | |||
.bl-hero-stat-site .bl-hero-stat-label { | |||
color: rgba(255, 255, 255, 0.7); | |||
} | |||
/* ============================================= | |||
Hero 内嵌快捷入口 | |||
============================================= */ | |||
.bl-hero-links { | |||
display: flex; | |||
gap: 6px; | |||
padding: 12px 36px 28px; | |||
flex-wrap: wrap; | |||
} | |||
.bl-hero-link { | |||
display: inline-flex; | |||
align-items: center; | |||
gap: 6px; | |||
padding: 8px 16px; | |||
background: rgba(255, 255, 255, 0.5); | |||
border: 1px solid rgba(199, 210, 254, 0.4); | |||
border-radius: 10px; | |||
font-size: 0.85em; | |||
font-weight: 600; | |||
color: #4b5563; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-hero-link:hover { | |||
background: rgba(255, 255, 255, 0.85); | |||
border-color: #6366f1; | |||
transform: translateY(-2px); | |||
} | |||
.bl-hero-link i { | |||
font-size: 1.15em; | |||
color: #6366f1; | |||
} | |||
.bl-hero-link a { | |||
color: #4b5563 !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-hero-link a:hover { | |||
color: #4f46e5 !important; | |||
} | |||
/* ===== 快捷入口栏 ===== */ | |||
.bl-quick-bar { | |||
display: flex; | |||
gap: 12px; | |||
margin-bottom: 28px; | |||
justify-content: center; | |||
flex-wrap: wrap; | |||
} | |||
.bl-quick-item { | |||
display: flex; | |||
flex-direction: column; | |||
align-items: center; | |||
gap: 6px; | |||
padding: 14px 18px; | |||
background: #fff; | |||
border: 1px solid #e5e7eb; | |||
border-radius: 14px; | |||
min-width: 80px; | |||
transition: all 0.2s ease; | |||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04); | |||
} | |||
.bl-quick-item:hover { | |||
transform: translateY(-4px); | |||
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08); | |||
border-color: #6366f1; | |||
} | |||
.bl-quick-item i { | |||
font-size: 1.5em; | |||
color: #6366f1; | |||
transition: transform 0.2s ease; | |||
} | |||
.bl-quick-item:hover i { | |||
transform: scale(1.15); | |||
} | |||
.bl-quick-item span { | |||
font-size: 0.82em; | |||
font-weight: 600; | |||
color: #374151; | |||
} | |||
.bl-quick-item span a { | |||
color: #374151 !important; | |||
text-decoration: none !important; | |||
} | |||
/* ===== 主体布局 ===== */ | |||
.bl-grid { | |||
display: flex; | |||
gap: 24px; | |||
align-items: flex-start; | |||
} | |||
.bl-maincol { | |||
flex: 1 1 auto; | |||
min-width: 0; | |||
} | |||
.bl-sidecol { | |||
flex: 0 0 320px; | |||
} | |||
/* ===== 卡片 ===== */ | |||
.bl-box { | |||
margin-bottom: 22px; | |||
background: #fff; | |||
border: 1px solid #e5e7eb; | |||
border-radius: 16px; | |||
overflow: hidden; | |||
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04); | |||
} | |||
.bl-box-header { | |||
display: flex; | |||
align-items: center; | |||
gap: 10px; | |||
padding: 14px 18px; | |||
background: #f9fafb; | |||
border-bottom: 1px solid #e5e7eb; | |||
} | |||
.bl-box-icon { | |||
font-size: 1.2em; | |||
color: #6366f1; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.bl-box-title { | |||
flex: 1; | |||
font-size: 1em; | |||
font-weight: 700; | |||
color: #1f2937; | |||
letter-spacing: 0.02em; | |||
} | |||
.bl-box-badge { | |||
font-size: 0.65em; | |||
font-weight: 700; | |||
letter-spacing: 0.08em; | |||
padding: 3px 10px; | |||
border-radius: 20px; | |||
background: linear-gradient(135deg, #6366f1, #8b5cf6); | |||
color: #fff; | |||
text-transform: uppercase; | |||
} | |||
.bl-box-body { | |||
padding: 16px 18px; | |||
} | |||
/* ===== 地图容器 ===== */ | |||
.bl-map-wrap { | |||
padding: 12px; | |||
background: #f9fafb; | |||
border: 1px dashed #d1d5db; | |||
border-radius: 10px; | |||
text-align: center; | |||
min-height: 320px; | |||
} | |||
.bl-map-wrap img, | |||
.bl-map-wrap svg { | |||
max-width: 100%; | |||
height: auto; | |||
} | |||
/* ===== 冷知识列表 ===== */ | |||
.bl-list-trivia { | |||
list-style: none; | |||
padding: 0; | |||
margin: 0; | |||
} | |||
.bl-list-trivia li { | |||
display: flex; | |||
gap: 14px; | |||
padding: 14px 0; | |||
border-bottom: 1px solid #f3f4f6; | |||
margin-bottom: 0; | |||
background: transparent !important; | |||
border-left: 0 !important; | |||
border-right: 0 !important; | |||
border-top: 0 !important; | |||
box-shadow: none !important; | |||
} | |||
.bl-list-trivia li:last-child { | |||
border-bottom: none; | |||
} | |||
.bl-trivia-marker { | |||
flex: 0 0 32px; | |||
height: 32px; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
background: linear-gradient(135deg, #6366f1, #8b5cf6); | |||
color: #fff; | |||
font-size: 0.75em; | |||
font-weight: 800; | |||
border-radius: 10px; | |||
margin-top: 2px; | |||
} | |||
.bl-trivia-text { | |||
flex: 1; | |||
font-size: 0.92em; | |||
line-height: 1.7; | |||
color: #4b5563; | |||
} | |||
/* ===== 管理组名单 ===== */ | |||
.bl-team-grid { | |||
display: grid; | |||
grid-template-columns: repeat(4, 1fr); | |||
gap: 12px; | |||
} | |||
.bl-team-card { | |||
display: flex; | |||
flex-direction: column; | |||
align-items: center; | |||
text-align: center; | |||
gap: 6px; | |||
padding: 18px 10px 14px; | |||
background: #f9fafb; | |||
border: 1px solid #e5e7eb; | |||
border-radius: 14px; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-team-card:hover { | |||
border-color: #6366f1; | |||
box-shadow: 0 4px 20px rgba(99, 102, 241, 0.12); | |||
transform: translateY(-2px); | |||
} | |||
.bl-team-avatar { | |||
width: 64px; | |||
height: 64px; | |||
border-radius: 50%; | |||
overflow: hidden; | |||
border: 2px solid #e5e7eb; | |||
flex-shrink: 0; | |||
transition: border-color 0.2s ease; | |||
} | |||
.bl-team-card:hover .bl-team-avatar { | |||
border-color: #6366f1; | |||
} | |||
.bl-team-avatar img { | |||
width: 100%; | |||
height: 100%; | |||
object-fit: cover; | |||
display: block; | |||
} | |||
.bl-team-name { | |||
font-size: 0.92em; | |||
font-weight: 700; | |||
color: #1f2937; | |||
margin-top: 4px; | |||
line-height: 1.3; | |||
word-break: break-word; | |||
} | |||
.bl-team-tag { | |||
font-size: 0.7em; | |||
font-weight: 600; | |||
letter-spacing: 0.03em; | |||
padding: 2px 10px; | |||
border-radius: 6px; | |||
background: linear-gradient(135deg, #6366f1, #8b5cf6); | |||
color: #fff; | |||
white-space: nowrap; | |||
} | |||
.bl-team-social { | |||
display: inline-flex; | |||
align-items: center; | |||
gap: 3px; | |||
margin-top: 2px; | |||
font-size: 0.78em; | |||
color: #4f46e5 !important; | |||
text-decoration: none !important; | |||
font-weight: 600; | |||
} | |||
.bl-team-social:hover { | |||
color: #6366f1 !important; | |||
text-decoration: underline !important; | |||
} | |||
/* 管理组响应式 */ | |||
@media (max-width: 980px) { | |||
.bl-team-grid { | |||
grid-template-columns: repeat(2, 1fr); | |||
} | |||
} | |||
@media (max-width: 640px) { | |||
.bl-team-grid { | |||
grid-template-columns: 1fr; | |||
} | |||
} | |||
/* ===== 导航网格 ===== */ | |||
.bl-navgrid { | |||
display: grid; | |||
grid-template-columns: 1fr 1fr; | |||
gap: 10px; | |||
} | |||
.bl-navitem { | |||
padding: 12px 14px; | |||
background: #f9fafb; | |||
border: 1px solid #e5e7eb; | |||
border-radius: 10px; | |||
text-align: center; | |||
font-weight: 600; | |||
font-size: 0.92em; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-navitem:hover { | |||
background: linear-gradient(135deg, #6366f1, #8b5cf6); | |||
border-color: #6366f1; | |||
transform: translateY(-2px); | |||
box-shadow: 0 6px 20px rgba(99, 102, 241, 0.2); | |||
} | |||
.bl-navitem a { | |||
display: block; | |||
color: #374151 !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-navitem:hover a { | |||
color: #fff !important; | |||
} | |||
/* ===== 推荐阅读列表 ===== */ | |||
.bl-rec-list { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 10px; | |||
} | |||
.bl-rec-item { | |||
display: flex; | |||
align-items: center; | |||
gap: 12px; | |||
padding: 10px 12px; | |||
background: #f9fafb; | |||
border: 1px solid #e5e7eb; | |||
border-radius: 10px; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-rec-item:hover { | |||
background: #fff; | |||
border-color: #6366f1; | |||
transform: translateX(4px); | |||
box-shadow: 0 4px 16px rgba(99, 102, 241, 0.1); | |||
} | |||
.bl-rec-text { | |||
flex: 1; | |||
min-width: 0; | |||
} | |||
.bl-rec-name { | |||
font-weight: 700; | |||
font-size: 0.92em; | |||
color: #374151; | |||
} | |||
.bl-rec-name a { | |||
color: #374151 !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-rec-name a:hover { | |||
color: #6366f1 !important; | |||
} | |||
.bl-rec-desc { | |||
font-size: 0.78em; | |||
color: #9ca3af; | |||
margin-top: 2px; | |||
} | |||
/* ===== 典范条目 ===== */ | |||
.bl-featured-grid { | |||
display: grid; | |||
grid-template-columns: 1fr 1fr; | |||
gap: 20px; | |||
} | |||
.bl-featured-grid .bl-featured-img img { | |||
aspect-ratio: 4 / 3; | |||
width: 100%; | |||
object-fit: cover; | |||
border-radius: 10px; | |||
display: block; | |||
} | |||
.bl-featured-grid .bl-featured-desc { | |||
display: -webkit-box; | |||
-webkit-line-clamp: 4; | |||
-webkit-box-orient: vertical; | |||
overflow: hidden; | |||
} | |||
.bl-featured { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 10px; | |||
} | |||
.bl-featured-img { | |||
text-align: center; | |||
border-radius: 10px; | |||
overflow: hidden; | |||
} | |||
.bl-featured-img img { | |||
width: 100%; | |||
height: auto; | |||
border-radius: 10px; | |||
display: block; | |||
} | |||
.bl-featured-title { | |||
font-size: 1.05em; | |||
font-weight: 700; | |||
color: #1f2937; | |||
line-height: 1.4; | |||
} | |||
.bl-featured-title a { | |||
color: #1f2937 !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-featured-title a:hover { | |||
color: #6366f1 !important; | |||
text-decoration: underline !important; | |||
} | |||
.bl-featured-desc { | |||
font-size: 0.85em; | |||
line-height: 1.7; | |||
color: #4b5563; | |||
} | |||
.bl-featured-link { | |||
font-size: 0.85em; | |||
font-weight: 600; | |||
} | |||
.bl-featured-link a { | |||
color: #4f46e5 !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-featured-link a:hover { | |||
color: #6366f1 !important; | |||
text-decoration: underline !important; | |||
} | |||
/* ===== 纯文本说明 ===== */ | |||
.bl-plaintext, | |||
.bl-plaintext p, | |||
.bl-box-body p { | |||
background: transparent !important; | |||
border: 0 !important; | |||
box-shadow: none !important; | |||
outline: 0 !important; | |||
padding: 0 !important; | |||
margin: 0 0 0.8em 0; | |||
color: #4b5563; | |||
line-height: 1.7; | |||
display: block; | |||
} | |||
/* ===== 通用列表 ===== */ | |||
.bl-list { | |||
margin: 0; | |||
padding-left: 1.35em; | |||
} | |||
.bl-list li { | |||
margin-bottom: 0.55em; | |||
background: transparent !important; | |||
border: 0 !important; | |||
box-shadow: none !important; | |||
} | } | ||
- | /* ===== 页脚导航 ===== */ | ||
.bl-footer-nav { | |||
margin-top: 24px; | |||
} | } | ||
.bl-footer-nav > * + * { | |||
margin-top: 14px; | |||
} | |||
/* ===== 隐藏首页标题 ===== */ | |||
.page-Main_Page #firstHeading, | |||
.page-首页 #firstHeading { | |||
display: none; | |||
} | |||
/* ============================================= | |||
深色模式兼容(补充 Citizen.css 未覆盖的新组件) | |||
============================================= */ | |||
/* ----- 手动深色模式 (night) ----- */ | |||
/* Hero 描述文字 */ | |||
html.skin-theme-clientpref-night .bl-hero-desc { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | |||
/* Hero 按钮 */ | |||
html.skin-theme-clientpref-night .bl-btn-secondary { | |||
background: rgba(255, 255, 255, 0.08) !important; | |||
border-color: rgba(255, 255, 255, 0.2) !important; | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-btn-secondary:hover { | |||
background: rgba(255, 255, 255, 0.15) !important; | |||
} | |||
/* 统计图标 */ | |||
html.skin-theme-clientpref-night .bl-stat-icon { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
/* 快捷入口栏 */ | |||
html.skin-theme-clientpref-night .bl-quick-item { | |||
background: var(--color-surface-1, #202122) !important; | |||
border-color: rgba(255, 255, 255, 0.1) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-quick-item i { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-quick-item span, | |||
html.skin-theme-clientpref-night .bl-quick-item span a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-quick-item:hover { | |||
border-color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
/* 卡片头部 */ | |||
html.skin-theme-clientpref-night .bl-box-header { | |||
background: var(--color-surface-2, #2d2e2f) !important; | |||
border-bottom-color: rgba(255, 255, 255, 0.1) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-box-icon { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
/* 冷知识列表 */ | |||
html.skin-theme-clientpref-night .bl-list-trivia li { | |||
border-bottom-color: rgba(255, 255, 255, 0.08) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-trivia-text { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | |||
/* 推荐阅读列表 */ | |||
html.skin-theme-clientpref-night .bl-rec-item { | |||
background: var(--color-surface-1, #202122) !important; | |||
border-color: rgba(255, 255, 255, 0.08) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-rec-item:hover { | |||
background: var(--color-surface-2, #2d2e2f) !important; | |||
border-color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-rec-name, | |||
html.skin-theme-clientpref-night .bl-rec-name a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-rec-name a:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-rec-desc { | |||
color: var(--color-base-30, #a0a0a0) !important; | |||
} | |||
/* 典范条目 */ | |||
html.skin-theme-clientpref-night .bl-featured-title, | |||
html.skin-theme-clientpref-night .bl-featured-title a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-featured-title a:hover { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-featured-desc { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-featured-link a { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-featured-link a:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
/* 纯文本说明 */ | |||
html.skin-theme-clientpref-night .bl-plaintext, | |||
html.skin-theme-clientpref-night .bl-plaintext p, | |||
html.skin-theme-clientpref-night .bl-box-body p { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | |||
/* 地图容器 */ | |||
html.skin-theme-clientpref-night .bl-map-wrap { | |||
background: var(--color-surface-1, #202122) !important; | |||
border-color: rgba(255, 255, 255, 0.15) !important; | |||
} | |||
/* 管理组名单 */ | |||
html.skin-theme-clientpref-night .bl-team-card { | |||
background: var(--color-surface-1, #202122) !important; | |||
border-color: rgba(255, 255, 255, 0.1) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-team-card:hover { | |||
border-color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-team-avatar { | |||
border-color: rgba(255, 255, 255, 0.15) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-team-card:hover .bl-team-avatar { | |||
border-color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-team-name { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-team-social { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-team-social:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
/* ----- 系统深色模式 (os) ----- */ | |||
@media (prefers-color-scheme: dark) { | @media (prefers-color-scheme: dark) { | ||
html.skin-theme-clientpref-os . | html.skin-theme-clientpref-os .bl-hero-desc { | ||
-- | color: var(--color-base-0, #c8ccd1) !important; | ||
-- | } | ||
html.skin-theme-clientpref-os .bl-btn-secondary { | |||
background: rgba(255, 255, 255, 0.08) !important; | |||
border-color: rgba(255, 255, 255, 0.2) !important; | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-btn-secondary:hover { | |||
background: rgba(255, 255, 255, 0.15) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-stat-icon { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-quick-item { | |||
background: var(--color-surface-1, #202122) !important; | |||
border-color: rgba(255, 255, 255, 0.1) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-quick-item i { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-quick-item span, | |||
html.skin-theme-clientpref-os .bl-quick-item span a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-quick-item:hover { | |||
border-color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-box-header { | |||
background: var(--color-surface-2, #2d2e2f) !important; | |||
border-bottom-color: rgba(255, 255, 255, 0.1) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-box-icon { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-list-trivia li { | |||
border-bottom-color: rgba(255, 255, 255, 0.08) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-trivia-text { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-rec-item { | |||
background: var(--color-surface-1, #202122) !important; | |||
border-color: rgba(255, 255, 255, 0.08) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-rec-item:hover { | |||
background: var(--color-surface-2, #2d2e2f) !important; | |||
border-color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-rec-name, | |||
html.skin-theme-clientpref-os .bl-rec-name a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-rec-name a:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-rec-desc { | |||
color: var(--color-base-30, #a0a0a0) !important; | |||
} | |||
/* 典范条目 */ | |||
html.skin-theme-clientpref-os .bl-featured-title, | |||
html.skin-theme-clientpref-os .bl-featured-title a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-featured-title a:hover { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-featured-desc { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-featured-link a { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-featured-link a:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-plaintext, | |||
html.skin-theme-clientpref-os .bl-plaintext p, | |||
html.skin-theme-clientpref-os .bl-box-body p { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-map-wrap { | |||
background: var(--color-surface-1, #202122) !important; | |||
border-color: rgba(255, 255, 255, 0.15) !important; | |||
} | |||
/* 管理组名单 */ | |||
html.skin-theme-clientpref-os .bl-team-card { | |||
background: var(--color-surface-1, #202122) !important; | |||
border-color: rgba(255, 255, 255, 0.1) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-team-card:hover { | |||
border-color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-team-avatar { | |||
border-color: rgba(255, 255, 255, 0.15) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-team-card:hover .bl-team-avatar { | |||
border-color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-team-name { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-team-social { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-team-social:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
} | |||
/* ===== 响应式:平板 ===== */ | |||
@media (max-width: 980px) { | |||
.bl-grid { | |||
display: block; | |||
} | |||
.bl-sidecol { | |||
margin-top: 18px; | |||
} | |||
.bl-hero-inner { | |||
flex-direction: column; | |||
text-align: center; | |||
padding: 28px 24px; | |||
} | |||
.bl-hero-desc { | |||
max-width: 100%; | |||
} | |||
.bl-hero-actions { | |||
justify-content: center; | |||
} | |||
.bl-stat { | |||
flex: none; | |||
width: 100%; | |||
max-width: 260px; | |||
} | |||
.bl-quick-bar { | |||
gap: 8px; | |||
} | |||
.bl-quick-item { | |||
min-width: 70px; | |||
padding: 10px 14px; | |||
} | |||
.bl-search-form { | |||
flex-wrap: wrap; | |||
padding: 10px; | |||
} | |||
.bl-search-input { | |||
width: 100%; | |||
flex: 1 1 100%; | |||
padding: 8px 4px; | |||
} | |||
.bl-search-btn, | |||
.bl-create-btn { | |||
flex: 1; | |||
justify-content: center; | |||
} | |||
.bl-stats-bar { | |||
gap: 8px; | |||
} | |||
.bl-stats-item { | |||
min-width: 80px; | |||
max-width: 160px; | |||
padding: 10px 14px; | |||
} | |||
.bl-hero-search { | |||
padding: 0 24px 2px; | |||
} | |||
.bl-hero-stats { | |||
padding: 16px 24px 16px; | |||
justify-content: center; | |||
} | |||
.bl-hero-stat { | |||
min-width: 75px; | |||
max-width: 130px; | |||
padding: 6px 10px; | |||
} | |||
.bl-hero-stat-icon { | |||
font-size: 1em; | |||
} | |||
.bl-hero-stat-number { | |||
font-size: 0.85em; | |||
} | |||
.bl-hero-stat-site { | |||
min-width: 75px; | |||
max-width: 130px; | |||
padding: 6px 10px; | |||
} | |||
.bl-hero-links { | |||
padding: 12px 24px 24px; | |||
justify-content: center; | |||
} | |||
.bl-hero-link { | |||
padding: 6px 12px; | |||
font-size: 0.78em; | |||
} | } | ||
} | } | ||
/* | /* ===== 响应式:手机 ===== */ | ||
@media (max-width: 700px) { | |||
.bl-hero-title { | |||
font-size: 1.5em; | |||
} | |||
. | .bl-hero-desc { | ||
. | font-size: 0.92em; | ||
} | |||
. | |||
.bl-hero-inner { | |||
padding: 22px 18px; | |||
. | } | ||
.bl-stat { | |||
padding: 16px; | |||
} | |||
. | |||
.bl-stat-number { | |||
font-size: 1.8em; | |||
} | |||
/* | .bl-quick-bar { | ||
gap: 6px; | |||
. | } | ||
. | |||
. | .bl-quick-item { | ||
. | min-width: 56px; | ||
. | padding: 8px 10px; | ||
} | |||
.bl-quick-item i { | |||
font-size: 1.2em; | |||
} | |||
.bl-quick-item span { | |||
font-size: 0.7em; | |||
} | |||
.bl-navgrid { | |||
grid-template-columns: 1fr; | |||
} | |||
.bl-box-header { | |||
padding: 12px 14px; | |||
} | |||
.bl-box-body { | |||
padding: 12px 14px; | |||
} | |||
.bl-trivia-marker { | |||
flex: 0 0 26px; | |||
height: 26px; | |||
font-size: 0.65em; | |||
} | |||
.bl-trivia-text { | |||
font-size: 0.85em; | |||
} | |||
.bl-search-form { | |||
flex-direction: column; | |||
padding: 8px; | |||
gap: 8px; | |||
} | |||
.bl-search-input { | |||
width: 100%; | |||
flex: none; | |||
padding: 10px 4px; | |||
} | |||
.bl-search-btn, | |||
.bl-create-btn { | |||
width: 100%; | |||
justify-content: center; | |||
} | |||
.bl-stats-bar { | |||
gap: 6px; | |||
} | |||
.bl-stats-item { | |||
min-width: 70px; | |||
max-width: 140px; | |||
padding: 8px 10px; | |||
gap: 6px; | |||
} | |||
.bl-stats-icon { | |||
font-size: 1.1em; | |||
} | |||
.bl-stats-number { | |||
font-size: 1em; | |||
} | |||
.bl-hero-search { | |||
padding: 0 18px 2px; | |||
} | |||
.bl-hero-search-form { | |||
flex-direction: column; | |||
padding: 8px; | |||
gap: 8px; | |||
} | |||
.bl-hero-search-input { | |||
width: 100%; | |||
flex: none; | |||
padding: 10px 4px; | |||
} | |||
.bl-hero-search-btn, | |||
.bl-hero-create-btn { | |||
width: 100%; | |||
justify-content: center; | |||
} | |||
.bl-hero-stats { | |||
padding: 16px 18px 16px; | |||
gap: 6px; | |||
justify-content: center; | |||
} | |||
.bl-hero-stat { | |||
min-width: 60px; | |||
max-width: 110px; | |||
padding: 5px 8px; | |||
gap: 5px; | |||
} | |||
.bl-hero-stat-site { | |||
min-width: 60px; | |||
max-width: 110px; | |||
padding: 5px 8px; | |||
} | |||
.bl-hero-stat-icon { | |||
font-size: 0.9em; | |||
} | |||
.bl-hero-stat-number { | |||
font-size: 0.78em; | |||
} | |||
.bl-hero-stat-label { | |||
font-size: 0.55em; | |||
} | |||
.bl-hero-links { | |||
padding: 8px 18px 20px; | |||
gap: 4px; | |||
justify-content: center; | |||
} | |||
.bl-hero-link { | |||
padding: 5px 10px; | |||
font-size: 0.72em; | |||
gap: 4px; | |||
} | |||
.bl-hero-link i { | |||
font-size: 1em; | |||
} | |||
.bl-news-item { | |||
flex-direction: column; | |||
gap: 4px; | |||
} | |||
.bl-news-date { | |||
flex: none; | |||
} | |||
} | |||
/* 让 .bl-mainpage 占据全宽 */ | |||
.bl-mainpage { | |||
max-width: 100% !important; | |||
width: 100% !important; | |||
margin-left: 0 !important; | |||
margin-right: 0 !important; | |||
padding-left: 0 !important; | |||
padding-right: 0 !important; | |||
} | |||
/* ============================================= | |||
搜索与创建栏 | |||
============================================= */ | |||
.bl-search-bar { | |||
margin-bottom: 20px; | |||
} | |||
.bl-search-form { | |||
display: flex; | |||
gap: 10px; | |||
align-items: center; | |||
background: #fff; | |||
border: 1px solid #e5e7eb; | |||
border-radius: 14px; | |||
padding: 6px 6px 6px 18px; | |||
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04); | |||
transition: all 0.2s ease; | |||
} | |||
.bl-search-form:focus-within { | |||
border-color: #6366f1; | |||
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12); | |||
} | |||
.bl-search-input { | |||
flex: 1; | |||
border: none; | |||
outline: none; | |||
font-size: 0.95em; | |||
padding: 10px 0; | |||
color: #374151; | |||
background: transparent; | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; | |||
} | |||
.bl-search-input::placeholder { | |||
color: #9ca3af; | |||
} | |||
.bl-search-btn { | |||
display: inline-flex; | |||
align-items: center; | |||
gap: 6px; | |||
padding: 10px 20px; | |||
background: linear-gradient(135deg, #6366f1, #8b5cf6); | |||
color: #fff; | |||
border: none; | |||
border-radius: 10px; | |||
font-size: 0.9em; | |||
font-weight: 600; | |||
cursor: pointer; | |||
transition: all 0.2s ease; | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; | |||
} | |||
.bl-search-btn:hover { | |||
transform: translateY(-1px); | |||
box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35); | |||
} | |||
.bl-create-btn { | |||
display: inline-flex; | |||
align-items: center; | |||
gap: 6px; | |||
padding: 10px 18px; | |||
background: #f0fdf4; | |||
color: #16a34a; | |||
border: 1px solid #bbf7d0; | |||
border-radius: 10px; | |||
font-size: 0.9em; | |||
font-weight: 600; | |||
text-decoration: none !important; | |||
transition: all 0.2s ease; | |||
white-space: nowrap; | |||
} | |||
.bl-create-btn:hover { | |||
background: #dcfce7; | |||
transform: translateY(-1px); | |||
box-shadow: 0 4px 12px rgba(22, 163, 74, 0.2); | |||
} | |||
/* ============================================= | |||
站点统计栏 | |||
============================================= */ | |||
.bl-stats-bar { | |||
display: flex; | |||
gap: 12px; | |||
margin-bottom: 24px; | |||
flex-wrap: wrap; | |||
justify-content: center; | |||
} | |||
.bl-stats-item { | |||
display: flex; | |||
align-items: center; | |||
gap: 10px; | |||
padding: 12px 18px; | |||
background: #fff; | |||
border: 1px solid #e5e7eb; | |||
border-radius: 12px; | |||
min-width: 110px; | |||
flex: 1 0 auto; | |||
max-width: 180px; | |||
transition: all 0.2s ease; | |||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04); | |||
} | |||
.bl-stats-item:hover { | |||
transform: translateY(-2px); | |||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06); | |||
border-color: #6366f1; | |||
} | |||
.bl-stats-icon { | |||
font-size: 1.4em; | |||
color: #6366f1; | |||
flex: 0 0 auto; | |||
} | |||
.bl-stats-info { | |||
display: flex; | |||
flex-direction: column; | |||
min-width: 0; | |||
} | |||
.bl-stats-number { | |||
font-size: 1.15em; | |||
font-weight: 800; | |||
color: #1f2937; | |||
line-height: 1.2; | |||
} | |||
.bl-stats-number a { | |||
color: #1f2937 !important; | |||
text-decoration: none !important; | |||
} | |||
.bl-stats-number a:hover { | |||
color: #6366f1 !important; | |||
} | |||
.bl-stats-label { | |||
font-size: 0.72em; | |||
color: #9ca3af; | |||
letter-spacing: 0.03em; | |||
} | |||
/* ============================================= | |||
卡片"更多"链接 | |||
============================================= */ | |||
.bl-box-more { | |||
margin-left: auto; | |||
font-size: 0.82em; | |||
font-weight: 600; | |||
color: #6366f1; | |||
text-decoration: none !important; | |||
display: inline-flex; | |||
align-items: center; | |||
gap: 2px; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-box-more:hover { | |||
color: #4f46e5; | |||
gap: 4px; | |||
} | |||
.bl-box-more-wrap { | |||
margin-left: auto; | |||
font-size: 0.82em; | |||
font-weight: 600; | |||
} | |||
.bl-box-more-wrap a { | |||
color: #6366f1; | |||
text-decoration: none !important; | |||
display: inline-flex; | |||
align-items: center; | |||
gap: 2px; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-box-more-wrap a:hover { | |||
color: #4f46e5; | |||
} | |||
/* ============================================= | |||
最近新闻 | |||
============================================= */ | |||
.bl-news-scroll { | |||
max-height: 520px; | |||
overflow-y: auto; | |||
padding-right: 4px; | |||
} | |||
.bl-news-scroll::-webkit-scrollbar { | |||
width: 4px; | |||
} | |||
.bl-news-scroll::-webkit-scrollbar-thumb { | |||
background: rgba(99, 102, 241, 0.3); | |||
border-radius: 4px; | |||
} | |||
.bl-news-list { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 2px; | |||
} | |||
.bl-news-item { | |||
display: flex; | |||
align-items: baseline; | |||
gap: 12px; | |||
padding: 10px 0; | |||
border-bottom: 1px solid #f3f4f6; | |||
transition: background 0.15s ease; | |||
} | |||
.bl-news-item:last-child { | |||
border-bottom: none; | |||
} | |||
.bl-news-date { | |||
flex: 0 0 60px; | |||
font-size: 0.78em; | |||
font-weight: 700; | |||
color: #6366f1; | |||
letter-spacing: 0.02em; | |||
white-space: nowrap; | |||
} | |||
.bl-news-text { | |||
font-size: 0.9em; | |||
color: #374151; | |||
line-height: 1.5; | |||
} | |||
.bl-news-text a { | |||
color: #4f46e5 !important; | |||
text-decoration: none !important; | |||
font-weight: 600; | |||
} | |||
.bl-news-text a:hover { | |||
color: #6366f1 !important; | |||
text-decoration: underline !important; | |||
} | |||
/* ============================================= | |||
快速上传 | |||
============================================= */ | |||
.bl-upload-action { | |||
display: flex; | |||
align-items: center; | |||
gap: 12px; | |||
padding: 14px 16px; | |||
background: linear-gradient(135deg, #eef2ff, #e0e7ff); | |||
border: 1px dashed #c7d2fe; | |||
border-radius: 12px; | |||
text-decoration: none !important; | |||
transition: all 0.2s ease; | |||
} | |||
.bl-upload-action:hover { | |||
background: linear-gradient(135deg, #e0e7ff, #c7d2fe); | |||
border-color: #6366f1; | |||
transform: translateY(-1px); | |||
} | |||
.bl-upload-action i:first-child { | |||
font-size: 1.6em; | |||
color: #6366f1; | |||
} | |||
.bl-upload-action span { | |||
flex: 1; | |||
font-size: 0.9em; | |||
font-weight: 600; | |||
color: #374151; | |||
} | |||
.bl-upload-action i:last-child { | |||
font-size: 1.2em; | |||
color: #6366f1; | |||
} | |||
/* ============================================= | |||
近期更改 | |||
============================================= */ | |||
.bl-recent-list { | |||
font-size: 0.88em; | |||
line-height: 1.7; | |||
} | |||
.bl-recent-list ul { | |||
margin: 0; | |||
padding-left: 1.2em; | |||
list-style: none; | |||
} | |||
.bl-recent-list li { | |||
padding: 4px 0; | |||
color: #4b5563; | |||
} | |||
.bl-recent-list li a { | |||
color: #4f46e5 !important; | |||
text-decoration: none !important; | |||
font-weight: 500; | |||
} | |||
.bl-recent-list li a:hover { | |||
color: #6366f1 !important; | |||
text-decoration: underline !important; | |||
} | |||
/* ============================================= | |||
深色模式:搜索栏 + 统计栏 + 新闻 + 上传 + 近期更改 | |||
============================================= */ | |||
/* ----- 手动深色模式 (night) ----- */ | |||
html.skin-theme-clientpref-night .bl-search-form { | |||
background: var(--color-surface-1, #202122); | |||
border-color: rgba(255, 255, 255, 0.12); | |||
} | |||
html.skin-theme-clientpref-night .bl-search-form:focus-within { | |||
border-color: var(--color-primary, #6ba4ff); | |||
box-shadow: 0 0 0 3px rgba(107, 164, 255, 0.15); | |||
} | |||
html.skin-theme-clientpref-night .bl-search-input { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-night .bl-search-input::placeholder { | |||
color: rgba(255, 255, 255, 0.35); | |||
} | |||
html.skin-theme-clientpref-night .bl-create-btn { | |||
background: rgba(34, 197, 94, 0.15); | |||
color: #4ade80; | |||
border-color: rgba(34, 197, 94, 0.25); | |||
} | |||
html.skin-theme-clientpref-night .bl-create-btn:hover { | |||
background: rgba(34, 197, 94, 0.25); | |||
} | |||
html.skin-theme-clientpref-night .bl-stats-item { | |||
background: var(--color-surface-1, #202122); | |||
border-color: rgba(255, 255, 255, 0.1); | |||
} | |||
html.skin-theme-clientpref-night .bl-stats-item:hover { | |||
border-color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-stats-icon { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-stats-number { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-night .bl-stats-number a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-stats-number a:hover { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-stats-label { | |||
color: rgba(255, 255, 255, 0.4); | |||
} | |||
html.skin-theme-clientpref-night .bl-box-more { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-box-more:hover { | |||
color: var(--color-primary--hover, #9bc4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-box-more-wrap a { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-box-more-wrap a:hover { | |||
color: var(--color-primary--hover, #9bc4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-news-item { | |||
border-bottom-color: rgba(255, 255, 255, 0.06); | |||
} | |||
html.skin-theme-clientpref-night .bl-news-date { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-news-text { | |||
color: var(--color-base-0, #c8ccd1); | |||
} | |||
html.skin-theme-clientpref-night .bl-news-text a { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-news-text a:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-upload-action { | |||
background: rgba(99, 102, 241, 0.1); | |||
border-color: rgba(99, 102, 241, 0.2); | |||
} | |||
html.skin-theme-clientpref-night .bl-upload-action:hover { | |||
background: rgba(99, 102, 241, 0.18); | |||
border-color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-upload-action i:first-child { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-upload-action span { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-night .bl-upload-action i:last-child { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-recent-list li { | |||
color: var(--color-base-0, #c8ccd1); | |||
} | |||
html.skin-theme-clientpref-night .bl-recent-list li a { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-recent-list li a:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
/* ----- Hero 内嵌组件深色模式 ----- */ | |||
html.skin-theme-clientpref-night .bl-hero-search-form { | |||
background: rgba(32, 33, 34, 0.85); | |||
border-color: rgba(255, 255, 255, 0.12); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-search-form:focus-within { | |||
border-color: var(--color-primary, #6ba4ff); | |||
box-shadow: 0 0 0 3px rgba(107, 164, 255, 0.15); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-search-input { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-search-input::placeholder { | |||
color: rgba(255, 255, 255, 0.35); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-create-btn { | |||
background: rgba(34, 197, 94, 0.12); | |||
color: #4ade80; | |||
border-color: rgba(34, 197, 94, 0.2); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-create-btn:hover { | |||
background: rgba(34, 197, 94, 0.2); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-stat { | |||
background: rgba(32, 33, 34, 0.5); | |||
border-color: rgba(255, 255, 255, 0.08); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-stat:hover { | |||
background: rgba(32, 33, 34, 0.75); | |||
border-color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-stat-icon { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-stat-number { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-stat-number a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-stat-number a:hover { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-stat-label { | |||
color: rgba(255, 255, 255, 0.35); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-link { | |||
background: rgba(32, 33, 34, 0.4); | |||
border-color: rgba(255, 255, 255, 0.06); | |||
color: var(--color-base-0, #c8ccd1); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-link:hover { | |||
background: rgba(32, 33, 34, 0.7); | |||
border-color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-link i { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-night .bl-hero-link a { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | } | ||
html.skin-theme-clientpref-night .bl-hero-link a:hover { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | } | ||
/* | /* ----- 系统深色模式 (os) ----- */ | ||
. | @media (prefers-color-scheme: dark) { | ||
. | html.skin-theme-clientpref-os .bl-search-form { | ||
. | background: var(--color-surface-1, #202122); | ||
@media (max-width: 640px) { . | border-color: rgba(255, 255, 255, 0.12); | ||
} | |||
html.skin-theme-clientpref-os .bl-search-form:focus-within { | |||
border-color: var(--color-primary, #6ba4ff); | |||
box-shadow: 0 0 0 3px rgba(107, 164, 255, 0.15); | |||
} | |||
html.skin-theme-clientpref-os .bl-search-input { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-os .bl-search-input::placeholder { | |||
color: rgba(255, 255, 255, 0.35); | |||
} | |||
html.skin-theme-clientpref-os .bl-create-btn { | |||
background: rgba(34, 197, 94, 0.15); | |||
color: #4ade80; | |||
border-color: rgba(34, 197, 94, 0.25); | |||
} | |||
html.skin-theme-clientpref-os .bl-create-btn:hover { | |||
background: rgba(34, 197, 94, 0.25); | |||
} | |||
html.skin-theme-clientpref-os .bl-stats-item { | |||
background: var(--color-surface-1, #202122); | |||
border-color: rgba(255, 255, 255, 0.1); | |||
} | |||
html.skin-theme-clientpref-os .bl-stats-item:hover { | |||
border-color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-stats-icon { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-stats-number { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-os .bl-stats-number a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-stats-number a:hover { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-stats-label { | |||
color: rgba(255, 255, 255, 0.4); | |||
} | |||
html.skin-theme-clientpref-os .bl-box-more { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-box-more:hover { | |||
color: var(--color-primary--hover, #9bc4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-box-more-wrap a { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-box-more-wrap a:hover { | |||
color: var(--color-primary--hover, #9bc4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-news-item { | |||
border-bottom-color: rgba(255, 255, 255, 0.06); | |||
} | |||
html.skin-theme-clientpref-os .bl-news-date { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-news-text { | |||
color: var(--color-base-0, #c8ccd1); | |||
} | |||
html.skin-theme-clientpref-os .bl-news-text a { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-news-text a:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-upload-action { | |||
background: rgba(99, 102, 241, 0.1); | |||
border-color: rgba(99, 102, 241, 0.2); | |||
} | |||
html.skin-theme-clientpref-os .bl-upload-action:hover { | |||
background: rgba(99, 102, 241, 0.18); | |||
border-color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-upload-action i:first-child { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-upload-action span { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-os .bl-upload-action i:last-child { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-recent-list li { | |||
color: var(--color-base-0, #c8ccd1); | |||
} | |||
html.skin-theme-clientpref-os .bl-recent-list li a { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-recent-list li a:hover { | |||
color: var(--color-primary--hover, #9bc4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-search-form { | |||
background: rgba(32, 33, 34, 0.85); | |||
border-color: rgba(255, 255, 255, 0.12); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-search-form:focus-within { | |||
border-color: var(--color-primary, #6ba4ff); | |||
box-shadow: 0 0 0 3px rgba(107, 164, 255, 0.15); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-search-input { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-search-input::placeholder { | |||
color: rgba(255, 255, 255, 0.35); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-create-btn { | |||
background: rgba(34, 197, 94, 0.12); | |||
color: #4ade80; | |||
border-color: rgba(34, 197, 94, 0.2); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-create-btn:hover { | |||
background: rgba(34, 197, 94, 0.2); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-stat { | |||
background: rgba(32, 33, 34, 0.5); | |||
border-color: rgba(255, 255, 255, 0.08); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-stat:hover { | |||
background: rgba(32, 33, 34, 0.75); | |||
border-color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-stat-icon { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-stat-number { | |||
color: var(--color-base-20, #e0e0e0); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-stat-number a { | |||
color: var(--color-base-20, #e0e0e0) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-stat-number a:hover { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-stat-label { | |||
color: rgba(255, 255, 255, 0.35); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-link { | |||
background: rgba(32, 33, 34, 0.4); | |||
border-color: rgba(255, 255, 255, 0.06); | |||
color: var(--color-base-0, #c8ccd1); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-link:hover { | |||
background: rgba(32, 33, 34, 0.7); | |||
border-color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-link i { | |||
color: var(--color-primary, #6ba4ff); | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-link a { | |||
color: var(--color-base-0, #c8ccd1) !important; | |||
} | |||
html.skin-theme-clientpref-os .bl-hero-link a:hover { | |||
color: var(--color-primary, #6ba4ff) !important; | |||
} | |||
} | |||
/* ===== 中纬度秋季:仅布局、阅读比例和轻量装饰;Citizen 效果仍由原规则控制 ===== | |||
换季优先改这里的三个色值。保留 .bl-*,不覆盖背景图、模糊、阴影、动画或伪元素。 */ | |||
.bl-mainpage { | |||
--bl-autumn-red: #aa6554; | |||
--bl-autumn-gold: #ad8b50; | |||
--bl-autumn-taupe: #887c6c; | |||
font-family: inherit; | |||
font-size: inherit; | |||
line-height: 1.7; | |||
} | |||
.bl-mainpage .bl-grid { | |||
display: grid; | |||
grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); | |||
grid-template-areas: "main side"; | |||
gap: 24px; | |||
align-items: start; | |||
} | |||
.bl-mainpage .bl-maincol { grid-area: main; min-width: 0; } | |||
.bl-mainpage .bl-sidecol { grid-area: side; min-width: 0; margin-top: 0; } | |||
.bl-mainpage .bl-hero-title { font-size: clamp(1.65em, 3vw, 2.2em); line-height: 1.35; } | |||
.bl-mainpage .bl-hero-desc { font-size: 1em; line-height: 1.8; } | |||
.bl-mainpage .bl-box-title { font-size: 1.1em; } | |||
.bl-mainpage .bl-box-icon { color: var(--bl-autumn-red); } | |||
.bl-mainpage .bl-hero { border-color: var(--bl-autumn-gold); } | |||
.bl-mainpage .bl-box-header { border-bottom-color: var(--bl-autumn-gold); } | |||
.bl-mainpage .bl-mascot { flex: 0 0 100px; } | |||
.bl-mainpage .bl-mascot img { max-width: 100%; height: auto; } | |||
.bl-mainpage .bl-home-notices { margin: 0 36px 18px; padding-left: 14px; border-left: 2px solid var(--bl-autumn-gold); font-size: .9em; line-height: 1.8; } | |||
.bl-mainpage .bl-home-notices p { margin: .4em 0; } | |||
.bl-mainpage .bl-featured-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; } | |||
.bl-mainpage .bl-featured { min-width: 0; } | |||
.bl-mainpage .bl-featured-img { aspect-ratio: 4 / 3; overflow: hidden; } | |||
.bl-mainpage .bl-featured-img > span, | |||
.bl-mainpage .bl-featured-img a { display: block; width: 100%; height: 100%; } | |||
.bl-mainpage .bl-featured-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; } | |||
.bl-mainpage .bl-featured-desc { font-size: .95em; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; max-height: 7em; overflow: hidden; } | |||
.bl-mainpage .bl-navitem { font-size: .95em; } | |||
.bl-mainpage .bl-recent-list { font-size: .9em; overflow-wrap: anywhere; } | |||
.bl-mainpage .bl-hero-stat-label { font-size: .8em; } | |||
/* 轻量站外入口:细线、短说明,沿用 Citizen 文字和表面颜色。 */ | |||
.bl-mainpage .bl-autumn-portals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 0 36px 20px; } | |||
.bl-mainpage a.bl-autumn-portal { | |||
display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 8px; | |||
padding: 11px 14px; min-width: 0; border: 1px solid var(--color-border,#c8c3ba); | |||
border-top: 2px solid var(--bl-autumn-taupe); border-radius: 9px; | |||
color: var(--color-base,#202122); background-color: transparent; | |||
text-decoration: none; transition: border-color .18s ease, background-color .18s ease; | |||
} | |||
.bl-mainpage a.bl-autumn-portal:nth-child(2n) { border-top-color: var(--bl-autumn-gold); } | |||
.bl-mainpage a.bl-autumn-portal:hover { border-color: var(--bl-autumn-red); background-color: var(--color-surface-2,rgba(136,124,108,.08)); text-decoration: none; } | |||
.bl-mainpage a.bl-autumn-portal:focus-visible { outline: 2px solid var(--color-primary,#36c); outline-offset: 3px; } | |||
.bl-mainpage .bl-autumn-portal-label { font-size: .95em; font-weight: 600; } | |||
.bl-mainpage .bl-autumn-portal-note { grid-column: 1; font-size: .8em; color: var(--color-base--subtle,#72777d); } | |||
.bl-mainpage .bl-autumn-portal-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--bl-autumn-gold); } | |||
@media (max-width: 900px) { .bl-mainpage .bl-autumn-portals { grid-template-columns: repeat(2,minmax(0,1fr)); } } | |||
@media (max-width: 640px) { | |||
.bl-mainpage .bl-grid { grid-template-columns: minmax(0,1fr); grid-template-areas: "main" "side"; gap: 18px; } | |||
.bl-mainpage .bl-autumn-portals { padding: 0 20px 16px; gap: 8px; } | |||
.bl-mainpage .bl-home-notices { margin-left: 20px; margin-right: 20px; } | |||
.bl-mainpage .bl-mascot { flex-basis: 64px; } | |||
.bl-mainpage .bl-featured-grid { grid-template-columns: minmax(0,1fr); } | |||
} | |||
@media (prefers-reduced-motion: reduce) { .bl-mainpage a.bl-autumn-portal { transition: none; } } | |||
2026年10月1日 (四) 12:27的版本
/* Blockland 首页专用样式:第一阶段分离版,保留原规则顺序与外观。 */
/* ========== Blockland Main Page ========== */
/* ========== Blockland Main Page ========== */
.bl-mainpage {
max-width: 1240px;
margin: 0 auto;
padding: 0.5rem 0 1.5rem 0;
color: #202122;
}
/* ===== 顶部横幅 ===== */
.bl-hero {
margin-bottom: 28px;
border-radius: 20px;
background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 50%, #dbeafe 100%);
border: 1px solid #c7d2fe;
}
.bl-hero-inner {
display: flex;
justify-content: space-between;
align-items: center;
gap: 24px;
padding: 32px 36px;
}
.bl-hero-text {
flex: 1 1 auto;
min-width: 0;
}
.bl-hero-kicker {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.85em;
font-weight: 600;
letter-spacing: 0.08em;
color: #6b7280;
text-transform: uppercase;
margin-bottom: 14px;
}
.bl-hero-kicker img {
border-radius: 8px;
}
.bl-hero-title {
font-size: 2.2em;
font-weight: 800;
line-height: 1.2;
color: #1f2937;
margin-bottom: 12px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
.bl-hero-desc {
font-size: 1em;
color: #4b5563;
line-height: 1.7;
margin-bottom: 20px;
max-width: 520px;
}
.bl-hero-actions {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
.bl-btn {
display: inline-block;
padding: 10px 24px;
border-radius: 10px;
font-size: 0.95em;
font-weight: 600;
text-decoration: none !important;
transition: all 0.2s ease;
}
.bl-btn a {
color: inherit !important;
text-decoration: none !important;
}
.bl-btn-primary {
background: linear-gradient(135deg, #6366f1, #8b5cf6);
color: #fff !important;
box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
}
.bl-btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(99, 102, 241, 0.45);
}
.bl-btn-secondary {
background: rgba(255, 255, 255, 0.8);
color: #374151 !important;
border: 1px solid #d1d5db;
}
.bl-btn-secondary:hover {
background: #fff;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
/* 条目统计 */
.bl-stat {
flex: 0 0 200px;
text-align: center;
padding: 22px 20px;
background: rgba(255, 255, 255, 0.7);
border: 1px solid #c7d2fe;
border-radius: 16px;
align-self: center;
}
.bl-stat-icon {
font-size: 1.6em;
color: #6366f1;
margin-bottom: 8px;
}
.bl-stat-label {
font-size: 0.85em;
color: #6b7280;
margin-bottom: 6px;
letter-spacing: 0.05em;
}
.bl-stat-number {
font-size: 2.2em;
font-weight: 800;
line-height: 1.1;
color: #4f46e5;
}
.bl-stat-number a {
color: #4f46e5 !important;
text-decoration: none !important;
}
.bl-stat-number a:hover {
color: #6366f1 !important;
text-decoration: underline !important;
}
.bl-stat-note {
margin-top: 8px;
font-size: 0.8em;
color: #9ca3af;
}
/* =============================================
Hero 内嵌搜索栏
============================================= */
.bl-hero-search {
padding: 0 36px 2px;
}
.bl-hero-search-form {
display: flex;
gap: 10px;
align-items: center;
background: rgba(255, 255, 255, 0.85);
border: 1px solid #c7d2fe;
border-radius: 14px;
padding: 6px 6px 0 20px;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
transition: all 0.2s ease;
backdrop-filter: blur(8px);
}
.bl-hero-search-form:focus-within {
border-color: #6366f1;
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}
.bl-hero-search-input {
flex: 1;
border: none;
outline: none;
font-size: 0.95em;
padding: 10px 0;
color: #374151;
background: transparent;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
.bl-hero-search-input::placeholder {
color: #9ca3af;
}
.bl-hero-search-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 22px;
background: linear-gradient(135deg, #6366f1, #8b5cf6);
color: #fff;
border: none;
border-radius: 10px;
font-size: 0.9em;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
white-space: nowrap;
}
.bl-hero-search-btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.35);
}
.bl-hero-create-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 18px;
background: rgba(255, 255, 255, 0.9);
color: #16a34a;
border: 1px solid #bbf7d0;
border-radius: 10px;
font-size: 0.9em;
font-weight: 600;
text-decoration: none !important;
transition: all 0.2s ease;
white-space: nowrap;
}
.bl-hero-create-btn:hover {
background: #f0fdf4;
transform: translateY(-1px);
}
/* =============================================
Hero 内嵌统计栏
============================================= */
.bl-hero-stats {
display: flex;
gap: 8px;
padding: 16px 36px 16px;
margin-bottom: 16px;
flex-wrap: wrap;
}
.bl-hero-stat {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 14px;
background: rgba(255, 255, 255, 0.6);
border: 1px solid rgba(199, 210, 254, 0.5);
border-radius: 10px;
flex: 1 0 auto;
min-width: 90px;
max-width: 160px;
transition: all 0.2s ease;
}
.bl-hero-stat:hover {
background: rgba(255, 255, 255, 0.85);
border-color: #6366f1;
}
.bl-hero-stat-icon {
font-size: 1.2em;
color: #6366f1;
flex: 0 0 auto;
line-height: 1;
}
.bl-hero-stat-info {
display: flex;
flex-direction: column;
gap: 0;
}
.bl-hero-stat-number {
font-size: 1em;
font-weight: 800;
color: #1f2937;
line-height: 1.2;
}
.bl-hero-stat-number a {
color: #1f2937 !important;
text-decoration: none !important;
}
.bl-hero-stat-number a:hover {
color: #6366f1 !important;
}
.bl-hero-stat-label {
font-size: 0.65em;
color: #9ca3af;
letter-spacing: 0.03em;
text-transform: uppercase;
}
/* ----- Hero 统计栏 · 主站入口卡片 ----- */
.bl-hero-stat-site {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 14px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border: none;
border-radius: 10px;
flex: 1 0 auto;
min-width: 90px;
max-width: 160px;
transition: all 0.25s ease;
cursor: pointer;
text-decoration: none !important;
}
.bl-hero-stat-site:hover {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(102, 126, 234, 0.45);
}
.bl-hero-stat-site .bl-hero-stat-icon {
color: rgba(255, 255, 255, 0.9);
}
.bl-hero-stat-site .bl-hero-stat-number {
color: #fff;
}
.bl-hero-stat-site .bl-hero-stat-label {
color: rgba(255, 255, 255, 0.7);
}
/* =============================================
Hero 内嵌快捷入口
============================================= */
.bl-hero-links {
display: flex;
gap: 6px;
padding: 12px 36px 28px;
flex-wrap: wrap;
}
.bl-hero-link {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
background: rgba(255, 255, 255, 0.5);
border: 1px solid rgba(199, 210, 254, 0.4);
border-radius: 10px;
font-size: 0.85em;
font-weight: 600;
color: #4b5563;
transition: all 0.2s ease;
}
.bl-hero-link:hover {
background: rgba(255, 255, 255, 0.85);
border-color: #6366f1;
transform: translateY(-2px);
}
.bl-hero-link i {
font-size: 1.15em;
color: #6366f1;
}
.bl-hero-link a {
color: #4b5563 !important;
text-decoration: none !important;
}
.bl-hero-link a:hover {
color: #4f46e5 !important;
}
/* ===== 快捷入口栏 ===== */
.bl-quick-bar {
display: flex;
gap: 12px;
margin-bottom: 28px;
justify-content: center;
flex-wrap: wrap;
}
.bl-quick-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
padding: 14px 18px;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 14px;
min-width: 80px;
transition: all 0.2s ease;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.bl-quick-item:hover {
transform: translateY(-4px);
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
border-color: #6366f1;
}
.bl-quick-item i {
font-size: 1.5em;
color: #6366f1;
transition: transform 0.2s ease;
}
.bl-quick-item:hover i {
transform: scale(1.15);
}
.bl-quick-item span {
font-size: 0.82em;
font-weight: 600;
color: #374151;
}
.bl-quick-item span a {
color: #374151 !important;
text-decoration: none !important;
}
/* ===== 主体布局 ===== */
.bl-grid {
display: flex;
gap: 24px;
align-items: flex-start;
}
.bl-maincol {
flex: 1 1 auto;
min-width: 0;
}
.bl-sidecol {
flex: 0 0 320px;
}
/* ===== 卡片 ===== */
.bl-box {
margin-bottom: 22px;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}
.bl-box-header {
display: flex;
align-items: center;
gap: 10px;
padding: 14px 18px;
background: #f9fafb;
border-bottom: 1px solid #e5e7eb;
}
.bl-box-icon {
font-size: 1.2em;
color: #6366f1;
display: flex;
align-items: center;
}
.bl-box-title {
flex: 1;
font-size: 1em;
font-weight: 700;
color: #1f2937;
letter-spacing: 0.02em;
}
.bl-box-badge {
font-size: 0.65em;
font-weight: 700;
letter-spacing: 0.08em;
padding: 3px 10px;
border-radius: 20px;
background: linear-gradient(135deg, #6366f1, #8b5cf6);
color: #fff;
text-transform: uppercase;
}
.bl-box-body {
padding: 16px 18px;
}
/* ===== 地图容器 ===== */
.bl-map-wrap {
padding: 12px;
background: #f9fafb;
border: 1px dashed #d1d5db;
border-radius: 10px;
text-align: center;
min-height: 320px;
}
.bl-map-wrap img,
.bl-map-wrap svg {
max-width: 100%;
height: auto;
}
/* ===== 冷知识列表 ===== */
.bl-list-trivia {
list-style: none;
padding: 0;
margin: 0;
}
.bl-list-trivia li {
display: flex;
gap: 14px;
padding: 14px 0;
border-bottom: 1px solid #f3f4f6;
margin-bottom: 0;
background: transparent !important;
border-left: 0 !important;
border-right: 0 !important;
border-top: 0 !important;
box-shadow: none !important;
}
.bl-list-trivia li:last-child {
border-bottom: none;
}
.bl-trivia-marker {
flex: 0 0 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #6366f1, #8b5cf6);
color: #fff;
font-size: 0.75em;
font-weight: 800;
border-radius: 10px;
margin-top: 2px;
}
.bl-trivia-text {
flex: 1;
font-size: 0.92em;
line-height: 1.7;
color: #4b5563;
}
/* ===== 管理组名单 ===== */
.bl-team-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
}
.bl-team-card {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 6px;
padding: 18px 10px 14px;
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 14px;
transition: all 0.2s ease;
}
.bl-team-card:hover {
border-color: #6366f1;
box-shadow: 0 4px 20px rgba(99, 102, 241, 0.12);
transform: translateY(-2px);
}
.bl-team-avatar {
width: 64px;
height: 64px;
border-radius: 50%;
overflow: hidden;
border: 2px solid #e5e7eb;
flex-shrink: 0;
transition: border-color 0.2s ease;
}
.bl-team-card:hover .bl-team-avatar {
border-color: #6366f1;
}
.bl-team-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.bl-team-name {
font-size: 0.92em;
font-weight: 700;
color: #1f2937;
margin-top: 4px;
line-height: 1.3;
word-break: break-word;
}
.bl-team-tag {
font-size: 0.7em;
font-weight: 600;
letter-spacing: 0.03em;
padding: 2px 10px;
border-radius: 6px;
background: linear-gradient(135deg, #6366f1, #8b5cf6);
color: #fff;
white-space: nowrap;
}
.bl-team-social {
display: inline-flex;
align-items: center;
gap: 3px;
margin-top: 2px;
font-size: 0.78em;
color: #4f46e5 !important;
text-decoration: none !important;
font-weight: 600;
}
.bl-team-social:hover {
color: #6366f1 !important;
text-decoration: underline !important;
}
/* 管理组响应式 */
@media (max-width: 980px) {
.bl-team-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 640px) {
.bl-team-grid {
grid-template-columns: 1fr;
}
}
/* ===== 导航网格 ===== */
.bl-navgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
.bl-navitem {
padding: 12px 14px;
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 10px;
text-align: center;
font-weight: 600;
font-size: 0.92em;
transition: all 0.2s ease;
}
.bl-navitem:hover {
background: linear-gradient(135deg, #6366f1, #8b5cf6);
border-color: #6366f1;
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(99, 102, 241, 0.2);
}
.bl-navitem a {
display: block;
color: #374151 !important;
text-decoration: none !important;
}
.bl-navitem:hover a {
color: #fff !important;
}
/* ===== 推荐阅读列表 ===== */
.bl-rec-list {
display: flex;
flex-direction: column;
gap: 10px;
}
.bl-rec-item {
display: flex;
align-items: center;
gap: 12px;
padding: 10px 12px;
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 10px;
transition: all 0.2s ease;
}
.bl-rec-item:hover {
background: #fff;
border-color: #6366f1;
transform: translateX(4px);
box-shadow: 0 4px 16px rgba(99, 102, 241, 0.1);
}
.bl-rec-text {
flex: 1;
min-width: 0;
}
.bl-rec-name {
font-weight: 700;
font-size: 0.92em;
color: #374151;
}
.bl-rec-name a {
color: #374151 !important;
text-decoration: none !important;
}
.bl-rec-name a:hover {
color: #6366f1 !important;
}
.bl-rec-desc {
font-size: 0.78em;
color: #9ca3af;
margin-top: 2px;
}
/* ===== 典范条目 ===== */
.bl-featured-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.bl-featured-grid .bl-featured-img img {
aspect-ratio: 4 / 3;
width: 100%;
object-fit: cover;
border-radius: 10px;
display: block;
}
.bl-featured-grid .bl-featured-desc {
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
overflow: hidden;
}
.bl-featured {
display: flex;
flex-direction: column;
gap: 10px;
}
.bl-featured-img {
text-align: center;
border-radius: 10px;
overflow: hidden;
}
.bl-featured-img img {
width: 100%;
height: auto;
border-radius: 10px;
display: block;
}
.bl-featured-title {
font-size: 1.05em;
font-weight: 700;
color: #1f2937;
line-height: 1.4;
}
.bl-featured-title a {
color: #1f2937 !important;
text-decoration: none !important;
}
.bl-featured-title a:hover {
color: #6366f1 !important;
text-decoration: underline !important;
}
.bl-featured-desc {
font-size: 0.85em;
line-height: 1.7;
color: #4b5563;
}
.bl-featured-link {
font-size: 0.85em;
font-weight: 600;
}
.bl-featured-link a {
color: #4f46e5 !important;
text-decoration: none !important;
}
.bl-featured-link a:hover {
color: #6366f1 !important;
text-decoration: underline !important;
}
/* ===== 纯文本说明 ===== */
.bl-plaintext,
.bl-plaintext p,
.bl-box-body p {
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
outline: 0 !important;
padding: 0 !important;
margin: 0 0 0.8em 0;
color: #4b5563;
line-height: 1.7;
display: block;
}
/* ===== 通用列表 ===== */
.bl-list {
margin: 0;
padding-left: 1.35em;
}
.bl-list li {
margin-bottom: 0.55em;
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
}
/* ===== 页脚导航 ===== */
.bl-footer-nav {
margin-top: 24px;
}
.bl-footer-nav > * + * {
margin-top: 14px;
}
/* ===== 隐藏首页标题 ===== */
.page-Main_Page #firstHeading,
.page-首页 #firstHeading {
display: none;
}
/* =============================================
深色模式兼容(补充 Citizen.css 未覆盖的新组件)
============================================= */
/* ----- 手动深色模式 (night) ----- */
/* Hero 描述文字 */
html.skin-theme-clientpref-night .bl-hero-desc {
color: var(--color-base-0, #c8ccd1) !important;
}
/* Hero 按钮 */
html.skin-theme-clientpref-night .bl-btn-secondary {
background: rgba(255, 255, 255, 0.08) !important;
border-color: rgba(255, 255, 255, 0.2) !important;
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-night .bl-btn-secondary:hover {
background: rgba(255, 255, 255, 0.15) !important;
}
/* 统计图标 */
html.skin-theme-clientpref-night .bl-stat-icon {
color: var(--color-primary, #6ba4ff) !important;
}
/* 快捷入口栏 */
html.skin-theme-clientpref-night .bl-quick-item {
background: var(--color-surface-1, #202122) !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
html.skin-theme-clientpref-night .bl-quick-item i {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-quick-item span,
html.skin-theme-clientpref-night .bl-quick-item span a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-night .bl-quick-item:hover {
border-color: var(--color-primary, #6ba4ff) !important;
}
/* 卡片头部 */
html.skin-theme-clientpref-night .bl-box-header {
background: var(--color-surface-2, #2d2e2f) !important;
border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
html.skin-theme-clientpref-night .bl-box-icon {
color: var(--color-primary, #6ba4ff) !important;
}
/* 冷知识列表 */
html.skin-theme-clientpref-night .bl-list-trivia li {
border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
html.skin-theme-clientpref-night .bl-trivia-text {
color: var(--color-base-0, #c8ccd1) !important;
}
/* 推荐阅读列表 */
html.skin-theme-clientpref-night .bl-rec-item {
background: var(--color-surface-1, #202122) !important;
border-color: rgba(255, 255, 255, 0.08) !important;
}
html.skin-theme-clientpref-night .bl-rec-item:hover {
background: var(--color-surface-2, #2d2e2f) !important;
border-color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-rec-name,
html.skin-theme-clientpref-night .bl-rec-name a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-night .bl-rec-name a:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
html.skin-theme-clientpref-night .bl-rec-desc {
color: var(--color-base-30, #a0a0a0) !important;
}
/* 典范条目 */
html.skin-theme-clientpref-night .bl-featured-title,
html.skin-theme-clientpref-night .bl-featured-title a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-night .bl-featured-title a:hover {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-featured-desc {
color: var(--color-base-0, #c8ccd1) !important;
}
html.skin-theme-clientpref-night .bl-featured-link a {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-featured-link a:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
/* 纯文本说明 */
html.skin-theme-clientpref-night .bl-plaintext,
html.skin-theme-clientpref-night .bl-plaintext p,
html.skin-theme-clientpref-night .bl-box-body p {
color: var(--color-base-0, #c8ccd1) !important;
}
/* 地图容器 */
html.skin-theme-clientpref-night .bl-map-wrap {
background: var(--color-surface-1, #202122) !important;
border-color: rgba(255, 255, 255, 0.15) !important;
}
/* 管理组名单 */
html.skin-theme-clientpref-night .bl-team-card {
background: var(--color-surface-1, #202122) !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
html.skin-theme-clientpref-night .bl-team-card:hover {
border-color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-team-avatar {
border-color: rgba(255, 255, 255, 0.15) !important;
}
html.skin-theme-clientpref-night .bl-team-card:hover .bl-team-avatar {
border-color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-team-name {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-night .bl-team-social {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-team-social:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
/* ----- 系统深色模式 (os) ----- */
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .bl-hero-desc {
color: var(--color-base-0, #c8ccd1) !important;
}
html.skin-theme-clientpref-os .bl-btn-secondary {
background: rgba(255, 255, 255, 0.08) !important;
border-color: rgba(255, 255, 255, 0.2) !important;
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-os .bl-btn-secondary:hover {
background: rgba(255, 255, 255, 0.15) !important;
}
html.skin-theme-clientpref-os .bl-stat-icon {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-quick-item {
background: var(--color-surface-1, #202122) !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
html.skin-theme-clientpref-os .bl-quick-item i {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-quick-item span,
html.skin-theme-clientpref-os .bl-quick-item span a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-os .bl-quick-item:hover {
border-color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-box-header {
background: var(--color-surface-2, #2d2e2f) !important;
border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
html.skin-theme-clientpref-os .bl-box-icon {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-list-trivia li {
border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
html.skin-theme-clientpref-os .bl-trivia-text {
color: var(--color-base-0, #c8ccd1) !important;
}
html.skin-theme-clientpref-os .bl-rec-item {
background: var(--color-surface-1, #202122) !important;
border-color: rgba(255, 255, 255, 0.08) !important;
}
html.skin-theme-clientpref-os .bl-rec-item:hover {
background: var(--color-surface-2, #2d2e2f) !important;
border-color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-rec-name,
html.skin-theme-clientpref-os .bl-rec-name a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-os .bl-rec-name a:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
html.skin-theme-clientpref-os .bl-rec-desc {
color: var(--color-base-30, #a0a0a0) !important;
}
/* 典范条目 */
html.skin-theme-clientpref-os .bl-featured-title,
html.skin-theme-clientpref-os .bl-featured-title a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-os .bl-featured-title a:hover {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-featured-desc {
color: var(--color-base-0, #c8ccd1) !important;
}
html.skin-theme-clientpref-os .bl-featured-link a {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-featured-link a:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
html.skin-theme-clientpref-os .bl-plaintext,
html.skin-theme-clientpref-os .bl-plaintext p,
html.skin-theme-clientpref-os .bl-box-body p {
color: var(--color-base-0, #c8ccd1) !important;
}
html.skin-theme-clientpref-os .bl-map-wrap {
background: var(--color-surface-1, #202122) !important;
border-color: rgba(255, 255, 255, 0.15) !important;
}
/* 管理组名单 */
html.skin-theme-clientpref-os .bl-team-card {
background: var(--color-surface-1, #202122) !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
html.skin-theme-clientpref-os .bl-team-card:hover {
border-color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-team-avatar {
border-color: rgba(255, 255, 255, 0.15) !important;
}
html.skin-theme-clientpref-os .bl-team-card:hover .bl-team-avatar {
border-color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-team-name {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-os .bl-team-social {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-team-social:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
}
/* ===== 响应式:平板 ===== */
@media (max-width: 980px) {
.bl-grid {
display: block;
}
.bl-sidecol {
margin-top: 18px;
}
.bl-hero-inner {
flex-direction: column;
text-align: center;
padding: 28px 24px;
}
.bl-hero-desc {
max-width: 100%;
}
.bl-hero-actions {
justify-content: center;
}
.bl-stat {
flex: none;
width: 100%;
max-width: 260px;
}
.bl-quick-bar {
gap: 8px;
}
.bl-quick-item {
min-width: 70px;
padding: 10px 14px;
}
.bl-search-form {
flex-wrap: wrap;
padding: 10px;
}
.bl-search-input {
width: 100%;
flex: 1 1 100%;
padding: 8px 4px;
}
.bl-search-btn,
.bl-create-btn {
flex: 1;
justify-content: center;
}
.bl-stats-bar {
gap: 8px;
}
.bl-stats-item {
min-width: 80px;
max-width: 160px;
padding: 10px 14px;
}
.bl-hero-search {
padding: 0 24px 2px;
}
.bl-hero-stats {
padding: 16px 24px 16px;
justify-content: center;
}
.bl-hero-stat {
min-width: 75px;
max-width: 130px;
padding: 6px 10px;
}
.bl-hero-stat-icon {
font-size: 1em;
}
.bl-hero-stat-number {
font-size: 0.85em;
}
.bl-hero-stat-site {
min-width: 75px;
max-width: 130px;
padding: 6px 10px;
}
.bl-hero-links {
padding: 12px 24px 24px;
justify-content: center;
}
.bl-hero-link {
padding: 6px 12px;
font-size: 0.78em;
}
}
/* ===== 响应式:手机 ===== */
@media (max-width: 700px) {
.bl-hero-title {
font-size: 1.5em;
}
.bl-hero-desc {
font-size: 0.92em;
}
.bl-hero-inner {
padding: 22px 18px;
}
.bl-stat {
padding: 16px;
}
.bl-stat-number {
font-size: 1.8em;
}
.bl-quick-bar {
gap: 6px;
}
.bl-quick-item {
min-width: 56px;
padding: 8px 10px;
}
.bl-quick-item i {
font-size: 1.2em;
}
.bl-quick-item span {
font-size: 0.7em;
}
.bl-navgrid {
grid-template-columns: 1fr;
}
.bl-box-header {
padding: 12px 14px;
}
.bl-box-body {
padding: 12px 14px;
}
.bl-trivia-marker {
flex: 0 0 26px;
height: 26px;
font-size: 0.65em;
}
.bl-trivia-text {
font-size: 0.85em;
}
.bl-search-form {
flex-direction: column;
padding: 8px;
gap: 8px;
}
.bl-search-input {
width: 100%;
flex: none;
padding: 10px 4px;
}
.bl-search-btn,
.bl-create-btn {
width: 100%;
justify-content: center;
}
.bl-stats-bar {
gap: 6px;
}
.bl-stats-item {
min-width: 70px;
max-width: 140px;
padding: 8px 10px;
gap: 6px;
}
.bl-stats-icon {
font-size: 1.1em;
}
.bl-stats-number {
font-size: 1em;
}
.bl-hero-search {
padding: 0 18px 2px;
}
.bl-hero-search-form {
flex-direction: column;
padding: 8px;
gap: 8px;
}
.bl-hero-search-input {
width: 100%;
flex: none;
padding: 10px 4px;
}
.bl-hero-search-btn,
.bl-hero-create-btn {
width: 100%;
justify-content: center;
}
.bl-hero-stats {
padding: 16px 18px 16px;
gap: 6px;
justify-content: center;
}
.bl-hero-stat {
min-width: 60px;
max-width: 110px;
padding: 5px 8px;
gap: 5px;
}
.bl-hero-stat-site {
min-width: 60px;
max-width: 110px;
padding: 5px 8px;
}
.bl-hero-stat-icon {
font-size: 0.9em;
}
.bl-hero-stat-number {
font-size: 0.78em;
}
.bl-hero-stat-label {
font-size: 0.55em;
}
.bl-hero-links {
padding: 8px 18px 20px;
gap: 4px;
justify-content: center;
}
.bl-hero-link {
padding: 5px 10px;
font-size: 0.72em;
gap: 4px;
}
.bl-hero-link i {
font-size: 1em;
}
.bl-news-item {
flex-direction: column;
gap: 4px;
}
.bl-news-date {
flex: none;
}
}
/* 让 .bl-mainpage 占据全宽 */
.bl-mainpage {
max-width: 100% !important;
width: 100% !important;
margin-left: 0 !important;
margin-right: 0 !important;
padding-left: 0 !important;
padding-right: 0 !important;
}
/* =============================================
搜索与创建栏
============================================= */
.bl-search-bar {
margin-bottom: 20px;
}
.bl-search-form {
display: flex;
gap: 10px;
align-items: center;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 14px;
padding: 6px 6px 6px 18px;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
transition: all 0.2s ease;
}
.bl-search-form:focus-within {
border-color: #6366f1;
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
.bl-search-input {
flex: 1;
border: none;
outline: none;
font-size: 0.95em;
padding: 10px 0;
color: #374151;
background: transparent;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
.bl-search-input::placeholder {
color: #9ca3af;
}
.bl-search-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 20px;
background: linear-gradient(135deg, #6366f1, #8b5cf6);
color: #fff;
border: none;
border-radius: 10px;
font-size: 0.9em;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
.bl-search-btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
}
.bl-create-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 18px;
background: #f0fdf4;
color: #16a34a;
border: 1px solid #bbf7d0;
border-radius: 10px;
font-size: 0.9em;
font-weight: 600;
text-decoration: none !important;
transition: all 0.2s ease;
white-space: nowrap;
}
.bl-create-btn:hover {
background: #dcfce7;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(22, 163, 74, 0.2);
}
/* =============================================
站点统计栏
============================================= */
.bl-stats-bar {
display: flex;
gap: 12px;
margin-bottom: 24px;
flex-wrap: wrap;
justify-content: center;
}
.bl-stats-item {
display: flex;
align-items: center;
gap: 10px;
padding: 12px 18px;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 12px;
min-width: 110px;
flex: 1 0 auto;
max-width: 180px;
transition: all 0.2s ease;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.bl-stats-item:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
border-color: #6366f1;
}
.bl-stats-icon {
font-size: 1.4em;
color: #6366f1;
flex: 0 0 auto;
}
.bl-stats-info {
display: flex;
flex-direction: column;
min-width: 0;
}
.bl-stats-number {
font-size: 1.15em;
font-weight: 800;
color: #1f2937;
line-height: 1.2;
}
.bl-stats-number a {
color: #1f2937 !important;
text-decoration: none !important;
}
.bl-stats-number a:hover {
color: #6366f1 !important;
}
.bl-stats-label {
font-size: 0.72em;
color: #9ca3af;
letter-spacing: 0.03em;
}
/* =============================================
卡片"更多"链接
============================================= */
.bl-box-more {
margin-left: auto;
font-size: 0.82em;
font-weight: 600;
color: #6366f1;
text-decoration: none !important;
display: inline-flex;
align-items: center;
gap: 2px;
transition: all 0.2s ease;
}
.bl-box-more:hover {
color: #4f46e5;
gap: 4px;
}
.bl-box-more-wrap {
margin-left: auto;
font-size: 0.82em;
font-weight: 600;
}
.bl-box-more-wrap a {
color: #6366f1;
text-decoration: none !important;
display: inline-flex;
align-items: center;
gap: 2px;
transition: all 0.2s ease;
}
.bl-box-more-wrap a:hover {
color: #4f46e5;
}
/* =============================================
最近新闻
============================================= */
.bl-news-scroll {
max-height: 520px;
overflow-y: auto;
padding-right: 4px;
}
.bl-news-scroll::-webkit-scrollbar {
width: 4px;
}
.bl-news-scroll::-webkit-scrollbar-thumb {
background: rgba(99, 102, 241, 0.3);
border-radius: 4px;
}
.bl-news-list {
display: flex;
flex-direction: column;
gap: 2px;
}
.bl-news-item {
display: flex;
align-items: baseline;
gap: 12px;
padding: 10px 0;
border-bottom: 1px solid #f3f4f6;
transition: background 0.15s ease;
}
.bl-news-item:last-child {
border-bottom: none;
}
.bl-news-date {
flex: 0 0 60px;
font-size: 0.78em;
font-weight: 700;
color: #6366f1;
letter-spacing: 0.02em;
white-space: nowrap;
}
.bl-news-text {
font-size: 0.9em;
color: #374151;
line-height: 1.5;
}
.bl-news-text a {
color: #4f46e5 !important;
text-decoration: none !important;
font-weight: 600;
}
.bl-news-text a:hover {
color: #6366f1 !important;
text-decoration: underline !important;
}
/* =============================================
快速上传
============================================= */
.bl-upload-action {
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px;
background: linear-gradient(135deg, #eef2ff, #e0e7ff);
border: 1px dashed #c7d2fe;
border-radius: 12px;
text-decoration: none !important;
transition: all 0.2s ease;
}
.bl-upload-action:hover {
background: linear-gradient(135deg, #e0e7ff, #c7d2fe);
border-color: #6366f1;
transform: translateY(-1px);
}
.bl-upload-action i:first-child {
font-size: 1.6em;
color: #6366f1;
}
.bl-upload-action span {
flex: 1;
font-size: 0.9em;
font-weight: 600;
color: #374151;
}
.bl-upload-action i:last-child {
font-size: 1.2em;
color: #6366f1;
}
/* =============================================
近期更改
============================================= */
.bl-recent-list {
font-size: 0.88em;
line-height: 1.7;
}
.bl-recent-list ul {
margin: 0;
padding-left: 1.2em;
list-style: none;
}
.bl-recent-list li {
padding: 4px 0;
color: #4b5563;
}
.bl-recent-list li a {
color: #4f46e5 !important;
text-decoration: none !important;
font-weight: 500;
}
.bl-recent-list li a:hover {
color: #6366f1 !important;
text-decoration: underline !important;
}
/* =============================================
深色模式:搜索栏 + 统计栏 + 新闻 + 上传 + 近期更改
============================================= */
/* ----- 手动深色模式 (night) ----- */
html.skin-theme-clientpref-night .bl-search-form {
background: var(--color-surface-1, #202122);
border-color: rgba(255, 255, 255, 0.12);
}
html.skin-theme-clientpref-night .bl-search-form:focus-within {
border-color: var(--color-primary, #6ba4ff);
box-shadow: 0 0 0 3px rgba(107, 164, 255, 0.15);
}
html.skin-theme-clientpref-night .bl-search-input {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-night .bl-search-input::placeholder {
color: rgba(255, 255, 255, 0.35);
}
html.skin-theme-clientpref-night .bl-create-btn {
background: rgba(34, 197, 94, 0.15);
color: #4ade80;
border-color: rgba(34, 197, 94, 0.25);
}
html.skin-theme-clientpref-night .bl-create-btn:hover {
background: rgba(34, 197, 94, 0.25);
}
html.skin-theme-clientpref-night .bl-stats-item {
background: var(--color-surface-1, #202122);
border-color: rgba(255, 255, 255, 0.1);
}
html.skin-theme-clientpref-night .bl-stats-item:hover {
border-color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-stats-icon {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-stats-number {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-night .bl-stats-number a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-night .bl-stats-number a:hover {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-stats-label {
color: rgba(255, 255, 255, 0.4);
}
html.skin-theme-clientpref-night .bl-box-more {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-box-more:hover {
color: var(--color-primary--hover, #9bc4ff);
}
html.skin-theme-clientpref-night .bl-box-more-wrap a {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-box-more-wrap a:hover {
color: var(--color-primary--hover, #9bc4ff);
}
html.skin-theme-clientpref-night .bl-news-item {
border-bottom-color: rgba(255, 255, 255, 0.06);
}
html.skin-theme-clientpref-night .bl-news-date {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-news-text {
color: var(--color-base-0, #c8ccd1);
}
html.skin-theme-clientpref-night .bl-news-text a {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-news-text a:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
html.skin-theme-clientpref-night .bl-upload-action {
background: rgba(99, 102, 241, 0.1);
border-color: rgba(99, 102, 241, 0.2);
}
html.skin-theme-clientpref-night .bl-upload-action:hover {
background: rgba(99, 102, 241, 0.18);
border-color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-upload-action i:first-child {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-upload-action span {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-night .bl-upload-action i:last-child {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-recent-list li {
color: var(--color-base-0, #c8ccd1);
}
html.skin-theme-clientpref-night .bl-recent-list li a {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-recent-list li a:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
/* ----- Hero 内嵌组件深色模式 ----- */
html.skin-theme-clientpref-night .bl-hero-search-form {
background: rgba(32, 33, 34, 0.85);
border-color: rgba(255, 255, 255, 0.12);
}
html.skin-theme-clientpref-night .bl-hero-search-form:focus-within {
border-color: var(--color-primary, #6ba4ff);
box-shadow: 0 0 0 3px rgba(107, 164, 255, 0.15);
}
html.skin-theme-clientpref-night .bl-hero-search-input {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-night .bl-hero-search-input::placeholder {
color: rgba(255, 255, 255, 0.35);
}
html.skin-theme-clientpref-night .bl-hero-create-btn {
background: rgba(34, 197, 94, 0.12);
color: #4ade80;
border-color: rgba(34, 197, 94, 0.2);
}
html.skin-theme-clientpref-night .bl-hero-create-btn:hover {
background: rgba(34, 197, 94, 0.2);
}
html.skin-theme-clientpref-night .bl-hero-stat {
background: rgba(32, 33, 34, 0.5);
border-color: rgba(255, 255, 255, 0.08);
}
html.skin-theme-clientpref-night .bl-hero-stat:hover {
background: rgba(32, 33, 34, 0.75);
border-color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-hero-stat-icon {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-hero-stat-number {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-night .bl-hero-stat-number a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-night .bl-hero-stat-number a:hover {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-night .bl-hero-stat-label {
color: rgba(255, 255, 255, 0.35);
}
html.skin-theme-clientpref-night .bl-hero-link {
background: rgba(32, 33, 34, 0.4);
border-color: rgba(255, 255, 255, 0.06);
color: var(--color-base-0, #c8ccd1);
}
html.skin-theme-clientpref-night .bl-hero-link:hover {
background: rgba(32, 33, 34, 0.7);
border-color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-hero-link i {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-night .bl-hero-link a {
color: var(--color-base-0, #c8ccd1) !important;
}
html.skin-theme-clientpref-night .bl-hero-link a:hover {
color: var(--color-primary, #6ba4ff) !important;
}
/* ----- 系统深色模式 (os) ----- */
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .bl-search-form {
background: var(--color-surface-1, #202122);
border-color: rgba(255, 255, 255, 0.12);
}
html.skin-theme-clientpref-os .bl-search-form:focus-within {
border-color: var(--color-primary, #6ba4ff);
box-shadow: 0 0 0 3px rgba(107, 164, 255, 0.15);
}
html.skin-theme-clientpref-os .bl-search-input {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-os .bl-search-input::placeholder {
color: rgba(255, 255, 255, 0.35);
}
html.skin-theme-clientpref-os .bl-create-btn {
background: rgba(34, 197, 94, 0.15);
color: #4ade80;
border-color: rgba(34, 197, 94, 0.25);
}
html.skin-theme-clientpref-os .bl-create-btn:hover {
background: rgba(34, 197, 94, 0.25);
}
html.skin-theme-clientpref-os .bl-stats-item {
background: var(--color-surface-1, #202122);
border-color: rgba(255, 255, 255, 0.1);
}
html.skin-theme-clientpref-os .bl-stats-item:hover {
border-color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-stats-icon {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-stats-number {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-os .bl-stats-number a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-os .bl-stats-number a:hover {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-stats-label {
color: rgba(255, 255, 255, 0.4);
}
html.skin-theme-clientpref-os .bl-box-more {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-box-more:hover {
color: var(--color-primary--hover, #9bc4ff);
}
html.skin-theme-clientpref-os .bl-box-more-wrap a {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-box-more-wrap a:hover {
color: var(--color-primary--hover, #9bc4ff);
}
html.skin-theme-clientpref-os .bl-news-item {
border-bottom-color: rgba(255, 255, 255, 0.06);
}
html.skin-theme-clientpref-os .bl-news-date {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-news-text {
color: var(--color-base-0, #c8ccd1);
}
html.skin-theme-clientpref-os .bl-news-text a {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-news-text a:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
html.skin-theme-clientpref-os .bl-upload-action {
background: rgba(99, 102, 241, 0.1);
border-color: rgba(99, 102, 241, 0.2);
}
html.skin-theme-clientpref-os .bl-upload-action:hover {
background: rgba(99, 102, 241, 0.18);
border-color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-upload-action i:first-child {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-upload-action span {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-os .bl-upload-action i:last-child {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-recent-list li {
color: var(--color-base-0, #c8ccd1);
}
html.skin-theme-clientpref-os .bl-recent-list li a {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-recent-list li a:hover {
color: var(--color-primary--hover, #9bc4ff) !important;
}
html.skin-theme-clientpref-os .bl-hero-search-form {
background: rgba(32, 33, 34, 0.85);
border-color: rgba(255, 255, 255, 0.12);
}
html.skin-theme-clientpref-os .bl-hero-search-form:focus-within {
border-color: var(--color-primary, #6ba4ff);
box-shadow: 0 0 0 3px rgba(107, 164, 255, 0.15);
}
html.skin-theme-clientpref-os .bl-hero-search-input {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-os .bl-hero-search-input::placeholder {
color: rgba(255, 255, 255, 0.35);
}
html.skin-theme-clientpref-os .bl-hero-create-btn {
background: rgba(34, 197, 94, 0.12);
color: #4ade80;
border-color: rgba(34, 197, 94, 0.2);
}
html.skin-theme-clientpref-os .bl-hero-create-btn:hover {
background: rgba(34, 197, 94, 0.2);
}
html.skin-theme-clientpref-os .bl-hero-stat {
background: rgba(32, 33, 34, 0.5);
border-color: rgba(255, 255, 255, 0.08);
}
html.skin-theme-clientpref-os .bl-hero-stat:hover {
background: rgba(32, 33, 34, 0.75);
border-color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-hero-stat-icon {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-hero-stat-number {
color: var(--color-base-20, #e0e0e0);
}
html.skin-theme-clientpref-os .bl-hero-stat-number a {
color: var(--color-base-20, #e0e0e0) !important;
}
html.skin-theme-clientpref-os .bl-hero-stat-number a:hover {
color: var(--color-primary, #6ba4ff) !important;
}
html.skin-theme-clientpref-os .bl-hero-stat-label {
color: rgba(255, 255, 255, 0.35);
}
html.skin-theme-clientpref-os .bl-hero-link {
background: rgba(32, 33, 34, 0.4);
border-color: rgba(255, 255, 255, 0.06);
color: var(--color-base-0, #c8ccd1);
}
html.skin-theme-clientpref-os .bl-hero-link:hover {
background: rgba(32, 33, 34, 0.7);
border-color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-hero-link i {
color: var(--color-primary, #6ba4ff);
}
html.skin-theme-clientpref-os .bl-hero-link a {
color: var(--color-base-0, #c8ccd1) !important;
}
html.skin-theme-clientpref-os .bl-hero-link a:hover {
color: var(--color-primary, #6ba4ff) !important;
}
}
/* ===== 中纬度秋季:仅布局、阅读比例和轻量装饰;Citizen 效果仍由原规则控制 =====
换季优先改这里的三个色值。保留 .bl-*,不覆盖背景图、模糊、阴影、动画或伪元素。 */
.bl-mainpage {
--bl-autumn-red: #aa6554;
--bl-autumn-gold: #ad8b50;
--bl-autumn-taupe: #887c6c;
font-family: inherit;
font-size: inherit;
line-height: 1.7;
}
.bl-mainpage .bl-grid {
display: grid;
grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
grid-template-areas: "main side";
gap: 24px;
align-items: start;
}
.bl-mainpage .bl-maincol { grid-area: main; min-width: 0; }
.bl-mainpage .bl-sidecol { grid-area: side; min-width: 0; margin-top: 0; }
.bl-mainpage .bl-hero-title { font-size: clamp(1.65em, 3vw, 2.2em); line-height: 1.35; }
.bl-mainpage .bl-hero-desc { font-size: 1em; line-height: 1.8; }
.bl-mainpage .bl-box-title { font-size: 1.1em; }
.bl-mainpage .bl-box-icon { color: var(--bl-autumn-red); }
.bl-mainpage .bl-hero { border-color: var(--bl-autumn-gold); }
.bl-mainpage .bl-box-header { border-bottom-color: var(--bl-autumn-gold); }
.bl-mainpage .bl-mascot { flex: 0 0 100px; }
.bl-mainpage .bl-mascot img { max-width: 100%; height: auto; }
.bl-mainpage .bl-home-notices { margin: 0 36px 18px; padding-left: 14px; border-left: 2px solid var(--bl-autumn-gold); font-size: .9em; line-height: 1.8; }
.bl-mainpage .bl-home-notices p { margin: .4em 0; }
.bl-mainpage .bl-featured-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.bl-mainpage .bl-featured { min-width: 0; }
.bl-mainpage .bl-featured-img { aspect-ratio: 4 / 3; overflow: hidden; }
.bl-mainpage .bl-featured-img > span,
.bl-mainpage .bl-featured-img a { display: block; width: 100%; height: 100%; }
.bl-mainpage .bl-featured-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.bl-mainpage .bl-featured-desc { font-size: .95em; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; max-height: 7em; overflow: hidden; }
.bl-mainpage .bl-navitem { font-size: .95em; }
.bl-mainpage .bl-recent-list { font-size: .9em; overflow-wrap: anywhere; }
.bl-mainpage .bl-hero-stat-label { font-size: .8em; }
/* 轻量站外入口:细线、短说明,沿用 Citizen 文字和表面颜色。 */
.bl-mainpage .bl-autumn-portals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 0 36px 20px; }
.bl-mainpage a.bl-autumn-portal {
display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 8px;
padding: 11px 14px; min-width: 0; border: 1px solid var(--color-border,#c8c3ba);
border-top: 2px solid var(--bl-autumn-taupe); border-radius: 9px;
color: var(--color-base,#202122); background-color: transparent;
text-decoration: none; transition: border-color .18s ease, background-color .18s ease;
}
.bl-mainpage a.bl-autumn-portal:nth-child(2n) { border-top-color: var(--bl-autumn-gold); }
.bl-mainpage a.bl-autumn-portal:hover { border-color: var(--bl-autumn-red); background-color: var(--color-surface-2,rgba(136,124,108,.08)); text-decoration: none; }
.bl-mainpage a.bl-autumn-portal:focus-visible { outline: 2px solid var(--color-primary,#36c); outline-offset: 3px; }
.bl-mainpage .bl-autumn-portal-label { font-size: .95em; font-weight: 600; }
.bl-mainpage .bl-autumn-portal-note { grid-column: 1; font-size: .8em; color: var(--color-base--subtle,#72777d); }
.bl-mainpage .bl-autumn-portal-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--bl-autumn-gold); }
@media (max-width: 900px) { .bl-mainpage .bl-autumn-portals { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) {
.bl-mainpage .bl-grid { grid-template-columns: minmax(0,1fr); grid-template-areas: "main" "side"; gap: 18px; }
.bl-mainpage .bl-autumn-portals { padding: 0 20px 16px; gap: 8px; }
.bl-mainpage .bl-home-notices { margin-left: 20px; margin-right: 20px; }
.bl-mainpage .bl-mascot { flex-basis: 64px; }
.bl-mainpage .bl-featured-grid { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) { .bl-mainpage a.bl-autumn-portal { transition: none; } }