:root {
  --ink: #172127;
  --muted: #5c6b73;
  --line: #d9e1e5;
  --paper: #ffffff;
  --canvas: #f4f7f8;
  --brand: #e73f33;
  --teal: #087e8b;
  --amber: #b85c00;
  --code: #18252c;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; font-size: 15px; line-height: 1.75; }
a { color: inherit; text-decoration: none; }
code, pre { font-family: Consolas, "Courier New", monospace; }
code { color: #9a352e; font-size: .92em; }

.site-header { position: sticky; top: 0; z-index: 10; background: #fff; border-bottom: 1px solid var(--line); }
.header-content { max-width: 1200px; min-height: 64px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 700; font-size: 18px; white-space: nowrap; }
.brand img { width: 34px; height: 34px; }
.header-nav { display: flex; align-items: center; gap: 25px; color: #43545d; font-size: 14px; }
.header-nav a { height: 64px; display: inline-flex; align-items: center; border-bottom: 3px solid transparent; }
.header-nav a:hover, .header-nav .is-active { color: var(--brand); border-bottom-color: var(--brand); }

.hero { background: var(--ink); color: #fff; }
.hero-content { max-width: 1200px; margin: 0 auto; padding: 74px 24px 68px; }
.eyebrow, .section-label { margin: 0 0 10px; color: var(--teal); font-weight: 700; font-size: 12px; letter-spacing: 1.2px; }
.hero .eyebrow { color: #66cdd2; }
h1, h2, h3 { margin: 0; color: inherit; line-height: 1.3; }
h1 { max-width: 760px; font-size: 42px; font-weight: 700; }
.hero-description { max-width: 580px; margin: 20px 0 28px; color: #c9d3d7; font-size: 18px; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 12px 30px; color: #e6eef0; font-size: 13px; }
.hero-meta span { display: inline-flex; gap: 8px; align-items: center; }
.hero-meta b { color: #8b9da5; font-weight: 600; }
.hero-meta code { color: #fff; }

.docs-layout { max-width: 1200px; margin: 0 auto; padding: 48px 24px 84px; display: grid; grid-template-columns: 208px minmax(0, 1fr); gap: 58px; align-items: start; }
.docs-sidebar { position: sticky; top: 88px; }
.sidebar-title { margin: 0 0 12px; color: var(--ink); font-size: 13px; font-weight: 700; }
.toc { border-left: 1px solid var(--line); }
.toc a { display: block; padding: 5px 0 5px 15px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.toc a:hover, .toc a.is-active { color: var(--brand); font-weight: 700; border-left: 2px solid var(--brand); margin-left: -1px; padding-left: 14px; }
.docs-content { min-width: 0; }
.docs-content section { scroll-margin-top: 92px; padding: 0 0 54px; }
.docs-content h2 { margin-bottom: 17px; font-size: 29px; }
.docs-content h3 { font-size: 22px; }
.docs-content p { margin: 0 0 18px; color: #45545c; }
.docs-content .section-label { color: var(--teal); }

.notice { margin: 20px 0; padding: 15px 18px; border-left: 4px solid; }
.notice strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: 14px; }
.notice p { margin: 0; font-size: 14px; }
.notice-warning { background: #fff6e8; border-left-color: #d97904; }
.notice-security { background: #fff0ef; border-left-color: var(--brand); }
.notice-info { background: #e8f7f6; border-left-color: var(--teal); }

.table-wrap { width: 100%; overflow-x: auto; margin: 18px 0 24px; }
table { width: 100%; min-width: 560px; border-collapse: collapse; text-align: left; font-size: 14px; background: var(--paper); }
th, td { padding: 11px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { background: #eaf0f2; color: #31424a; font-size: 13px; font-weight: 700; }
td { color: #52636c; }
td code, th code { white-space: nowrap; }

.code-block { margin: 22px 0; background: var(--code); overflow: hidden; }
.code-title { height: 42px; padding: 0 12px 0 17px; display: flex; align-items: center; justify-content: space-between; color: #b8cbd1; border-bottom: 1px solid #304149; font-family: Consolas, "Courier New", monospace; font-size: 12px; }
.copy-button { padding: 0; border: 0; background: transparent; color: #8dd6d7; cursor: pointer; font-size: 12px; line-height: 1; }
.copy-button:hover, .copy-button:focus-visible { color: #fff; outline: none; }
pre { margin: 0; padding: 18px; overflow-x: auto; font-size: 13px; line-height: 1.7; white-space: pre; }
pre code { color: #f1f6f7; }

.status-grid { margin: 20px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 3px solid var(--ink); }
.status-grid div { min-height: 76px; padding: 13px 14px; display: flex; flex-direction: column; gap: 4px; background: #fff; border-right: 1px solid var(--line); }
.status-grid div:last-child { border-right: 0; }
.status-grid code { color: var(--brand); font-size: 15px; font-weight: 700; }
.status-grid span { color: var(--muted); font-size: 13px; line-height: 1.5; }

.endpoint { border-top: 1px solid var(--line); padding-top: 36px !important; }
.endpoint-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.method { min-width: 50px; padding: 2px 7px; color: #fff; background: var(--amber); text-align: center; font-family: Consolas, "Courier New", monospace; font-size: 12px; font-weight: 700; line-height: 1.5; }
.method-get { background: var(--teal); }
.path { margin-bottom: 20px !important; }
.path code { padding: 4px 8px; background: #e9eff1; color: var(--ink); }
.detail-list { display: grid; gap: 0; margin: 16px 0 20px; border-top: 1px solid var(--line); }
.detail-list span { padding: 9px 0; color: #52636c; border-bottom: 1px solid var(--line); font-size: 14px; }
.detail-list b { display: inline-block; min-width: 132px; color: #31424a; }

.site-footer { padding: 28px 24px; display: flex; justify-content: space-between; gap: 20px; color: #aebdc2; background: var(--ink); font-size: 13px; }
.site-footer p { margin: 0; }
.site-footer a:hover { color: #fff; }

@media (max-width: 860px) {
  .header-content { padding: 0 18px; }
  .header-nav { gap: 15px; }
  .docs-layout { grid-template-columns: 1fr; gap: 25px; padding: 34px 18px 64px; }
  .docs-sidebar { position: static; overflow-x: auto; }
  .sidebar-title { display: none; }
  .toc { display: flex; width: max-content; min-width: 100%; border-left: 0; border-bottom: 1px solid var(--line); }
  .toc a { padding: 0 13px 10px; white-space: nowrap; }
  .toc a:hover, .toc a.is-active { border-left: 0; border-bottom: 2px solid var(--brand); margin: 0 0 -1px; padding-left: 13px; }
}

@media (max-width: 600px) {
  body { font-size: 14px; }
  .header-content { min-height: 58px; gap: 10px; }
  .brand { gap: 7px; font-size: 16px; }
  .brand img { width: 30px; height: 30px; }
  .header-nav { gap: 12px; font-size: 12px; }
  .header-nav a { height: 58px; }
  .header-nav a:nth-child(2), .header-nav a:nth-child(4) { display: none; }
  .hero-content { padding: 48px 18px 44px; }
  h1 { font-size: 31px; }
  .hero-description { margin: 15px 0 22px; font-size: 16px; }
  .hero-meta { display: grid; gap: 7px; }
  .hero-meta span { align-items: baseline; }
  .docs-content h2 { font-size: 25px; }
  .docs-content h3 { font-size: 20px; }
  .docs-content section { padding-bottom: 42px; }
  .status-grid { grid-template-columns: 1fr; }
  .status-grid div { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .detail-list b { min-width: 100%; margin-bottom: 2px; }
  .site-footer { flex-direction: column; padding: 24px 18px; }
}
