/* API reference (tools/generate.py) */
.tf-src { font-size: .72rem; color: var(--md-default-fg-color--light); font-family: var(--md-code-font-family); }
.tf-kind { display: inline-block; font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  padding: .05rem .4rem; border-radius: .2rem; margin-right: .3rem;
  background: var(--md-default-fg-color--lightest); color: var(--md-default-fg-color--light); }
.tf-kind-record { background: #e3f2fd; color: #0d47a1; }
.tf-kind-interface { background: #ede7f6; color: #4527a0; }
.tf-kind-enum { background: #e8f5e9; color: #1b5e20; }
[data-md-color-scheme="slate"] .tf-kind-record { background: #0d2a4a; color: #90caf9; }
[data-md-color-scheme="slate"] .tf-kind-interface { background: #2a1f4a; color: #b39ddb; }
[data-md-color-scheme="slate"] .tf-kind-enum { background: #12301a; color: #a5d6a7; }
.tf-decl code { font-size: .8rem; }
.tf-kw { color: var(--md-code-hl-keyword-color); font-weight: 600; }
.tf-cm { color: var(--md-code-hl-comment-color); }
.tf-fn { font-weight: 700; color: var(--md-code-hl-function-color); }
.tf-param { color: var(--md-code-hl-variable-color); }
.tf-member { border-left: 3px solid var(--md-default-fg-color--lightest); padding: .1rem 0 .1rem .8rem; margin: 1rem 0 1.4rem; }
.tf-member:target { border-left-color: var(--md-accent-fg-color); }
.tf-sig { font-size: .8rem; white-space: pre-wrap; word-break: break-word; }
.tf-blank { color: var(--md-default-fg-color--lighter); font-style: italic; font-size: .75rem; }
.tf-note { background: rgba(255, 171, 0, .12); border-radius: .2rem; padding: 0 .2rem; }
.md-typeset .admonition.tf-note, .md-typeset details.tf-note { border-color: #ffab00; }
.md-typeset .tf-note > .admonition-title, .md-typeset .tf-note > summary { background-color: rgba(255, 171, 0, .12); }
.md-typeset .tf-note > .admonition-title::before, .md-typeset .tf-note > summary::before {
  background-color: #ffab00; -webkit-mask-image: var(--md-admonition-icon--info); mask-image: var(--md-admonition-icon--info); }
.md-typeset table:not([class]) td code { white-space: normal; word-break: break-word; }
.md-typeset table:not([class]) { font-size: .72rem; }
.md-typeset table:not([class]) td:first-child code { white-space: nowrap; word-break: normal; }
.tf-call { display: block; font-size: .72rem; color: var(--md-default-fg-color--light); }
.tf-used { display: inline-block; font-size: .65rem; color: var(--md-default-fg-color--light); white-space: nowrap; }
.md-typeset .admonition.tf-usage, .md-typeset details.tf-usage { border-color: var(--md-default-fg-color--lighter); font-size: .7rem; }
.md-typeset .tf-usage > summary { background-color: var(--md-default-fg-color--lightest); }
.md-typeset .tf-usage > summary::before { background-color: var(--md-default-fg-color--light);
  -webkit-mask-image: var(--md-admonition-icon--example); mask-image: var(--md-admonition-icon--example); }
.md-typeset .tf-usage pre { margin: .2em 0 .6em; }
/* Tables fit the content column and wrap long cells instead of growing past it
   (material's default is an inline-block table that scrolls sideways). */
.md-typeset__scrollwrap, .md-typeset__table { width: 100%; }
.md-typeset__table table:not([class]) { display: table; width: 100%; }
.md-typeset table:not([class]) td { overflow-wrap: anywhere; }
.md-typeset table:not([class]) td:first-child a { overflow-wrap: break-word; word-break: normal; }

/* In-game texts (HL-20) */
.tf-ingame { display: block; font-size: .75rem; margin: .5rem 0; padding: .15rem .5rem;
  border-left: 3px solid #26a69a; background: rgba(38, 166, 154, .08); border-radius: 0 .2rem .2rem 0; }
.md-typeset td .tf-ingame { font-size: inherit; margin: .25rem 0 0; padding: .05rem .4rem; }
.tf-ingame-label { display: inline-block; font-size: .6rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; padding: .05rem .35rem; border-radius: .2rem; margin-right: .35rem;
  background: #e0f2f1; color: #00695c; }
.tf-ingame q:lang(de) { quotes: "\201E" "\201C"; }
.tf-ingame q:lang(en) { quotes: '"' '"'; }
.tf-ingame-code { display: block; font-size: .68rem; color: var(--md-default-fg-color--light); }
.tf-ingame-missing { font-style: italic; color: var(--md-default-fg-color--lighter); }
.tf-ph { font-family: var(--md-code-font-family); font-size: .9em; color: var(--md-code-hl-variable-color); }
[data-md-color-scheme="slate"] .tf-ingame { border-left-color: #4db6ac; background: rgba(77, 182, 172, .10); }
[data-md-color-scheme="slate"] .tf-ingame-label { background: #123b37; color: #80cbc4; }
