/**
 * Portkey dark-first design tokens (shadcn / Vercel tool aesthetic)
 */
:root,
[data-theme='dark'] {
  /* Stripe-style electric-indigo primary (#533afd) + gradient to Indigo Soft (#665efd). */
  --portkey-ui-primary-bg: #533afd;
  --portkey-ui-on-primary: #ffffff;
  --portkey-ui-primary-gradient: linear-gradient(135deg, #533afd 0%, #665efd 100%);
  --portkey-ui-primary-glow: rgba(83, 58, 253, 0.4);
  --portkey-ui-accent-ruby: #ea2261;
  --portkey-brand-alipay: #1677ff;
  --portkey-ui-text-primary1: #665efd;
  --portkey-ui-text-hover: #8b86ff;
  --portkey-ui-primary-border: rgba(83, 58, 253, 0.45);

  --portkey-ui-text-primary: #fafafa;
  --portkey-ui-text-secondary: #a1a1aa;
  --portkey-ui-text-disabled: #71717a;
  --portkey-ui-form-label: #d4d4d8;
  --portkey-ui-input-text: #fafafa;
  --portkey-ui-input-placeholder: #71717a;

  --portkey-ui-text-success: #34d399;
  --portkey-ui-text-error: #f87171;
  --portkey-ui-font-3: #fbbf24;
  --portkey-ui-new-badge-text: #fbbf24;
  --portkey-ui-new-badge-bg: rgba(251, 191, 36, 0.12);

  --portkey-ui-scan-bg: #09090b;
  --portkey-ui-default-bg: rgba(255, 255, 255, 0.03);
  --portkey-ui-default-btn-bg: rgba(255, 255, 255, 0.04);
  --portkey-ui-btn-bg: rgba(255, 255, 255, 0.06);
  --portkey-ui-input-bg: rgba(255, 255, 255, 0.04);
  --portkey-ui-sider-bg: rgba(9, 9, 11, 0.85);
  --portkey-ui-panel-bg: rgba(24, 24, 27, 0.55);

  --portkey-ui-default-border: rgba(255, 255, 255, 0.08);
  --portkey-ui-input-border: rgba(255, 255, 255, 0.1);
  --portkey-ui-border-6: rgba(255, 255, 255, 0.05);

  --portkey-ui-border-radius-1: 8px;
  --portkey-ui-border-radius-2: 12px;
  --portkey-ui-border-radius-3: 16px;
  /* pill / capsule — the reference's signature button + tag shape */
  --portkey-ui-border-radius-pill: 9999px;

  --portkey-layout-sider-width: 248px;
  --portkey-layout-right-panel-width: 300px;
  --portkey-layout-header-height: 56px;
  /* Airier content gutter (reference favours generous whitespace over density). */
  --portkey-layout-content-padding: 28px;
  --portkey-layout-content-max: 1200px;

  --portkey-line-height: 1.5;
  --portkey-line-height-tight: 1.4;
  --portkey-line-height-relaxed: 1.6;

  --portkey-font-size-xs: 12px;
  --portkey-font-size-sm: 13px;
  --portkey-font-size-base: 14px;
  --portkey-font-size-md: 16px;
  --portkey-font-size-lg: 20px;
  /* Reference display tier — big, tight-tracked page + section headers. */
  --portkey-font-size-display: 30px;
  --portkey-font-size-heading: 22px;

  --portkey-font-family: 'Noto Sans SC', 'Inter', ui-sans-serif, system-ui, -apple-system,
    'Segoe UI', Roboto, sans-serif;
  --portkey-font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas',
    ui-monospace, monospace;

  --portkey-glass-blur: 16px;
  --portkey-shadow-glow: 0 0 40px rgba(83, 58, 253, 0.08);
  --portkey-shadow-card: 0 8px 28px rgba(0, 0, 0, 0.45);
  --portkey-menu-accent: #533afd;
  --portkey-sider-menu-color: #ffffff;
  --portkey-sider-menu-item-height: 40px;
  --portkey-sider-menu-item-gap: 4px;
  --portkey-sider-menu-font-size: 14px;
  --portkey-sider-menu-icon-size: 15px;
  --portkey-sider-menu-padding-y: 8px;
  --portkey-menu-selected-bg: rgba(83, 58, 253, 0.18);
  --portkey-table-row-hover: rgba(255, 255, 255, 0.04);

  --portkey-ui-modal-bg: rgba(24, 24, 27, 0.92);
  --portkey-ui-modal-mask: rgba(0, 0, 0, 0.65);

  /* Code block tokens — dark mode */
  --portkey-code-bg: rgba(0, 0, 0, 0.22);
  --portkey-code-header-bg: rgba(0, 0, 0, 0.14);
  --portkey-code-border: rgba(255, 255, 255, 0.07);
  --portkey-code-text: #d4d4d8;
  --portkey-code-label-color: #71717a;
  --portkey-code-copy-color: #71717a;
  /* Scrollbar thumb — theme slate at 0.4 (lighter than the dark surface, so it stays visible) */
  --portkey-scrollbar-thumb: rgba(148, 163, 184, 0.4);
  --portkey-scrollbar-thumb-hover: rgba(148, 163, 184, 0.6);

  /* 公开服务状态页 24h 小时格子条（views/status/components/HourGrid.vue）。
     语义与 status.state.* 一一对应：up=healthy / degraded / func=functional_down /
     down=网络不可达+鉴权失败 / none=无探测样本。颜色只分 4 档+灰——红色再细分肉眼分不出，
     精确状态名走 tooltip。edge 是浅色格在白底上的边界（GitHub 贡献图同法），别去掉。 */
  --status-cell-up: #3fb950;
  --status-cell-degraded: #e3b341;
  --status-cell-func: #f0883e;
  --status-cell-down: #f85149;
  --status-cell-none: #ebedf0;
  --status-cell-edge: rgba(27, 31, 35, 0.06);
  --status-cell-radius: 2px;
  --status-cell-size: 10px;
}

[data-theme='light'] {
  /* Reference "financial-infrastructure" light theme: navy ink on white canvas,
     hairline borders, muted secondary text, indigo primary. */
  --portkey-ui-text-primary: #0d253d; /* Ink */
  --portkey-ui-text-secondary: #64748d; /* Muted */
  --portkey-ui-text-disabled: #9aa7b8;
  --portkey-ui-form-label: #3c4a5e;
  --portkey-ui-input-text: #0d253d;
  --portkey-ui-input-placeholder: #9aa7b8;
  --portkey-ui-new-badge-text: #9a4d00;
  --portkey-ui-new-badge-bg: #fff7ed;
  --portkey-ui-scan-bg: #f6f9fc; /* Canvas Alt — page band */
  --portkey-ui-default-bg: #ffffff; /* Canvas — cards */
  --portkey-ui-default-btn-bg: #ffffff;
  --portkey-ui-btn-bg: #eef1f6;
  --portkey-ui-input-bg: #ffffff;
  --portkey-ui-sider-bg: #ffffff;
  --portkey-ui-panel-bg: #ffffff;
  --portkey-ui-default-border: #e3e8ee; /* Hairline */
  --portkey-ui-input-border: #d5dbe5;
  --portkey-ui-border-6: #eef1f6;
  --portkey-sider-menu-color: #0d253d;
  --portkey-menu-selected-bg: rgba(83, 58, 253, 0.08);
  --portkey-table-row-hover: #f6f9fc;
  --portkey-shadow-glow: 0 0 24px rgba(83, 58, 253, 0.06);
  /* Stripe-style layered soft shadow (cool navy tint, not flat black). */
  --portkey-shadow-card: 0 2px 5px -1px rgba(50, 50, 93, 0.1), 0 1px 3px -1px rgba(13, 37, 61, 0.07);
  --portkey-ui-modal-bg: #ffffff;
  --portkey-ui-modal-mask: rgba(13, 37, 61, 0.28);

  /* Code block tokens — light mode (warm cream) */
  --portkey-code-bg: #faf9f6;
  --portkey-code-header-bg: #f2f0ec;
  --portkey-code-border: #dddbd5;
  --portkey-code-text: #374151;
  --portkey-code-label-color: #6b7280;
  --portkey-code-copy-color: #9ca3af;
  /* Scrollbar thumb — theme zinc at 0.4 (darker than the light surface, so it stays visible) */
  --portkey-scrollbar-thumb: rgba(113, 113, 122, 0.4);
  --portkey-scrollbar-thumb-hover: rgba(113, 113, 122, 0.6);
}

[data-theme='light'] body.portkey-theme {
  /* Reference gradient mesh: warm peach → indigo → mint, kept subtle for a console. */
  background-image:
    radial-gradient(ellipse 55% 40% at 8% -8%, rgba(155, 104, 41, 0.05), transparent 55%),
    radial-gradient(ellipse 60% 45% at 55% -12%, rgba(83, 58, 253, 0.06), transparent 58%),
    radial-gradient(ellipse 45% 35% at 100% -5%, rgba(105, 224, 200, 0.05), transparent 52%);
}

/*
 * Dark-mode surfaces/text/borders aligned to the 用量分析 prototype (navy theme).
 * Placed after the light block so it wins for [data-theme='dark'] documents while
 * leaving light mode untouched. Accent (primary/menu/font) lives in the shared block.
 */
[data-theme='dark'] {
  --portkey-ui-text-primary: #e2e8f0;
  --portkey-ui-text-secondary: #94a3b8;
  --portkey-ui-text-disabled: #64748b;
  --portkey-ui-form-label: #cbd5e1;
  --portkey-ui-input-text: #e2e8f0;
  --portkey-ui-input-placeholder: #64748b;

  --portkey-ui-text-success: #10b981;
  --portkey-ui-text-error: #ef4444;
  --portkey-ui-font-3: #f59e0b;

  --portkey-ui-scan-bg: #060b18;
  --portkey-ui-default-bg: #0f1629;
  --portkey-ui-default-btn-bg: #161f3a;
  --portkey-ui-btn-bg: #1b2745;
  --portkey-ui-input-bg: #161f3a;
  --portkey-ui-sider-bg: #0a1020;
  --portkey-ui-panel-bg: #0f1629;

  --portkey-ui-default-border: #1e293b;
  --portkey-ui-input-border: #27324d;
  --portkey-ui-border-6: #1e293b;

  --portkey-table-row-hover: #161f3a;

  --portkey-ui-modal-bg: #0f1629;
  --portkey-ui-modal-mask: rgba(2, 6, 16, 0.66);

  /* 状态页格子条：深色下用更饱和的一档，浅格换成低对比蓝灰、edge 转白色低透明 */
  --status-cell-up: #2ea043;
  --status-cell-degraded: #d29922;
  --status-cell-func: #db6d28;
  --status-cell-down: #da3633;
  --status-cell-none: #1c2333;
  --status-cell-edge: rgba(255, 255, 255, 0.05);
}
.docs-page { flex: 1; display: flex; flex-direction: column; min-height: 0; background: var(--portkey-ui-page-bg); color: var(--portkey-ui-text-primary); }
.docs-header { flex-shrink: 0; background: var(--portkey-ui-default-bg); border-bottom: 1px solid var(--portkey-ui-default-border); }
.docs-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 32px; padding: 20px var(--portkey-layout-content-padding) 8px; }
.docs-brand { font-size: var(--portkey-font-size-lg); font-weight: 700; letter-spacing: -.02em; }
.docs-search { width: min(360px, 100%); font-size: var(--portkey-font-size-base); }
.docs-section-tabs { display: flex; gap: 32px; padding: 0 var(--portkey-layout-content-padding); }
.docs-section-tab { padding: 16px 0 12px; border-bottom: 3px solid transparent; color: var(--portkey-ui-text-secondary); font-size: var(--portkey-font-size-md); font-weight: 600; text-decoration: none; white-space: nowrap; }
.docs-section-tab.is-active { border-bottom-color: var(--portkey-ui-primary-bg); color: var(--portkey-ui-primary-bg); }
.docs-layout { flex: 1; display: flex; min-height: 0; overflow: hidden; }
.docs-directory { display: flex; flex-shrink: 0; min-height: 0; }
.docs-main { flex: 1; min-width: 0; overflow-y: auto; scroll-behavior: auto; padding: 32px 48px 64px; }
.docs-article-wrap { max-width: 800px; margin: 0 auto; }
.docs-breadcrumb,.docs-language-note { margin: 0 0 16px; font-size: var(--portkey-font-size-sm); color: var(--portkey-ui-text-secondary); }
.docs-mobile-menu { display: none; }
.docs-pagination { display: flex; gap: 24px; justify-content: space-between; border-top: 1px solid var(--portkey-ui-default-border); margin-top: 40px; padding-top: 24px; }
.docs-pagination a { color: var(--portkey-ui-primary-bg); max-width: 48%; overflow-wrap: anywhere; }
.docs-pagination span { display: block; color: var(--portkey-ui-text-secondary); font-size: var(--portkey-font-size-xs); }
.docs-md { color: var(--portkey-ui-text-primary); font-size: var(--portkey-font-size-base); line-height: 1.8; overflow-wrap: anywhere; }
.docs-md h1 { font-size: var(--portkey-font-size-display); line-height: 1.35; font-weight: 700; letter-spacing: -.03em; margin: 0 0 24px; }
.docs-md h2 { font-size: var(--portkey-font-size-heading); font-weight: 700; letter-spacing: -.02em; margin: 32px 0 16px; padding-top: 8px; border-top: 1px solid var(--portkey-ui-default-border); scroll-margin-top: 16px; }
.docs-md h3 { font-size: var(--portkey-font-size-md); font-weight: 700; margin: 24px 0 12px; scroll-margin-top: 16px; }
.docs-md h4 { font-size: var(--portkey-font-size-base); font-weight: 600; margin: 20px 0 8px; }
.docs-md p,.docs-md li { margin: 8px 0; }
.docs-md ul,.docs-md ol { padding-left: 24px; }
.docs-md a { color: var(--portkey-ui-primary-bg); text-decoration: none; }
.docs-md a:hover { text-decoration: underline; }
.docs-md strong { font-weight: 600; }
.docs-md hr { border: 0; border-top: 1px solid var(--portkey-ui-default-border); margin: 24px 0; }
.docs-md code { font-family: var(--portkey-font-mono); font-size: var(--portkey-font-size-sm); }
.docs-md :not(pre) > code { background: var(--portkey-ui-btn-bg); border-radius: var(--portkey-ui-border-radius-1); padding: 2px 4px; }
.docs-md pre { margin: 16px 0; padding: 20px; background: var(--portkey-ui-default-bg); border: 1px solid var(--portkey-ui-default-border); border-radius: var(--portkey-ui-border-radius-1); overflow-x: auto; }
.docs-code { position: relative; }
.docs-code pre { padding-top: 48px; }
.docs-copy { position: absolute; right: 12px; top: 12px; border: 1px solid var(--portkey-ui-default-border); border-radius: var(--portkey-ui-border-radius-1); background: var(--portkey-ui-default-bg); color: var(--portkey-ui-text-secondary); padding: 2px 8px; font-size: var(--portkey-font-size-xs); white-space: nowrap; cursor: pointer; }
.docs-md .hljs-comment,.docs-md .hljs-quote { color: var(--portkey-ui-text-secondary); }
.docs-md .hljs-keyword,.docs-md .hljs-meta,.docs-md .hljs-title { color: var(--portkey-ui-primary-bg); }
.docs-md .hljs-string,.docs-md .hljs-attr { color: var(--portkey-ui-text-primary); }
.docs-md .hljs-number,.docs-md .hljs-literal { color: var(--portkey-ui-font-3); }
.docs-table-wrap { overflow-x: auto; margin: 16px 0; }
.docs-md table { width: 100%; border-collapse: collapse; font-size: var(--portkey-font-size-base); }
.docs-md th,.docs-md td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--portkey-ui-default-border); min-width: 5em; }
.docs-md th { background: var(--portkey-ui-btn-bg); font-weight: 600; white-space: nowrap; }
.docs-tabs { border: 1px solid var(--portkey-ui-default-border); border-radius: var(--portkey-ui-border-radius-1); margin: 20px 0; background: var(--portkey-ui-default-bg); }
.docs-tabs-head { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; border: 0; padding: 12px 16px; background: transparent; color: var(--portkey-ui-text-primary); font-size: var(--portkey-font-size-base); font-weight: 600; cursor: pointer; }
.docs-tabs-langs { margin-left: auto; font-size: var(--portkey-font-size-xs); color: var(--portkey-ui-text-secondary); font-weight: 400; }
.docs-tabs-caret::before { content: '▾'; }
.docs-tabs[data-open='false'] .docs-tabs-caret::before { content: '▸'; }
.docs-tabs[data-open='false'] .docs-tabs-body { display: none; }
.docs-tabs-bar { display: flex; flex-wrap: wrap; gap: 20px; padding: 0 16px; border-bottom: 1px solid var(--portkey-ui-default-border); }
.docs-tab-btn { border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--portkey-ui-text-secondary); padding: 8px 0; font-size: var(--portkey-font-size-sm); cursor: pointer; }
.docs-tab-btn.is-active { color: var(--portkey-ui-primary-bg); border-bottom-color: var(--portkey-ui-primary-bg); font-weight: 600; }
.docs-tab-panel { display: none; padding: 0 16px 4px; }
.docs-tab-panel.is-active { display: block; }
.docs-callout { border-left: 3px solid var(--portkey-ui-primary-border); background: var(--portkey-menu-selected-bg); padding: 12px 16px; margin: 20px 0; }
.docs-callout-warning,.docs-callout-danger { border-left-color: var(--portkey-ui-font-3); }
.docs-callout-success,.docs-callout-tip { border-left-color: var(--portkey-ui-text-success); }
.docs-md img { display: block; max-width: 100%; height: auto; margin: 16px auto; border: 1px solid var(--portkey-ui-default-border); border-radius: var(--portkey-ui-border-radius-1); }
@media (max-width: 760px) {
  .docs-toolbar { gap: 16px; padding: 16px; }
  .docs-search { width: 100%; }
  .docs-section-tabs { gap: 24px; padding: 0 16px; }
  .docs-section-tab { font-size: var(--portkey-font-size-base); }
  .docs-mobile-menu { display: block; text-align: left; padding: 12px 16px; background: var(--portkey-ui-default-bg); color: var(--portkey-ui-text-primary); border: 0; border-bottom: 1px solid var(--portkey-ui-default-border); font-size: var(--portkey-font-size-base); }
  .docs-layout { display: block; overflow-y: auto; }
  .docs-directory { display: none; }
  .docs-directory.is-open { display: block; }
  .docs-main { overflow: visible; padding: 24px 20px 48px; }
  .docs-tabs-langs { display: none; }
  .legal-layout { flex-direction: column; overflow-y: auto; }
}
.docs-endpoint { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; padding: 10px 14px; border: 1px solid var(--portkey-ui-default-border); border-radius: var(--portkey-ui-border-radius-1); background: var(--portkey-ui-default-bg); overflow-x: auto; }
.docs-endpoint-method { flex-shrink: 0; font-family: var(--portkey-font-mono); font-size: var(--portkey-font-size-sm); font-weight: 700; }
.docs-md .docs-endpoint-path { padding: 0; background: none; font-size: var(--portkey-font-size-base); white-space: nowrap; }
.docs-method-post { color: var(--portkey-ui-primary-bg); }
.docs-method-get { color: var(--portkey-ui-text-success); }
.docs-method-delete { color: var(--portkey-ui-text-error); }
.docs-method-put,.docs-method-patch { color: var(--portkey-ui-text-secondary); }
.docs-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: -8px 0 24px; padding-bottom: 20px; border-bottom: 1px solid var(--portkey-ui-default-border); }
.docs-copy-page { display: inline-flex; align-items: center; gap: 6px; padding: 4px 14px; border: 1px solid var(--portkey-ui-primary-bg); border-radius: var(--portkey-ui-border-radius-pill); background: var(--portkey-ui-default-bg); color: var(--portkey-ui-primary-bg); font-size: var(--portkey-font-size-sm); font-weight: 600; line-height: 1.6; white-space: nowrap; cursor: pointer; }
.docs-copy-page:hover { background: var(--portkey-ui-btn-bg); }
.docs-copy-page:focus-visible { outline: 2px solid var(--portkey-ui-primary-bg); outline-offset: 2px; }

.docs-static-page{font-family:system-ui,sans-serif}.docs-static-nav{width:248px;flex-shrink:0;padding:20px 16px;border-right:1px solid var(--portkey-ui-default-border)}.docs-static-nav section{margin-bottom:16px}.docs-static-nav a{display:block;padding:8px 12px;color:var(--portkey-ui-text-secondary)}.docs-static-nav .docs-nav-item-active{background:var(--portkey-menu-selected-bg);color:var(--portkey-ui-primary-bg)}.docs-static-folder{margin-left:8px;padding-left:8px;border-left:1px solid var(--portkey-ui-default-border)}.docs-static-folder p{margin:8px 4px 4px;color:var(--portkey-ui-text-secondary)}@media(max-width:760px){.docs-static-nav{width:100%;border-right:0}}