/* 毛笔字体 - 马善政 */
@font-face {
  font-family: 'Ma Shan Zheng';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ma-shan-zheng.ttf') format('truetype');
}

/* 取消入场动画，首屏即时显示 */
#web_bg.bg-animation,
#site-title,
#site-subtitle,
#content-inner,
#footer,
#page-header:not(.full_page) {
  animation: none !important;
}

/* 全局字号 */
:root {
  --global-font-size: 14px;
}

/* 首页标题 - 毛笔字 */
#site-title {
  font-family: 'Ma Shan Zheng', 'STKaiti', 'KaiTi', serif !important;
  font-size: 3.3em !important;
  color: #ffffff !important;
  letter-spacing: 0.12em;
  text-shadow: 0 0 20px rgba(255, 220, 150, 0.35), 2px 2px 10px rgba(0, 0, 0, 0.7);
}

#site-subtitle,
#site-subtitle #subtitle {
  font-family: 'Ma Shan Zheng', 'STKaiti', 'KaiTi', serif !important;
  font-size: 1.5em !important;
  color: rgba(255, 255, 255, 0.9) !important;
  letter-spacing: 0.08em;
  text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.6);
}

/* 顶部导航站名 */
#nav .site-name {
  font-family: 'Ma Shan Zheng', cursive !important;
  font-size: 1.05em !important;
  letter-spacing: 0.06em;
}

/* 顶部导航 */
#nav {
  font-size: 1.2em !important;
}

#nav .site-page {
  font-size: 0.8em !important;
}

/* 侧边栏作者名 */
.author-info-name {
  font-family: 'Ma Shan Zheng', cursive !important;
  font-size: 1.25em !important;
}

@media screen and (min-width: 768px) {
  #site-title {
    font-size: 4em !important;
  }

  #site-subtitle,
  #site-subtitle #subtitle {
    font-size: 1.65em !important;
  }
}

/* 星空暗色主题 */
html[data-theme='dark'] {
  --global-bg: #080c14;
  --card-bg: rgba(14, 20, 36, 0.92);
  --sidebar-bg: rgba(14, 20, 36, 0.92);
}

html[data-theme='dark'] body {
  position: relative;
  background-color: #080c14 !important;
  background-image:
    radial-gradient(ellipse at 50% 0%, rgba(40, 60, 120, 0.28), transparent 55%),
    radial-gradient(ellipse at 15% 85%, rgba(60, 40, 100, 0.15), transparent 50%),
    radial-gradient(ellipse at 85% 90%, rgba(80, 50, 120, 0.14), transparent 45%);
}

/* 首页背景不 fixed，滚动更流畅 */
#page-header.full_page {
  background-attachment: scroll !important;
}

/* 星星层：静态显示，避免持续动画占用 GPU */
html[data-theme='dark'] body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    radial-gradient(1.5px 1.5px at 5% 12%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 12% 35%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1.5px 1.5px at 20% 8%, rgba(255, 255, 255, 0.75), transparent),
    radial-gradient(1px 1px at 28% 62%, rgba(255, 255, 255, 0.55), transparent),
    radial-gradient(2px 2px at 35% 22%, rgba(200, 220, 255, 0.85), transparent),
    radial-gradient(1px 1px at 42% 78%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1.5px 1.5px at 50% 45%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 58% 15%, rgba(255, 255, 255, 0.55), transparent),
    radial-gradient(1.5px 1.5px at 65% 88%, rgba(255, 255, 255, 0.65), transparent),
    radial-gradient(1px 1px at 72% 32%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(2px 2px at 78% 58%, rgba(255, 230, 180, 0.8), transparent),
    radial-gradient(1px 1px at 85% 18%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1.5px 1.5px at 92% 72%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 96% 38%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1px 1px at 8% 88%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1.5px 1.5px at 48% 92%, rgba(255, 255, 255, 0.6), transparent);
}

html[data-theme='dark'] body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    radial-gradient(1px 1px at 7% 48%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1.5px 1.5px at 16% 72%, rgba(255, 255, 255, 0.55), transparent),
    radial-gradient(1px 1px at 24% 28%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1px 1px at 33% 52%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1.5px 1.5px at 41% 8%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 53% 68%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 61% 38%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1.5px 1.5px at 69% 82%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 77% 48%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 84% 62%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1.5px 1.5px at 91% 22%, rgba(255, 255, 255, 0.55), transparent),
    radial-gradient(1px 1px at 3% 65%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 56% 5%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1.5px 1.5px at 94% 88%, rgba(255, 230, 200, 0.5), transparent);
}

html[data-theme='dark'] #body-wrap,
html[data-theme='dark'] #sidebar {
  position: relative;
  z-index: 1;
}

html[data-theme='dark'] .card-widget,
html[data-theme='dark'] .recent-post-item {
  background: rgba(16, 22, 40, 0.95) !important;
  border: 1px solid rgba(120, 150, 220, 0.12) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35) !important;
}

html[data-theme='dark'] .recent-post-item:hover {
  border-color: rgba(120, 150, 220, 0.28) !important;
  box-shadow: 0 6px 28px rgba(40, 80, 160, 0.2) !important;
}

html[data-theme='dark'] #footer {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.55);
}

html[data-theme='dark'] #nav.fixed #nav,
html[data-theme='dark'] #page-header.not-top-img #nav {
  background: rgba(8, 12, 20, 0.92) !important;
}

/* 社交图标对比度（明暗模式） */
html[data-theme='dark'] .social-icon .fa-github {
  color: #79c0ff !important;
}

html[data-theme='light'] .social-icon .fa-github {
  color: #0969da !important;
}

html[data-theme='dark'] .social-icon:hover .fa-github {
  color: #a5d6ff !important;
}

html[data-theme='light'] .social-icon:hover .fa-github {
  color: #0550ae !important;
}

/* 子页面横幅背景（关于我 / 留言板等） */
#page-header.not-home-page {
  background-color: #080c14 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#page-header.not-home-page:before {
  background-color: rgba(0, 0, 0, 0.3) !important;
}

#page-header[style*='about-bg'],
#body-wrap.type-about #page-header.not-home-page {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/about-bg.png') !important;
  background-size: cover !important;
  background-position: center 28% !important;
  background-repeat: no-repeat !important;
}

#page-header[style*='about-bg'] #page-site-info,
#body-wrap.type-about #page-header #page-site-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#page-header[style*='about-bg']:before,
#body-wrap.type-about #page-header.not-home-page:before {
  background-color: rgba(0, 0, 0, 0.15) !important;
}

/* 留言板：按高度放大，两侧黑色与图片边缘衔接 */
#body-wrap.type-message #page-header.not-home-page {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/message-bg.png') !important;
  background-size: auto 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#body-wrap.type-message #page-header #page-site-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#body-wrap.type-message #page-header.not-home-page:before {
  background-color: transparent !important;
}

/* 项目页：虫洞门户铺满上方 */
#body-wrap.type-link #page-header.not-home-page,
#page-header[style*='project-bg'] {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/project-bg.png') !important;
  background-size: cover !important;
  background-position: center 48% !important;
  background-repeat: no-repeat !important;
}

#body-wrap.type-link #page-header #page-site-info,
#page-header[style*='project-bg'] #page-site-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#body-wrap.type-link #page-header.not-home-page:before,
#page-header[style*='project-bg']:before {
  background-color: rgba(0, 0, 0, 0.15) !important;
}

/* 技术笔记分类：火箭发射铺满上方 */
#page-header[style*='tech-rocket-bg'],
#page-header.post-bg[style*='tech-rocket-bg'] {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/tech-rocket-bg.png') !important;
  background-size: cover !important;
  background-position: 62% center !important;
  background-repeat: no-repeat !important;
}

#page-header[style*='tech-rocket-bg'] #page-site-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#page-header[style*='tech-rocket-bg']:before {
  background-color: rgba(0, 0, 0, 0.12) !important;
}

/* 生活随笔分类：星空山脉铺满上方 */
#page-header[style*='life-mountain-bg'],
#page-header.post-bg[style*='life-mountain-bg'] {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/life-mountain-bg.png') !important;
  background-size: cover !important;
  background-position: center 62% !important;
  background-repeat: no-repeat !important;
}

#page-header[style*='life-mountain-bg'] #page-site-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#page-header[style*='life-mountain-bg']:before {
  background-color: rgba(0, 0, 0, 0.12) !important;
}

/* 归档页：空间站铺满上方 */
#page-header[style*='archive-station-bg'],
#page-header.post-bg[style*='archive-station-bg'] {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/archive-station-bg.png') !important;
  background-size: cover !important;
  background-position: center 50% !important;
  background-repeat: no-repeat !important;
}

#page-header[style*='archive-station-bg'] #page-site-info {
  top: 50% !important;
  transform: translateY(-50%);
}

.recent-post-item,
.card-widget {
  content-visibility: auto;
  contain-intrinsic-size: auto 200px;
}

#page-header[style*='archive-station-bg']:before {
  background-color: rgba(0, 0, 0, 0.12) !important;
}

/* 技术分类备用背景 */
#page-header[style*='tech-bg'],
#page-header.post-bg[style*='tech-bg'] {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/tech-bg.png') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#page-header[style*='tech-bg'] #page-site-info,
#page-header[style*='tech-bg'] #post-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#page-header[style*='tech-bg']:before {
  background-color: rgba(0, 0, 0, 0.12) !important;
}

/* 生活分类备用背景 */
#page-header[style*='life-bg'],
#page-header.post-bg[style*='life-bg'] {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/life-bg.png') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#page-header[style*='life-bg'] #page-site-info,
#page-header[style*='life-bg'] #post-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#page-header[style*='life-bg']:before {
  background-color: rgba(0, 0, 0, 0.12) !important;
}

/* 星空标签背景 */
#page-header[style*='life-star-bg'],
#page-header.post-bg[style*='life-star-bg'] {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/life-star-bg.png') !important;
  background-size: cover !important;
  background-position: center 55% !important;
  background-repeat: no-repeat !important;
}

#page-header[style*='life-star-bg'] #page-site-info,
#page-header[style*='life-star-bg'] #post-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#page-header[style*='life-star-bg']:before {
  background-color: rgba(0, 0, 0, 0.12) !important;
}

/* 分类/友链汇总页背景 */
#page-header[style*='link-bg'],
#body-wrap.type-categories #page-header.not-home-page {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/link-bg.png') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#page-header[style*='link-bg'] #page-site-info,
#body-wrap.type-categories #page-header #page-site-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#page-header[style*='link-bg']:before,
#body-wrap.type-categories #page-header.not-home-page:before {
  background-color: rgba(0, 0, 0, 0.12) !important;
}

/* 标签汇总页 */
#body-wrap.type-tags #page-header.not-home-page {
  height: 50vh !important;
  min-height: 300px !important;
  max-height: 520px !important;
  background-color: #000 !important;
  background-image: url('/img/life-star-bg.png') !important;
  background-size: cover !important;
  background-position: center 55% !important;
  background-repeat: no-repeat !important;
}

#body-wrap.type-tags #page-header #page-site-info {
  top: 50% !important;
  transform: translateY(-50%);
}

#body-wrap.type-tags #page-header.not-home-page:before {
  background-color: rgba(0, 0, 0, 0.12) !important;
}
