/**
 * 全站舒适阅读层 v2
 * 交互点亮 · 内容退后 · 卡片中性景深
 */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

::selection {
  background: rgba(var(--bm-brand-rgb), 0.16);
  color: var(--bm-text);
}

/* —— 字色层级 —— */
.section-title,
.hero-title,
.category-title,
.software-title,
.footer-title {
  color: var(--bm-text);
}

.section-subtitle,
.bm-sd-topic-kicker,
.bm-page-software .bm-sd-topic-band--dark .bm-sd-topic-kicker,
.bm-page-software .bm-sd-topic-band--related .bm-sd-topic-kicker {
  color: var(--bm-section-kicker);
  font-weight: 500;
}

.hero-subtitle {
  color: var(--bm-text-secondary);
}

/* —— 卡片：中性边框 + 轻景深，hover 不泛绿 —— */
.category-card,
.software-card,
.bm-page .software-card,
.bm-page-software .related-item,
.bm-page-software .download-link,
.search-form,
.bm-page .results-info.bm-results-strip,
.bm-footer-notice {
  box-shadow: var(--bm-shadow-card);
}

.category-card:hover,
.software-card:hover,
.bm-page .software-card:hover,
.bm-page-software .related-item:hover,
.bm-page-software .download-link:hover {
  box-shadow: var(--bm-shadow-hover);
  border-color: var(--bm-border-light-strong);
}

/* 装饰性图标：深绿，非荧光绿 */
.category-icon {
  color: var(--bm-brand-active);
}

.bm-header .navbar-nav .nav-link i {
  color: var(--bm-brand-active);
}

/* —— CTA：唯一高饱和元素 —— */
.search-btn,
.download-btn,
.btn-primary,
.bm-page .download-btn,
.bm-page-software .bm-sd-topic-hero .download-btn-compact:not(.bm-btn-share),
.category-count {
  background: var(--bm-brand);
}

.search-btn:hover,
.download-btn:hover,
.btn-primary:hover,
.bm-page .download-btn:hover,
.bm-page-software .bm-sd-topic-hero .download-btn-compact:not(.bm-btn-share):hover {
  background: var(--bm-brand-hover);
  box-shadow: var(--bm-shadow-brand);
}

/* —— 链接：深绿，hover 才亮 —— */
.footer a:hover,
.bm-page .breadcrumb-item a:hover {
  color: var(--bm-brand);
}

/* —— 输入聚焦：外框统一由 search-rim 承担 —— */
.search-container:focus-within .search-rim {
  border-color: var(--bm-border-brand);
  box-shadow: var(--bm-focus-ring);
}

.search-box:focus {
  border-color: transparent;
  box-shadow: none;
}

.search-form .form-control:focus,
.search-form .form-select:focus {
  border-color: var(--bm-border-brand);
  box-shadow: var(--bm-focus-ring);
}

/* —— 长文区行高 —— */
.bm-sd-topic-prose,
.content-text,
.category-description,
.software-description {
  line-height: var(--bm-leading-relaxed);
}

/* —— 搜索聚焦：一次性全屏轻晕（不持续）—— */
.bm-search-spotlight {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 20;
  opacity: 0;
  background:
    radial-gradient(ellipse 85% 75% at 50% 32%, transparent 42%, rgba(15, 33, 25, 0.1) 100%);
}

.bm-search-spotlight.is-pulsing {
  animation: bm-search-spotlight-pulse 0.7s ease-out forwards;
}

@keyframes bm-search-spotlight-pulse {
  0% { opacity: 0; }
  22% { opacity: 1; }
  100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .bm-search-spotlight,
  .bm-search-spotlight.is-pulsing {
    animation: none !important;
    opacity: 0 !important;
  }
}
