/* markdown.css — Markdown.swift (MarkdownView, CodeBlock, MDTableView) */

.md {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  min-width: 0;
  font-size: var(--F);
  line-height: calc(1.19em + 3px);
  letter-spacing: -0.2px;
  user-select: text;
  -webkit-user-select: text;
  overflow-wrap: anywhere;
}
.md-h { line-height: 1.2; letter-spacing: -0.3px; }
.md-p { margin: 0; white-space: pre-wrap; }
.md strong { font-weight: 600; }
.md-code-inline { font-family: var(--font-mono); font-weight: 500; color: rgb(var(--accent-rgb) / 0.95); }
.md-link { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }

.md-list { display: flex; flex-direction: column; gap: 5px; }
.md-li { display: flex; align-items: baseline; gap: 8px; line-height: calc(1.19em + 2px); }
.md-bullet { color: rgb(var(--accent-rgb) / 0.7); flex: none; }
.md-num { font-family: var(--font-mono); font-weight: 500; font-size: calc(var(--F) - 1px); color: var(--ink-faint); flex: none; }
.md-li-text { min-width: 0; white-space: pre-wrap; }

.md-quote { display: flex; gap: 11px; align-items: stretch; }
.md-quote-bar { width: 2px; border-radius: 1px; background: rgb(var(--accent-rgb) / 0.5); flex: none; }
.md-quote-text { color: var(--ink-soft); white-space: pre-wrap; min-width: 0; }

.md-rule { padding: 5px 0; }

/* ── CodeBlock ── */
.md-code {
  position: relative;
  border-radius: 14px;
  background: rgb(var(--veil-lo-rgb) / calc(0.26 * var(--veil-lo-k)));
  box-shadow: inset 0 2px 10px rgb(0 0 0 / 0.5), inset 0 0 0 0.5px rgb(var(--wash-rgb) / calc(0.06 * var(--wash-k)));
  min-width: 0;
}
.pm-app[data-appearance="light"] .md-code { box-shadow: inset 0 2px 10px rgb(0 0 0 / 0.16), inset 0 0 0 0.5px rgb(var(--wash-rgb) / calc(0.06 * var(--wash-k))); }
.md-code-head { display: flex; align-items: center; padding: 9px 66px 9px 13px; }
.md-code-toggle { display: flex; align-items: center; gap: 7px; min-width: 0; }
.md-code-chevron { display: grid; transition: transform 0.18s var(--ease-in-out); }
.md-code.expanded .md-code-chevron { transform: rotate(90deg); }
.md-code-body {
  margin: 0;
  padding: 1px 13px 12px;
  font-family: var(--font-mono);
  font-weight: 400;
  line-height: calc(1.2em + 2px);
  color: rgb(var(--ink-rgb) / calc(var(--ink-a) * 0.9));
  white-space: pre-wrap;
  word-break: break-word;
  letter-spacing: 0;
}
.md-code-peek {
  padding: 0 13px 10px;
  font-family: var(--font-mono);
  color: var(--ink-faint);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.md-code-copy {
  position: absolute;
  top: 8px;
  right: 8px;
  border-radius: 999px;
  background: rgb(var(--veil-lo-rgb) / calc(0.48 * var(--veil-lo-k)));
  opacity: 0;
  pointer-events: none;
}
.md-code-copy.visible { opacity: 1; pointer-events: auto; }
.md-code-copy button { padding: 5px 9px; display: flex; }

/* ── MDTableView ── */
.md-table-wrap {
  padding: 6px;
  border-radius: 14px;
  background: rgb(var(--wash-rgb) / calc(0.03 * var(--wash-k)));
  box-shadow: inset 0 0 0 0.5px rgb(var(--wash-rgb) / calc(0.08 * var(--wash-k)));
}
.md-table { width: 100%; border-collapse: collapse; table-layout: auto; line-height: 1.3; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.md-table th, .md-table td { padding: 7px 10px; vertical-align: top; }
.md-table th { font-weight: 600; color: var(--ink); box-shadow: inset 0 -0.5px 0 rgb(var(--wash-rgb) / calc(0.07 * var(--wash-k))); }
.md-table tbody tr + tr td { box-shadow: inset 0 0.5px 0 rgb(var(--wash-rgb) / calc(0.04 * var(--wash-k))); }
