/* Platform Content published documentation (/p/*)
   Scoped to .pc-markdown-body only — do not restyle Panel chrome globally.
   Slice: PR-10.1H.4E.49F */

.pc-markdown-body {
  --docs-link: var(--primary-600, #487FFF);
  --docs-link-hover: var(--primary-700, #486CEA);
  --docs-link-focus: var(--primary-600, #487FFF);
  --docs-inline-code-bg: #eef1f6;
  --docs-inline-code-fg: #1f2937;
  --docs-code-bg: #f3f4f6;
  --docs-code-fg: #111827;
  --docs-code-border: #d1d5db;
  --docs-code-comment: #4b5563;
  --docs-code-keyword: #1d4ed8;
  --docs-code-string: #047857;
  --docs-code-number: #6d28d9;
  --docs-code-function: #b45309;
  --docs-code-property: #be185d;
  --docs-code-punctuation: #374151;
  --docs-code-operator: #374151;
  --docs-table-border: #dee2e6;
}

html[data-bs-theme="dark"] .pc-markdown-body,
html[data-theme="dark"] .pc-markdown-body,
[data-bs-theme="dark"] .pc-markdown-body,
[data-theme="dark"] .pc-markdown-body {
  --docs-link: #7eb0ff;
  --docs-link-hover: #a8c9ff;
  --docs-link-focus: #7eb0ff;
  --docs-inline-code-bg: #1f2937;
  --docs-inline-code-fg: #e5e7eb;
  --docs-code-bg: #111827;
  --docs-code-fg: #f3f4f6;
  --docs-code-border: #4b5563;
  --docs-code-comment: #9ca3af;
  --docs-code-keyword: #93c5fd;
  --docs-code-string: #6ee7b7;
  --docs-code-number: #c4b5fd;
  --docs-code-function: #fcd34d;
  --docs-code-property: #f9a8d4;
  --docs-code-punctuation: #d1d5db;
  --docs-code-operator: #d1d5db;
  --docs-table-border: #4b5563;
}

/* ---- Links: discoverable without hover ---- */
.pc-markdown-body a:not(.btn) {
  color: var(--docs-link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
  display: inline;
  background-color: transparent;
  word-break: break-word;
}

.pc-markdown-body a:not(.btn):hover {
  color: var(--docs-link-hover);
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.pc-markdown-body a:not(.btn):focus,
.pc-markdown-body a:not(.btn):focus-visible,
.pc-markdown-body a:not(.btn):focus-within {
  /* !important defeats global style.css *:focus { outline: none } within docs only.
     :focus-within included because some embedded browsers set activeElement without matching :focus. */
  outline: 2px solid var(--docs-link-focus) !important;
  outline-offset: 2px !important;
  text-decoration: underline;
  box-shadow: 0 0 0 2px rgba(72, 127, 255, 0.35);
}

.pc-markdown-body a:not(.btn):visited {
  color: var(--docs-link);
  text-decoration: underline;
}

/* Linked inline code: remain code + interactive */
.pc-markdown-body a:not(.btn) code {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

/* ---- Lists (Related documents, etc.) ---- */
.pc-markdown-body ul,
.pc-markdown-body ol {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
  list-style: disc;
}

.pc-markdown-body ol {
  list-style: decimal;
}

.pc-markdown-body li {
  display: list-item;
  margin: 0.25rem 0;
}

.pc-markdown-body li > a:not(.btn) {
  display: inline;
}

/* ---- Tables ---- */
.pc-markdown-body table {
  width: 100%;
  margin-bottom: 1rem;
  border-collapse: collapse;
}

.pc-markdown-body th,
.pc-markdown-body td {
  padding: 0.5rem;
  border: 1px solid var(--docs-table-border);
}

/* ---- Inline code ---- */
.pc-markdown-body :not(pre) > code {
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  font-size: 0.9em;
  color: var(--docs-inline-code-fg);
  background: var(--docs-inline-code-bg);
  border: 1px solid var(--docs-code-border);
  border-radius: 0.25rem;
  padding: 0.1em 0.35em;
}

/* ---- Fenced / preformatted blocks ---- */
.pc-markdown-body pre {
  background: var(--docs-code-bg);
  color: var(--docs-code-fg);
  border: 1px solid var(--docs-code-border);
  border-radius: 0.35rem;
  padding: 0.85rem 1rem;
  margin: 0.75rem 0 1rem;
  overflow-x: auto;
  text-shadow: none;
}

.pc-markdown-body pre code,
.pc-markdown-body code[class*="language-"],
.pc-markdown-body pre[class*="language-"] {
  color: var(--docs-code-fg);
  background: transparent;
  text-shadow: none;
  font-size: 0.9em;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
}

.pc-markdown-body pre[class*="language-"],
.pc-markdown-body :not(pre) > code[class*="language-"] {
  background: var(--docs-code-bg);
}

/* Prism token contrast (overrides okaidia inside docs only) */
.pc-markdown-body .token.comment,
.pc-markdown-body .token.prolog,
.pc-markdown-body .token.doctype,
.pc-markdown-body .token.cdata {
  color: var(--docs-code-comment);
  opacity: 1;
}

.pc-markdown-body .token.punctuation,
.pc-markdown-body .token.operator,
.pc-markdown-body .token.entity,
.pc-markdown-body .token.url,
.pc-markdown-body .language-css .token.string,
.pc-markdown-body .style .token.string,
.pc-markdown-body .token.variable {
  color: var(--docs-code-punctuation);
  opacity: 1;
}

.pc-markdown-body .token.namespace {
  opacity: 1;
}

.pc-markdown-body .token.property,
.pc-markdown-body .token.tag,
.pc-markdown-body .token.constant,
.pc-markdown-body .token.symbol,
.pc-markdown-body .token.deleted {
  color: var(--docs-code-property);
}

.pc-markdown-body .token.boolean,
.pc-markdown-body .token.number {
  color: var(--docs-code-number);
}

.pc-markdown-body .token.selector,
.pc-markdown-body .token.attr-name,
.pc-markdown-body .token.string,
.pc-markdown-body .token.char,
.pc-markdown-body .token.builtin,
.pc-markdown-body .token.inserted {
  color: var(--docs-code-string);
}

.pc-markdown-body .token.atrule,
.pc-markdown-body .token.attr-value,
.pc-markdown-body .token.function,
.pc-markdown-body .token.class-name {
  color: var(--docs-code-function);
}

.pc-markdown-body .token.keyword {
  color: var(--docs-code-keyword);
}

.pc-markdown-body .token.regex,
.pc-markdown-body .token.important {
  color: var(--docs-code-function);
}

.pc-markdown-body span.token {
  display: inline;
}
