/* 文档门户：三栏壳（侧栏 250 / 内容 / 本项目录 260）+ 文档组件。
   视觉规格来自 .pen 的 API Documentation 画板组。 */

/* ── 壳 ── */
.docs-body { display: flex; align-items: stretch; flex: 1; }

.docs-side {
  width: 250px;
  flex: none;
  background: #F8FAFD;
  border-right: 1px solid #E5EAF2;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 64px;
  height: calc(100vh - 64px);
  overflow: auto;
}
.docs-search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 32px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid #D7E0ED;
  border-radius: 6px;
  color: #91A0B4;
  flex: none;
}
.docs-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: none;
  font-size: 14px;
  color: var(--text-primary);
}
.docs-search input::placeholder { color: #9AA7BA; }
.docs-search:focus-within { border-color: var(--p-link); box-shadow: var(--ring); }

.docs-group { display: flex; flex-direction: column; gap: 8px; }
.docs-group-title { font-size: 14px; font-weight: 600; color: #203454; padding: 0 4px; }
.docs-nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border-radius: 6px;
  font-size: 14px;
  color: #405575;
  transition: background var(--dur), color var(--dur);
}
.docs-nav-item:hover { background: #EDF2F9; }
.docs-nav-item.is-active { background: #E7F0FF; color: var(--p-link); font-weight: 600; }
.docs-nav-item .m { font-family: var(--font-data); font-size: 12px; font-weight: 600; }
.docs-nav-item .m-get { color: #1AA66A; }
.docs-nav-item .m-post { color: #E58A14; }
.docs-nav-empty { padding: 8px 12px; font-size: 13px; color: var(--p-hint); }

.docs-main {
  flex: 1;
  min-width: 0;
  padding: 24px 32px 64px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.docs-toc {
  width: 260px;
  flex: none;
  border-left: 1px solid #E5EAF2;
  padding: 22px 18px;
  position: sticky;
  top: 64px;
  height: calc(100vh - 64px);
  overflow: auto;
}
.docs-toc-title { font-size: 14px; font-weight: 600; color: var(--text-primary); margin-bottom: 14px; }
.docs-toc a {
  display: block;
  padding: 5px 0 5px 12px;
  border-left: 2px solid transparent;
  font-size: 14px;
  color: #71809A;
  transition: color var(--dur), border-color var(--dur);
}
.docs-toc a:hover { color: var(--p-link); }
.docs-toc a.is-active { color: var(--p-link); border-left-color: var(--p-link); font-weight: 500; }

/* ── 页头 ── */
.crumb { display: flex; align-items: center; gap: 6px; font-size: 14px; color: #71809A; }
.crumb .is-here { color: var(--text-primary); }
.doc-title-row { display: flex; align-items: center; gap: 12px; }
.doc-title { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--p-ink); }
.doc-sub { font-size: 14px; color: var(--c-muted); }
.doc-h2 { font-family: var(--font-display); font-size: 16px; font-weight: 600; color: #1C2F4D; padding-top: 8px; }
.doc-p { font-size: 14px; line-height: 1.7; color: #5E6F8B; max-width: 880px; }

/* ── 端点标签 ── */
.endpoint-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 32px;
  padding: 6px 12px;
  border-radius: 5px;
  align-self: flex-start;
  font-size: 14px;
}
.endpoint-tag .m { font-family: var(--font-data); font-weight: 600; }
.endpoint-tag .p { font-family: var(--font-data); color: #33537B; }
.endpoint-tag.is-post { background: #FCF7EB; }
.endpoint-tag.is-post .m { color: #E58A14; }
.endpoint-tag.is-get { background: #EDF9F3; }
.endpoint-tag.is-get .m { color: #1AA66A; }

/* ── 提示条 ── */
.notice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  min-height: 40px;
  background: #EEF6FF;
  border: 1px solid #C7DDF8;
  border-radius: 6px;
  font-size: 14px;
  color: #4A6588;
}
.notice .ic { color: var(--p-link); }
.notice a { font-weight: 500; }
.notice-lg {
  align-items: flex-start;
  padding: 14px 16px;
  gap: 12px;
  background: #F2F7FF;
  border-color: var(--c-blue-soft);
  border-radius: 8px;
}
.notice-lg .ic { margin-top: 1px; }
.notice-lg .t { font-size: 14px; font-weight: 600; color: #1D4ED8; margin-bottom: 3px; }
.notice-lg .d { font-size: 12px; color: #50709D; line-height: 1.6; }
.notice-warn { background: #FFFBEB; border-color: #FDE8C4; }
.notice-warn .ic { color: var(--warning); }
.notice-warn .t { color: #B45309; }
.notice-warn .d { color: #92700C; }

/* ── 参数表／错误码表（网格线表格，对齐 demo .api-table 形态） ── */
.ptable, .etable {
  width: 100%;
  border: 1px solid #D8E0EB;
  border-radius: 6px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  overflow: hidden;
  font-size: 14px;
  color: #596B86;
}
.ptable th, .ptable td, .etable th, .etable td {
  padding: 0 10px;
  border-right: 1px solid #D8E0EB;
  border-bottom: 1px solid #D8E0EB;
  text-align: left;
  vertical-align: middle;
  word-break: break-word;
}
.ptable tr > *:last-child, .etable tr > *:last-child { border-right: 0; }
.ptable tbody tr:last-child td, .etable tbody tr:last-child td { border-bottom: 0; }
.ptable th, .etable th {
  height: 42px;
  background: #F3F6FA;
  color: #4E607D;
  font-weight: 600;
}
.ptable td, .etable td { height: 48px; line-height: 1.55; }
.ptable td:first-child, .etable td:first-child {
  color: #243E6A;
  font-family: var(--font-data);
}
.etable td:first-child { font-weight: 600; }

/* ── 字段说明行 ── */
.flist { display: flex; flex-direction: column; gap: 4px; }
.flist-t { font-size: 14px; font-weight: 600; color: var(--text-secondary); margin-bottom: 4px; }
.frow { display: flex; align-items: baseline; gap: 10px; padding: 3px 0; font-size: 14px; }
.fchip { display: inline-flex; align-items: center; padding: 2px 5px; background: #E9EBEF; border-radius: 3px; font-family: var(--font-data); font-size: 14px; color: #222; flex: none; }
.ftype { font-family: var(--font-data); font-size: 14px; color: #66717D; flex: none; min-width: 50px; }
.fdesc { color: #303030; line-height: 1.6; }

.doc-note { font-size: 12px; color: var(--c-muted); }

/* ── 示例语言条（demo .code-toolbar 形态；复制动作用代码块自带按钮） ── */
.code-toolbar {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 32px;
  padding: 0 16px;
  border: 1px solid #D8E0EB;
  border-radius: 5px;
  background: #fff;
  color: #596B86;
  font-family: var(--font-data);
  font-size: 14px;
  align-self: flex-start;
}

/* ── 概览卡 / 联系卡 ── */
.card-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.info-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--c-line);
  border-radius: 8px;
  transition: border-color var(--dur), box-shadow var(--dur);
}
a.info-card:hover { border-color: #C6D6EE; box-shadow: var(--shadow-card); }
.info-card .ic { color: var(--p-link); }
.info-card h3 { font-size: 16px; font-weight: 600; color: var(--c-ink); }
.info-card p { font-size: 14px; line-height: 1.6; color: var(--c-muted); }
.info-card .mail { font-family: var(--font-data); font-size: 14px; color: var(--p-link); }
.info-card .go { font-size: 13px; font-weight: 600; color: var(--p-link); margin-top: auto; }

/* ── 联系我们（画板 API Documentation-联系我们） ── */
.contact-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  background: #F2F7FF;
  border: 1px solid var(--c-blue-soft);
  border-radius: 12px;
}
.contact-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; color: #1D4ED8; }
.contact-hero-copy { display: flex; flex-direction: column; gap: 8px; }
.contact-qr { flex: none; padding: 6px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; }
.contact-biz {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  background: #fff;
  border: 1px solid var(--c-line);
  border-radius: 12px;
}
.contact-biz-ic {
  flex: none;
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  background: #E6F0FF;
  border-radius: 14px;
  color: var(--p-link);
}
.contact-biz-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.contact-biz-copy h3 { font-size: 16px; font-weight: 600; color: var(--c-ink); }
.contact-biz-copy p { font-size: 13px; line-height: 1.6; color: var(--c-muted); }
.contact-mail {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border: 1px solid var(--c-line);
  border-radius: 8px;
  font-family: var(--font-data);
  font-size: 13px;
  color: var(--p-link);
  transition: border-color var(--dur), background var(--dur);
}
.contact-mail:hover { border-color: #C6D6EE; background: #F5F9FF; }
.contact-note { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--c-muted); }
.contact-note .ic { color: #8A98AA; }

/* ── 步骤 ── */
.steps { display: flex; flex-direction: column; gap: 10px; }
.step { display: flex; gap: 10px; align-items: baseline; font-size: 14px; color: #5E6F8B; line-height: 1.6; }
.step > b { flex: none; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--accent-soft); color: var(--p-link); font-size: 12px; font-weight: 600; transform: translateY(4px); }

@media (max-width: 1320px) {
  .docs-toc { width: 220px; }
  .docs-main { padding: 24px 24px 64px; }
}
