/* ============================================================
   灵闪软件 用户手册 - 自定义样式
   ============================================================ */

/* ---------- 1. 全局变量 & 基础 ---------- */

:root {
  --ls-accent:      #4a6cf7;
  --ls-accent-soft: rgba(74, 108, 247, 0.08);
  --ls-border:      #e8e8e8;
  --ls-radius:      6px;
  --ls-shadow:      0 2px 12px rgba(0, 0, 0, 0.07);
  --ls-transition:  0.2s ease;
  --ls-text:        #1a1a1a;
  --ls-text-light:  #666;
}

/* ---------- 1b. 深色模式变量覆盖 ---------- */

[data-md-color-scheme="slate"] {
  --ls-accent:      #3b82f6;
  --ls-accent-soft: rgba(59, 130, 246, 0.12);
  --ls-border:      rgba(255, 255, 255, 0.1);
  --ls-shadow:      0 2px 16px rgba(0, 0, 0, 0.5);
  --ls-text:        #e2e8f0;
  --ls-text-light:  #94a3b8;

  /* Material theme 背景覆盖 */
  --md-default-bg-color: #06060a;
  --md-default-fg-color: #e2e8f0;
  --md-code-bg-color:    #13131d;
  --md-typeset-color:    #e2e8f0;
}

/* 主体背景 */
[data-md-color-scheme="slate"] body,
[data-md-color-scheme="slate"] .md-main {
  background-color: #06060a;
}

[data-md-color-scheme="slate"] .md-main__inner {
  background-color: #06060a;
}

[data-md-color-scheme="slate"] .md-content {
  background-color: #06060a;
}

/* 侧边栏背景 */
[data-md-color-scheme="slate"] .md-sidebar {
  background-color: #0d0d14;
}

[data-md-color-scheme="slate"] .md-sidebar__scrollwrap {
  background-color: #0d0d14;
}

/* 深色主题 primary/accent 变量（仅 slate 生效，不污染浅色模式） */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color:        #0d0d14;
  --md-primary-fg-color--light: #1a1a28;
  --md-primary-fg-color--dark:  #06060a;
  --md-primary-bg-color:        #f1f5f9;
  --md-accent-fg-color:         #3b82f6;
}

html { scroll-behavior: smooth; }

/* ---------- 2. 顶部阅读进度条 ---------- */

#ls-progress-bar {
  position: fixed;
  top: 0; left: 0;
  width: 0%;
  height: 2px;
  background: var(--ls-accent);
  z-index: 9999;
  transition: width 0.08s linear;
}

/* ---------- 3. 内容区淡入 ---------- */

.md-content__inner {
  animation: ls-in 0.35s ease both;
}
@keyframes ls-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- 4. 内容区最大宽度 & 留白 ---------- */

.md-content__inner {
  max-width: 900px;
  padding: 0 1.5rem 3rem;
}

/* ---------- 5. Hero 区（首页水印大字） ---------- */

.ls-hero {
  position: relative;
  text-align: center;
  padding: 5rem 1rem 3.5rem;
  overflow: hidden;
  margin-bottom: 2rem;
}

.ls-hero-watermark {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(2.8rem, 7vw, 5.5rem);
  font-weight: 900;
  color: rgba(0, 0, 0, 0.06);
  letter-spacing: -0.02em;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
}

.ls-hero-subtitle {
  position: relative;
  font-size: 1.05rem;
  color: var(--ls-text-light);
  margin: 0;
  letter-spacing: 0.02em;
}

[data-md-color-scheme="slate"] .ls-hero-watermark {
  color: rgba(255, 255, 255, 0.04);
}

.ls-hero-body {
  position: relative;
  z-index: 1;
}

.ls-hero-desc {
  font-size: 1rem;
  color: #3a3a3a;
  line-height: 2;
  margin: 0 auto 1rem;
  max-width: 620px;
}

[data-md-color-scheme="slate"] .ls-hero-desc { color: rgba(255,255,255,0.75); }

.ls-hero-tagline {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ls-text-light);
  letter-spacing: 0.08em;
  margin: 0;
}

/* 产品优势网格：图标对齐，简洁 */
.ls-feature-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* 应用场景标签行 */
.ls-app-tags {
  text-align: center;
  font-size: 0.88em;
  color: var(--ls-text-light);
  padding: 0.8rem 0 0.2rem;
  line-height: 2.2;
}

/* ---------- 6. 标题 ---------- */

.md-typeset h1 {
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ls-text);
  font-size: 2rem;
  border: none;
}

.md-typeset h2 {
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: -0.01em;
  margin-top: 2.8rem;
  padding-bottom: 0.4em;
  border-bottom: 2px solid var(--ls-border);
  border-left: none;
}

.md-typeset h3 {
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--ls-text);
  border-left: 3px solid var(--ls-accent);
  padding-left: 0.6em;
  margin-top: 1.8rem;
}

.md-typeset h4 {
  font-weight: 600;
  color: var(--ls-text-light);
}

[data-md-color-scheme="slate"] .md-typeset h1 { color: #f1f5f9; }
[data-md-color-scheme="slate"] .md-typeset h2 { color: #e2e8f0; }
[data-md-color-scheme="slate"] .md-typeset h3 { color: #e2e8f0; }
[data-md-color-scheme="slate"] .md-typeset h4 { color: #94a3b8; }

/* ---------- 7. 正文段落 ---------- */

.md-typeset p {
  line-height: 1.85;
  color: #2c2c2c;
}

[data-md-color-scheme="slate"] .md-typeset p {
  color: #cbd5e1;
}

/* ---------- 8. 图片 ---------- */

.md-typeset img {
  display: block;
  margin: 1.4rem auto;
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  box-shadow: var(--ls-shadow);
  max-width: 100%;
  cursor: zoom-in;
  transition: box-shadow var(--ls-transition);
}

.md-typeset img:hover {
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.13);
}

.md-typeset img + em {
  display: block;
  text-align: center;
  color: var(--ls-text-light);
  font-size: 0.82em;
  margin-top: -0.8rem;
  margin-bottom: 1.4rem;
}

/* ---------- 9. 灯箱 ---------- */

#ls-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.9);
  z-index: 10000;
  align-items: center;
  justify-content: center;
  animation: ls-in 0.15s ease both;
}
#ls-lightbox.active { display: flex; }

#ls-lightbox img {
  max-width: 90vw;
  max-height: 88vh;
  border-radius: var(--ls-radius);
  box-shadow: none;
  cursor: zoom-out;
  margin: 0;
  border: none;
  transform: none !important;
}

#ls-lightbox-close {
  position: fixed;
  top: 1rem; right: 1.4rem;
  color: #fff;
  font-size: 2.2rem;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity var(--ls-transition);
  user-select: none;
  line-height: 1;
}
#ls-lightbox-close:hover { opacity: 1; }

/* ---------- 10. 表格 ---------- */

.md-typeset table {
  display: block;
  overflow-x: auto;
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  box-shadow: none;
  font-size: 0.9em;
  border-collapse: separate;
  border-spacing: 0;
}

.md-typeset thead tr {
  background: #f5f5f5;
}

[data-md-color-scheme="slate"] .md-typeset thead tr {
  background: #13131d;
}

.md-typeset thead th {
  font-weight: 600;
  border-bottom: 1px solid var(--ls-border);
  color: var(--ls-text);
  font-size: 0.88em;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.md-typeset tbody tr {
  transition: background var(--ls-transition);
}
.md-typeset tbody tr:hover {
  background: var(--ls-accent-soft);
}
.md-typeset tbody tr.ls-row-active {
  background: var(--ls-accent-soft);
  outline: 1px solid var(--ls-accent);
  outline-offset: -1px;
}

.md-typeset td, .md-typeset th {
  padding: 0.65em 1.1em;
  border-color: var(--ls-border);
}

[data-md-color-scheme="slate"] .md-typeset td,
[data-md-color-scheme="slate"] .md-typeset th {
  color: #e2e8f0;
  border-color: rgba(255, 255, 255, 0.1);
}

[data-md-color-scheme="slate"] .md-typeset tbody tr {
  background-color: #0d0d14;
}

[data-md-color-scheme="slate"] .md-typeset tbody tr:nth-child(even) {
  background-color: #13131d;
}

[data-md-color-scheme="slate"] .md-typeset tbody tr:hover {
  background-color: rgba(59, 130, 246, 0.08);
}

/* ---------- 11. 卡片网格（参考：极简白卡，悬停上浮）---------- */

.grid.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.2rem;
  margin: 1.8rem 0;
}

.grid.cards > * {
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  padding: 1.3rem 1.4rem;
  background: #fff;
  transition: transform var(--ls-transition),
              box-shadow var(--ls-transition),
              border-color var(--ls-transition);
}

[data-md-color-scheme="slate"] .grid.cards > * {
  background: #13131d;
  border-color: rgba(255,255,255,0.08);
}

.grid.cards > *:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  border-color: var(--ls-accent);
}

/* ---------- 12. 代码块 ---------- */

.md-typeset code {
  font-size: 0.86em;
  border-radius: 4px;
  padding: 0.15em 0.4em;
  background: #f3f3f3;
}

[data-md-color-scheme="slate"] .md-typeset code {
  background: rgba(255,255,255,0.08);
}

.md-typeset pre {
  border-radius: var(--ls-radius);
  border: 1px solid var(--ls-border);
  box-shadow: none;
}

.md-typeset pre > code {
  font-size: 0.84em;
  background: transparent;
  padding: 0;
}

/* ---------- 13. admonition ---------- */

.md-typeset .admonition,
.md-typeset details {
  border-radius: var(--ls-radius);
  box-shadow: none;
  border-width: 0 0 0 3px;
  font-size: 0.93em;
}

/* ---------- 14. 导航栏：白底 + logo 文字品牌区 ---------- */

/* 头部整体：去掉蓝色，改纯白 */
.md-header {
  background-color: #ffffff !important;
  color: var(--ls-text) !important;
  box-shadow: 0 1px 0 var(--ls-border);
}

.md-header__inner { color: var(--ls-text); }

/* 顶部 Tab 栏同步白底 */
.md-tabs {
  background-color: #ffffff !important;
  border-bottom: 1px solid var(--ls-border);
}

.md-tabs__link {
  color: var(--ls-text-light) !important;
  opacity: 1 !important;
  font-weight: 500;
}

.md-tabs__link--active,
.md-tabs__link:hover {
  color: var(--ls-accent) !important;
}

/* Tab 激活下划线 */
.md-tabs__link--active::after {
  content: '';
  display: block;
  height: 2px;
  background: var(--ls-accent);
  margin-top: 2px;
  border-radius: 1px;
}

/* 搜索框图标颜色 */
.md-header__button.md-icon { color: var(--ls-text-light) !important; }
.md-header__button.md-icon:hover { color: var(--ls-accent) !important; }

/* 品牌区：logo 图片 + IntelliBlink 文字 */
.md-header__title .md-header__topic:first-child {
  display: flex;
  align-items: center;
  gap: 0;
}

/* logo 图片：放大并对齐 */
.md-logo {
  padding: 0 0.4rem 0 0;
}

.md-logo img {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  object-fit: contain;
}

/* 站点名称：IntelliBlink 大字醒目 */
.md-header__title {
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
  color: var(--ls-text) !important;
}

/* 当前页面副标题（在 title 下方）缩小弱化 */
.md-header__title .md-header__topic ~ .md-header__topic {
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  opacity: 0.55;
}

/* 深色模式：头部 */
[data-md-color-scheme="slate"] .md-header {
  background-color: #0d0d14 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.06);
}

[data-md-color-scheme="slate"] .md-tabs {
  background-color: #0d0d14 !important;
  border-bottom-color: rgba(255,255,255,0.08);
}

[data-md-color-scheme="slate"] .md-tabs__link { color: rgba(255,255,255,0.55) !important; }
[data-md-color-scheme="slate"] .md-tabs__link--active,
[data-md-color-scheme="slate"] .md-tabs__link:hover { color: #3b82f6 !important; }
[data-md-color-scheme="slate"] .md-header__title { color: #f1f5f9 !important; }
[data-md-color-scheme="slate"] .md-header__button.md-icon { color: rgba(255,255,255,0.6) !important; }
[data-md-color-scheme="slate"] .md-header__button.md-icon:hover { color: #3b82f6 !important; }

/* 侧边栏导航链接 */
[data-md-color-scheme="slate"] .md-nav__link {
  color: #94a3b8;
}
[data-md-color-scheme="slate"] .md-nav__link:hover,
[data-md-color-scheme="slate"] .md-nav__link--active {
  color: #3b82f6;
}

/* ---------- 14b. 导航侧栏链接 ---------- */

.md-nav__link {
  position: relative;
  transition: color var(--ls-transition);
}

/* ---------- 15. 分割线 ---------- */

.md-typeset hr {
  border: none;
  border-top: 1px solid var(--ls-border);
  margin: 2.5rem 0;
}

/* ---------- 16. 响应式 ---------- */

@media screen and (max-width: 960px) {
  .md-content__inner { max-width: 100%; }
}

@media screen and (max-width: 768px) {
  .md-typeset h1 { font-size: 1.6rem; }
  .md-typeset h2 { font-size: 1.18rem; margin-top: 2rem; }
  .md-typeset h3 { font-size: 1rem; }

  .grid.cards {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .md-typeset img { cursor: default; }
  .md-typeset table { font-size: 0.82em; }
  .md-typeset td, .md-typeset th { padding: 0.5em 0.7em; }

  .ls-hero { padding: 3rem 1rem 2rem; }
}

@media screen and (max-width: 480px) {
  .md-content__inner { padding: 0 0.8rem 2rem; }
  .md-typeset h1 { font-size: 1.35rem; }
  .md-typeset h2 { font-size: 1.05rem; }
}

/* ---------- 17. 首页卡片微调 ---------- */

/* 首页卡片：每行最多3列，内容简洁不堆砌 */
.md-typeset .grid.cards {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  max-width: 860px;
}

/* 卡片内的 → 链接沉到底部 */
.md-typeset .grid.cards > * {
  display: flex;
  flex-direction: column;
}

.md-typeset .grid.cards > * p:last-child {
  margin-top: auto;
  padding-top: 0.6rem;
}

/* ---------- 18. 联系我们页卡片 ---------- */

.ls-contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.1rem;
  margin: 1.5rem 0;
}

.ls-contact-card {
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  padding: 1.3rem 1.4rem;
  background: #fff;
  transition: box-shadow var(--ls-transition), border-color var(--ls-transition);
}

.ls-contact-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.09);
  border-color: var(--ls-accent);
}

[data-md-color-scheme="slate"] .ls-contact-card {
  background: #13131d;
  border-color: rgba(255,255,255,0.08);
}

.ls-contact-tag {
  display: inline-block;
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: #fff3cd;
  color: #7a5500;
  border-radius: 3px;
  padding: 0.15em 0.55em;
  margin-bottom: 0.6rem;
}

.ls-contact-tag--blue {
  background: #e8f0fe;
  color: #1a56db;
}

.ls-contact-tag--green {
  background: #e6f4ea;
  color: #1a7341;
}

.ls-contact-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ls-text);
  margin-bottom: 0.7rem;
}

.ls-contact-location {
  font-size: 0.85em;
  color: var(--ls-text-light);
  margin-bottom: 0.4rem;
}

.ls-contact-item {
  font-size: 0.88em;
  color: var(--ls-text-light);
  margin: 0.3rem 0;
  line-height: 1.6;
}

.ls-contact-item a {
  color: var(--ls-accent);
  text-decoration: none;
}

.ls-contact-item a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .ls-contact-grid { grid-template-columns: 1fr; }
  .ls-index-grid   { grid-template-columns: 1fr; }
}

/* ---------- 20. 深色模式 — 全面补充 ---------- */

/* 基础文字色：覆盖 Material slate 默认，确保所有继承元素可见 */
[data-md-color-scheme="slate"] .md-typeset {
  color: #cbd5e1;
}

/* 段落、列表、引用块 */
[data-md-color-scheme="slate"] .md-typeset li {
  color: #cbd5e1;
}
[data-md-color-scheme="slate"] .md-typeset ul li::marker,
[data-md-color-scheme="slate"] .md-typeset ol li::marker {
  color: #3b82f6;
}
[data-md-color-scheme="slate"] .md-typeset blockquote {
  color: #94a3b8;
  border-left-color: #3b82f6;
}

/* 加粗 / 斜体 */
[data-md-color-scheme="slate"] .md-typeset strong {
  color: #f1f5f9;
}
[data-md-color-scheme="slate"] .md-typeset em {
  color: #94a3b8;
}

/* 链接 */
[data-md-color-scheme="slate"] .md-typeset a {
  color: #60a5fa;
}
[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: #93c5fd;
}

/* 行内代码 */
[data-md-color-scheme="slate"] .md-typeset code {
  background: #1a1a28;
  color: #93c5fd;
}

/* 代码块边框 */
[data-md-color-scheme="slate"] .md-typeset pre {
  border-color: rgba(255, 255, 255, 0.08);
}

/* 图片边框 */
[data-md-color-scheme="slate"] .md-typeset img {
  border-color: rgba(255, 255, 255, 0.1);
}

/* 表格：最高优先级，防止 Material 覆盖 */
[data-md-color-scheme="slate"] .md-typeset table {
  border-color: rgba(255, 255, 255, 0.08);
}
[data-md-color-scheme="slate"] .md-typeset td,
[data-md-color-scheme="slate"] .md-typeset th {
  color: #e2e8f0 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Admonition / details 提示框 */
[data-md-color-scheme="slate"] .md-typeset .admonition,
[data-md-color-scheme="slate"] .md-typeset details {
  background-color: #13131d;
  border-color: #3b82f6;
}
[data-md-color-scheme="slate"] .md-typeset .admonition > p,
[data-md-color-scheme="slate"] .md-typeset details > p {
  color: #cbd5e1;
}
[data-md-color-scheme="slate"] .md-typeset .admonition-title,
[data-md-color-scheme="slate"] .md-typeset summary {
  color: #e2e8f0;
  background-color: rgba(59, 130, 246, 0.15);
}

/* 搜索框 */
[data-md-color-scheme="slate"] .md-search__form {
  background-color: #13131d;
}
[data-md-color-scheme="slate"] .md-search__input {
  color: #e2e8f0;
}
[data-md-color-scheme="slate"] .md-search__input::placeholder {
  color: #64748b;
}
[data-md-color-scheme="slate"] .md-search-result__meta {
  color: #64748b;
}
[data-md-color-scheme="slate"] .md-search-result__title {
  color: #e2e8f0;
}
[data-md-color-scheme="slate"] .md-search-result__teaser {
  color: #94a3b8;
}

/* 联系页标签在深色下改为半透明彩色 */
[data-md-color-scheme="slate"] .ls-contact-tag {
  background: rgba(250, 204, 21, 0.15);
  color: #fde68a;
}
[data-md-color-scheme="slate"] .ls-contact-tag--blue {
  background: rgba(59, 130, 246, 0.15);
  color: #93c5fd;
}
[data-md-color-scheme="slate"] .ls-contact-tag--green {
  background: rgba(52, 211, 153, 0.15);
  color: #6ee7b7;
}

/* ============================================================
   文档正文 — 列表去掉所有项目符号 (· / 1. / • 全部不要), 顶格写
   :not(.ib-breadcrumb) 排除面包屑 ol, 保留它原有的 › 分隔符
   ============================================================ */
.md-typeset ol:not(.ib-breadcrumb),
.md-typeset ul {
  list-style: none !important;
  padding-left: 0 !important;
  counter-reset: none;
}

.md-typeset ol:not(.ib-breadcrumb) > li,
.md-typeset ul > li {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.md-typeset ol:not(.ib-breadcrumb) > li::before,
.md-typeset ul > li::before {
  content: none !important;
  display: none !important;
}

.md-typeset ol:not(.ib-breadcrumb) > li::marker,
.md-typeset ul > li::marker {
  content: none !important;
}
