/* Kwker's runnable examples (assets/repl.js). Tokens on .repl; dark under prefers-color-scheme, data-theme="dark" and
   MkDocs Material's slate scheme. */
.repl {
  --repl-bg: #fbfbfc; --repl-panel: #ffffff; --repl-ink: #16181d; --repl-muted: #5d6472; --repl-line: #e1e4ea;
  --repl-accent: #1f6feb; --repl-accent-ink: #ffffff; --repl-out-bg: #f3f5f8; --repl-out-ink: #1d2128;
  --repl-ok: #1a7f37; --repl-err: #c62828; --repl-kw: #8250df; --repl-str: #0a7d4f; --repl-num: #a35200;
  --repl-com: #5d6470; --repl-api: #1559c4; --repl-sel: #dbe7fd;
  margin: 1.2em 0; border: 1px solid var(--repl-line); border-radius: 10px; overflow: hidden; background: var(--repl-panel);
  color: var(--repl-ink);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .repl {
    --repl-bg: #11161c; --repl-panel: #151a21; --repl-ink: #e6e9ee; --repl-muted: #9aa3b1; --repl-line: #2a313b;
    --repl-accent: #4c8dff; --repl-accent-ink: #0b1020; --repl-out-bg: #0d1117; --repl-out-ink: #d6dde6;
    --repl-ok: #56d364; --repl-err: #ff7b72; --repl-kw: #d2a8ff; --repl-str: #7ee2a8; --repl-num: #ffb86b;
    --repl-com: #7d8590; --repl-api: #79b8ff; --repl-sel: #1d2a3f;
  }
}
:root[data-theme="dark"] .repl, [data-md-color-scheme="slate"] .repl {
  --repl-bg: #11161c; --repl-panel: #151a21; --repl-ink: #e6e9ee; --repl-muted: #9aa3b1; --repl-line: #2a313b;
  --repl-accent: #4c8dff; --repl-accent-ink: #0b1020; --repl-out-bg: #0d1117; --repl-out-ink: #d6dde6;
  --repl-ok: #56d364; --repl-err: #ff7b72; --repl-kw: #d2a8ff; --repl-str: #7ee2a8; --repl-num: #ffb86b;
  --repl-com: #7d8590; --repl-api: #79b8ff; --repl-sel: #1d2a3f;
}
.repl:not(.repl-ready) pre { margin: 0; }
.repl-bar {
  display: flex; align-items: center; gap: 8px; padding: 6px 8px 6px 12px; border-bottom: 1px solid var(--repl-line);
  font: 13px/1.4 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; flex-wrap: wrap;
}
.repl-lang { font-weight: 600; }
.repl-hint { color: var(--repl-muted); margin-right: auto; }
.repl-btn {
  font: inherit; padding: 4px 10px; border-radius: 6px; border: 1px solid var(--repl-line); background: var(--repl-panel);
  color: var(--repl-ink); cursor: pointer;
}
.repl-btn:hover { border-color: var(--repl-accent); }
.repl-btn.repl-run { background: var(--repl-accent); border-color: var(--repl-accent); color: var(--repl-accent-ink); font-weight: 600; padding: 4px 14px; }
.repl-btn:disabled { opacity: 0.6; cursor: progress; }
.repl-editor { position: relative; background: var(--repl-bg); }
.repl-editor pre, .repl-editor textarea {
  margin: 0; padding: 12px 14px; border: 0; width: 100%; box-sizing: border-box; white-space: pre; overflow-x: auto;
  font: 13.5px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; tab-size: 4;
}
.repl-editor pre { position: absolute; inset: 0; pointer-events: none; color: var(--repl-ink); background: none; overflow: hidden; }
.repl-editor textarea {
  position: relative; display: block; resize: none; background: transparent; color: transparent; caret-color: var(--repl-ink);
  outline: none; overflow-y: hidden;
}
.repl-editor textarea:focus-visible { box-shadow: inset 0 0 0 2px var(--repl-accent); }
.repl-editor textarea::selection { background: var(--repl-sel); color: transparent; }
.repl .rk { color: var(--repl-kw); } .repl .rs { color: var(--repl-str); } .repl .rn { color: var(--repl-num); }
.repl .rc { color: var(--repl-com); font-style: italic; } .repl .ra { color: var(--repl-api); }
.repl-out { border-top: 1px solid var(--repl-line); background: var(--repl-out-bg); color: var(--repl-out-ink); }
.repl-out-head {
  display: flex; justify-content: space-between; gap: 12px; padding: 5px 14px 0;
  font: 11px/1.4 ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: 0.06em; color: var(--repl-muted);
}
.repl-status { text-transform: none; letter-spacing: 0; }
.repl-status.repl-ok { color: var(--repl-ok); } .repl-status.repl-bad { color: var(--repl-err); }
.repl-text {
  margin: 0; padding: 6px 14px 12px; white-space: pre-wrap; word-break: break-word; max-height: 320px; overflow: auto;
  font: 13px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-variant-numeric: tabular-nums; background: none;
}
.repl-text.repl-err { color: var(--repl-err); }
.repl-text.repl-empty { color: var(--repl-muted); }
