/* =========================================================================
   terminal.css — small targeted overrides
   ========================================================================= */

/* MathJax: keep formulas crisp on both themes, allow horizontal scroll on mobile */
mjx-container[jax="CHTML"][display="true"] {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.4rem 0.2rem;
  margin: 0.6rem 0;
  scrollbar-width: thin;
}

mjx-container[jax="CHTML"] {
  font-size: 1.04em !important;
}

[data-md-color-scheme="slate"] mjx-container {
  color: var(--md-default-fg-color);
}

/* Mermaid: ensure SVG inherits theme fg and bg */
.mermaid {
  --mermaid-font-family: var(--md-code-font), monospace;
}

[data-md-color-scheme="default"] .mermaid svg .node rect,
[data-md-color-scheme="default"] .mermaid svg .node polygon,
[data-md-color-scheme="default"] .mermaid svg .node circle,
[data-md-color-scheme="default"] .mermaid svg .node ellipse {
  fill: #ffffff !important;
  stroke: #111 !important;
}

[data-md-color-scheme="default"] .mermaid svg .edgeLabel,
[data-md-color-scheme="default"] .mermaid svg .nodeLabel,
[data-md-color-scheme="default"] .mermaid svg .label {
  color: #111 !important;
  background: transparent !important;
  fill: #111 !important;
}

[data-md-color-scheme="default"] .mermaid svg .edgePath .path,
[data-md-color-scheme="default"] .mermaid svg .flowchart-link {
  stroke: #111 !important;
}

[data-md-color-scheme="slate"] .mermaid svg .node rect,
[data-md-color-scheme="slate"] .mermaid svg .node polygon,
[data-md-color-scheme="slate"] .mermaid svg .node circle,
[data-md-color-scheme="slate"] .mermaid svg .node ellipse {
  fill: #131312 !important;
  stroke: #e8e8e6 !important;
}

[data-md-color-scheme="slate"] .mermaid svg .edgeLabel,
[data-md-color-scheme="slate"] .mermaid svg .nodeLabel,
[data-md-color-scheme="slate"] .mermaid svg .label,
[data-md-color-scheme="slate"] .mermaid svg text {
  color: #e8e8e6 !important;
  fill: #e8e8e6 !important;
  background: transparent !important;
}

[data-md-color-scheme="slate"] .mermaid svg .edgePath .path,
[data-md-color-scheme="slate"] .mermaid svg .flowchart-link {
  stroke: #c8c8c6 !important;
}

[data-md-color-scheme="slate"] .mermaid svg .marker {
  fill: #c8c8c6 !important;
  stroke: #c8c8c6 !important;
}

/* Sequence diagrams */
[data-md-color-scheme="slate"] .mermaid svg .actor {
  fill: #131312 !important;
  stroke: #e8e8e6 !important;
}

[data-md-color-scheme="slate"] .mermaid svg .messageLine0,
[data-md-color-scheme="slate"] .mermaid svg .messageLine1,
[data-md-color-scheme="slate"] .mermaid svg line {
  stroke: #c8c8c6 !important;
}

[data-md-color-scheme="slate"] .mermaid svg .loopText,
[data-md-color-scheme="slate"] .mermaid svg .messageText,
[data-md-color-scheme="slate"] .mermaid svg .noteText {
  fill: #e8e8e6 !important;
}

/* Focus rings: visible but quiet */
:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--md-default-fg-color);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Selection */
::selection {
  background: var(--md-default-fg-color);
  color: var(--md-default-bg-color);
}

/* Scrollbars */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb {
  background: var(--md-default-fg-color--lightest);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--md-default-fg-color--lighter);
}

/* Skip link */
.md-skip:focus {
  background: var(--md-default-fg-color);
  color: var(--md-default-bg-color);
}

/* Tag pill */
.md-typeset .md-tag {
  font-family: var(--md-code-font);
  font-size: 0.66rem;
  background: transparent;
  border: var(--pk-rule);
  color: var(--md-default-fg-color--light);
}

.md-typeset .md-tag::before { content: "#"; opacity: 0.6; }

/* Copy-code button */
.md-clipboard {
  color: var(--md-default-fg-color--lighter);
  transition: color 0.15s ease;
}

.md-clipboard:hover { color: var(--md-default-fg-color); }

/* TOC list */
.md-nav--secondary .md-nav__list .md-nav__link {
  font-size: 0.72rem;
}

/* Edit / source actions */
.md-content__button {
  color: var(--md-default-fg-color--lighter);
}

/* Long table responsive wrap */
.md-typeset__scrollwrap {
  margin: 1rem 0;
  border-radius: 3px;
}

/* Task list: clean check */
.md-typeset .task-list-control .task-list-indicator::before {
  background-color: var(--md-default-fg-color);
}

/* Footnote backref */
.md-typeset [id^="fnref"] {
  scroll-margin-top: 5rem;
}

/* RSS link icon spacing */
.md-typeset .pk-rss::before {
  content: "RSS";
  font-family: var(--md-code-font);
  font-size: 0.7rem;
  border: var(--pk-rule);
  padding: 0.05rem 0.3rem;
  margin-right: 0.3rem;
  border-radius: 2px;
}
