.pf-code {
    --code-kw: var(--pf-acc, #ff79c6);
    --code-str: #a6e22e;
    --code-num: #ffb86c;
    --code-fn: #66d9ef;
    --code-type: #bd93f9;
    --code-com: rgba(255,255,255,.4);
    --code-attr: #f1fa8c;
    --code-text: rgba(255,255,255,.88);
    --code-fs: 13px;
    --code-lh: 1.55;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important;
    min-width: 0;
    padding: 0 !important;
    overflow: hidden;
}
.pf-code-h { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 44px; padding: 8px 8px 8px 16px; border-bottom: 1px solid var(--pf-line); }
.pf-code-f { flex: 1 1 auto; min-width: 0; font-family: var(--mono); font-size: 13px; font-weight: 500; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-code-l { flex: 0 0 auto; font-size: 12px; color: rgba(255,255,255,.5); }
.pf-code-bare > .pf-code-copy { position: absolute; top: 8px; right: 8px; z-index: 1; }
.pf-code-copy { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: rgba(255,255,255,.6); font-size: 13px; cursor: pointer; }
.pf-code-copy:hover { background: rgba(255,255,255,.08); color: #fff; }
.pf-code-copy:focus-visible { outline: 2px solid rgba(255,255,255,.6); outline-offset: 1px; }
.pf-code-copy .fa-check, .pf-code-copy.is-done .fa-copy { display: none; }
.pf-code-copy.is-done .fa-check { display: inline-block; color: #6ee7a0; }
.pf-code-body { display: flex; flex: 1 1 auto; min-height: 0; min-width: 0; max-height: 480px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.pf-code-body:focus-visible { outline: 2px solid rgba(255,255,255,.35); outline-offset: -2px; }
.pf-code-ln, .pf-code-pre { font-family: var(--mono); font-size: var(--code-fs); line-height: var(--code-lh); font-variant-ligatures: none; }
.pf-code-ln { flex: 0 0 auto; padding: 12px 0 12px 16px; white-space: pre; text-align: right; color: rgba(255,255,255,.35); font-variant-numeric: tabular-nums; user-select: none; }
.pf-code-pre { flex: 1 1 auto; min-width: 0; margin: 0; padding: 12px 16px 12px 16px; overflow-x: auto; white-space: pre; tab-size: 4; color: var(--code-text); background: none; border: 0; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.pf-code-pre code { font: inherit; color: inherit; background: none; padding: 0; white-space: inherit; }
.pf-code-bare .pf-code-pre { padding-right: 44px; }
.pf-code-term .pf-code-pre { padding-left: 16px; white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: hidden; }
.pf-code-row { display: block; padding-left: 2ch; text-indent: -2ch; }
.pfe-code-tip { white-space: pre-line; }
.pf-code-who { color: var(--pf-acc, #8be9fd); user-select: none; }
.pf-code-c { color: #fff; }
.pf-code-out { color: rgba(255,255,255,.6); }

.pf-code .hljs-keyword, .pf-code .hljs-selector-tag, .pf-code .hljs-meta .hljs-keyword, .pf-code .hljs-doctag, .pf-code .hljs-tag, .pf-code .hljs-name { color: var(--code-kw); }
.pf-code .hljs-string, .pf-code .hljs-regexp, .pf-code .hljs-addition, .pf-code .hljs-template-tag, .pf-code .hljs-template-variable { color: var(--code-str); }
.pf-code .hljs-number, .pf-code .hljs-literal, .pf-code .hljs-symbol, .pf-code .hljs-bullet { color: var(--code-num); }
.pf-code .hljs-title, .pf-code .hljs-title.function_, .pf-code .hljs-section, .pf-code .hljs-selector-id { color: var(--code-fn); }
.pf-code .hljs-type, .pf-code .hljs-built_in, .pf-code .hljs-title.class_, .pf-code .hljs-class .hljs-title, .pf-code .hljs-selector-class { color: var(--code-type); }
.pf-code .hljs-attr, .pf-code .hljs-attribute, .pf-code .hljs-variable, .pf-code .hljs-params, .pf-code .hljs-property, .pf-code .hljs-selector-attr, .pf-code .hljs-selector-pseudo { color: var(--code-attr); }
.pf-code .hljs-comment, .pf-code .hljs-quote, .pf-code .hljs-meta { color: var(--code-com); font-style: italic; }
.pf-code .hljs-deletion { color: #ff6b6b; }
.pf-code .hljs-emphasis { font-style: italic; }
.pf-code .hljs-strong { font-weight: 700; }

body.pf-th-explicit .pf-code { --code-kw: #fff; --code-str: #d9d9d9; --code-num: #fff; --code-fn: #fff; --code-type: #bdbdbd; --code-attr: #e6e6e6; --code-com: rgba(255,255,255,.38); }
body.pf-th-explicit .pf-code .hljs-keyword { font-weight: 700; }
body.pf-th-explicit .pf-code-who { color: rgba(255,255,255,.45); }

.pf-code-ty.pf-code-wait :is(.pf-code-ln, .pf-code-pre) { clip-path: inset(0 0 100% 0); }
.pf-code-ty.pf-code-go :is(.pf-code-ln, .pf-code-pre) { animation: pf-code-type min(calc(var(--code-n) * 80ms), 1200ms) steps(var(--code-n), jump-start) both; }
@keyframes pf-code-type { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }

@container blk (max-width: 420px) {
    .pf-code { --code-fs: 11.5px; --code-lh: 1.5; }
    .pf-code-h { padding-left: 12px; }
    .pf-code-ln { padding-left: 12px; }
    .pf-code-pre { padding: 12px 12px 12px 8px; }
    .pf-code-term .pf-code-pre { padding-left: 12px; }
    .pf-code-bare .pf-code-pre { padding-right: 44px; }
}

.pf-body a.pf-gh { display: flex; flex-direction: column; row-gap: 8px; min-width: 0; color: inherit; text-decoration: none; }
.pf-gh-top { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pf-gh-ico { flex: 0 0 auto; font-size: 20px; color: #fff; }
.pf-gh-n { flex: 1 1 auto; min-width: 0; font-size: var(--pf-fs-body, .9rem); color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-gh-o { color: var(--pf-text-mute); }
.pf-gh-n b { font-weight: 700; }
.pf-gh-arch { flex: 0 0 auto; padding: 1px 6px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; font-size: 11px; color: var(--pf-text-mute); }
.pf-gh-d { margin: 0; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.7); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.pf-gh-meta { margin-top: 4px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 12px; color: var(--pf-text-mute); font-variant-numeric: tabular-nums; }
.pf-gh-meta span { display: inline-flex; align-items: center; gap: 6px; }
.pf-gh-meta .fas { font-size: 11px; opacity: .8; }
.pf-gh-lang i { width: 10px; height: 10px; border-radius: 50%; background: var(--gh-c, rgba(255,255,255,.5)); }
.pf-gh-lang[data-lang="javascript"] { --gh-c: #f1e05a; }
.pf-gh-lang[data-lang="typescript"] { --gh-c: #3178c6; }
.pf-gh-lang[data-lang="python"] { --gh-c: #3572a5; }
.pf-gh-lang[data-lang="lua"] { --gh-c: #4b5bd6; }
.pf-gh-lang[data-lang="luau"] { --gh-c: #00a2ff; }
.pf-gh-lang[data-lang="c#"] { --gh-c: #178600; }
.pf-gh-lang[data-lang="c++"] { --gh-c: #f34b7d; }
.pf-gh-lang[data-lang="c"] { --gh-c: #a8b9cc; }
.pf-gh-lang[data-lang="java"] { --gh-c: #b07219; }
.pf-gh-lang[data-lang="kotlin"] { --gh-c: #a97bff; }
.pf-gh-lang[data-lang="go"] { --gh-c: #00add8; }
.pf-gh-lang[data-lang="rust"] { --gh-c: #dea584; }
.pf-gh-lang[data-lang="html"] { --gh-c: #e34c26; }
.pf-gh-lang[data-lang="css"] { --gh-c: #663399; }
.pf-gh-lang[data-lang="shell"] { --gh-c: #89e051; }
.pf-gh-lang[data-lang="php"] { --gh-c: #4f5d95; }
.pf-gh-lang[data-lang="swift"] { --gh-c: #f05138; }
.pf-gh-lang[data-lang="ruby"] { --gh-c: #cc342d; }
@media (hover: hover) {
    .pf-body a.pf-gh:hover .pf-gh-n b { text-decoration: underline; text-underline-offset: 3px; }
}

@media (prefers-reduced-motion: reduce) {
    .pf-code-ty.pf-code-wait :is(.pf-code-ln, .pf-code-pre) { clip-path: none; }
    .pf-code-ty.pf-code-go :is(.pf-code-ln, .pf-code-pre) { animation: none; }
}

.pfe-code-in { font-family: var(--mono) !important; font-size: 12px !important; line-height: 1.5 !important; white-space: pre !important; overflow-wrap: normal !important; overflow-x: auto !important; tab-size: 4; min-height: 180px; resize: vertical; }
