/*
 * API area (integrations, keys, logs, callbacks, documentation) — only what the Neo Elite kit does
 * not provide. Tokens only; every rule works in light and dark.
 */

/* ---- Forms: left-aligned on the content edge (never centred under the section tabs) ------------ */

.pv-api-form {
    max-width: 80rem;
}

/* ---- Lists ----------------------------------------------------------------------------------- */

/* Name cell: the main identifier plus a muted one-liner that truncates instead of widening the table */
.pv-api-cell-main {
    min-width: 11rem;
    max-width: 22rem;
}

.pv-api-cell-path {
    min-width: 12rem;
    overflow-wrap: anywhere;
}

.pv-api-scopes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

/* Secondary cells of the narrower columns */
.pv-api-cell-app {
    min-width: 10rem;
    overflow-wrap: anywhere;
}

.pv-api-cell-app .text-truncate {
    max-width: 15rem;
}

.pv-api-cell-note {
    max-width: 11rem;
}

/*
 * Phones: the tables keep the identifying column, the status and the row menu; the other columns
 * are in the detail panel one tap away (nth-child, because the table component owns its headers).
 */
@media (max-width: 767.98px) {
    .pv-api-cell-main {
        min-width: 9rem;
        max-width: 14rem;
    }

    .pv-api-cell-path {
        min-width: 0;
    }

    /* integrations: keep Name, Status, menu */
    .pv-api-t-apps > * > tr > :nth-child(2),
    .pv-api-t-apps > * > tr > :nth-child(3),
    .pv-api-t-apps.pv-api-t-client > * > tr > :nth-child(4),
    /* keys: keep Name, Status, menu (the application name moves under the key name) */
    .pv-api-t-keys:not(.pv-api-t-client) > * > tr > :nth-child(2),
    .pv-api-t-keys:not(.pv-api-t-client) > * > tr > :nth-child(3),
    .pv-api-t-keys:not(.pv-api-t-client) > * > tr > :nth-child(5),
    .pv-api-t-keys.pv-api-t-client > * > tr > :nth-child(2),
    .pv-api-t-keys.pv-api-t-client > * > tr > :nth-child(3),
    .pv-api-t-keys.pv-api-t-client > * > tr > :nth-child(4),
    .pv-api-t-keys.pv-api-t-client > * > tr > :nth-child(6),
    /* logs: keep Time, Endpoint, Status */
    .pv-api-t-logs > * > tr > :nth-child(n+4),
    /* callbacks: keep Date, Event (the status badge moves under it), menu */
    .pv-api-t-callbacks > * > tr > :nth-child(2),
    .pv-api-t-callbacks > * > tr > :nth-child(3),
    .pv-api-t-callbacks > * > tr > :nth-child(5),
    .pv-api-t-callbacks > * > tr > :nth-child(6),
    .pv-api-t-callbacks > * > tr > :nth-child(7) {
        display: none;
    }
}

/* Tablet / small laptop: the callbacks table drops the application (still in the detail panel) to fit without scrolling */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .pv-api-t-callbacks > * > tr > :nth-child(3) {
        display: none;
    }
}

/* Clicking anywhere on the row triggers its first action (api.js); the cursor says so */
.pv-api-row-link {
    cursor: pointer;
}

.pv-api-row-link .dropdown,
.pv-api-row-link .btn {
    cursor: auto;
}

.pv-api-row-link .btn-link {
    --bs-btn-font-size: inherit;
    cursor: pointer;
    vertical-align: baseline;
}

.pv-api-time {
    --bs-btn-color: var(--bs-body-color);
}

/* The kit button is a flex row: stack date over time below xl, one line from xl up */
@media (max-width: 1199.98px) {
    .pv-api-time {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        line-height: 1.35;
    }
}

/* Key / value list for the detail panels: label on the left edge, value on the right edge */
.pv-api-detail {
    margin: 0;
}

.pv-api-detail > div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.25rem 1rem;
    padding: 0.625rem 0;
    border-bottom: 1px solid var(--bs-border-color);
}

.pv-api-detail > div:first-child {
    border-top: 1px solid var(--bs-border-color);
}

.pv-api-detail dt {
    flex: 0 0 auto;
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
    font-weight: 400;
}

.pv-api-detail dd {
    min-width: 0;
    margin: 0;
    text-align: end;
}

/* A value that carries a list (scopes) goes below its label and aligns to the left edge */
.pv-api-detail dd:has(.pv-api-scopes) {
    flex: 1 0 100%;
    text-align: start;
}

/* ---- Documentation --------------------------------------------------------------------------- */

.pv-api-docs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

@media (min-width: 992px) {
    .pv-api-docs {
        grid-template-columns: 12.5rem minmax(0, 1fr);
        gap: 2.5rem;
    }
}

.pv-api-docs-main {
    min-width: 0;
    max-width: 64rem;
    container-type: inline-size;
    container-name: pv-docs;
}

/* Table of contents: sticky rail on desktop, sideways-scrolling chips on small screens */
.pv-api-toc {
    min-width: 0;
}

.pv-api-toc .nav {
    flex-wrap: nowrap;
    gap: 0.25rem;
    padding-bottom: 0.25rem;
    overflow-x: auto;
    scrollbar-width: none;
}

.pv-api-toc .nav::-webkit-scrollbar {
    display: none;
}

.pv-api-toc .nav-link {
    padding: 0.25rem 0.75rem;
    border-radius: var(--bs-border-radius-pill);
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
    white-space: nowrap;
}

.pv-api-toc .nav-link:hover,
.pv-api-toc .nav-link:focus-visible {
    background-color: var(--ui-hover);
    color: var(--bs-emphasis-color);
}

.pv-api-toc .nav-link.active {
    background-color: var(--ui-active);
    color: var(--bs-emphasis-color);
    font-weight: 500;
}

@media (min-width: 992px) {
    .pv-api-toc {
        position: sticky;
        top: calc(var(--ui-topbar-height) + 1rem);
        align-self: start;
        max-height: calc(100dvh - var(--ui-topbar-height) - 2rem);
        overflow-y: auto;
    }

    .pv-api-toc .nav {
        flex-direction: column;
        gap: 0;
        padding: 0;
        overflow: visible;
        border-inline-start: 1px solid var(--bs-border-color);
    }

    .pv-api-toc .nav-link {
        margin-inline-start: -1px;
        padding: 0.375rem 0.75rem;
        white-space: normal;
        border-inline-start: 2px solid transparent;
        border-radius: 0;
    }

    .pv-api-toc .nav-link:hover,
    .pv-api-toc .nav-link:focus-visible,
    .pv-api-toc .nav-link.active {
        background-color: transparent;
    }

    .pv-api-toc .nav-link.active {
        border-inline-start-color: var(--bs-primary);
    }

    /* "API reference" groups: nested under the rail entry (on the chip strip they render as plain chips) */
    .pv-api-toc .pv-api-toc-sub {
        padding-inline-start: 1.5rem;
        font-size: 0.75rem;
    }
}

.pv-api-section {
    scroll-margin-top: calc(var(--ui-topbar-height) + 1rem);
}

.pv-api-section + .pv-api-section {
    margin-top: 2.5rem;
}

.pv-api-section > h2,
.pv-api-section h2 {
    margin-bottom: 0.25rem;
    font-size: 1.25rem;
}

.pv-api-eyebrow {
    margin-bottom: 0.25rem;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pv-api-fact {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
}

/* Single-line value with its copy button on the right edge */
.pv-api-inline-code {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.375rem 0.25rem 0.375rem 0.75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    background-color: var(--bs-tertiary-bg);
}

.pv-api-inline-code > code {
    min-width: 0;
    padding: 0;
    background: transparent;
    color: var(--bs-body-color);
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

/* Code block: header strip (label + copy) over a scrollable monospace body */
.pv-api-code {
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    background-color: var(--bs-tertiary-bg);
}

.pv-api-code-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 2.5rem;
    padding: 0.25rem 0.5rem 0.25rem 0.875rem;
    border-bottom: 1px solid var(--bs-border-color);
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
}

.pv-api-code pre {
    margin: 0;
    padding: 0.875rem;
    max-height: 28rem;
    overflow: auto;
    color: var(--bs-body-color);
    font-size: 0.8125rem;
    line-height: 1.6;
}

.pv-api-code pre code,
.pv-api-response pre code {
    padding: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
}

/* Recommended flow: numbered steps joined by a rail */
.pv-api-flow {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.pv-api-flow > li {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding-bottom: 1rem;
}

.pv-api-flow > li:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 1.75rem;
    bottom: 0.25rem;
    left: 0.8125rem;
    width: 1px;
    background-color: var(--bs-border-color);
}

.pv-api-flow-index {
    display: inline-flex;
    flex: 0 0 1.625rem;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    border-radius: var(--bs-border-radius-pill);
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
    font-size: 0.75rem;
    font-weight: 600;
}

/* Checklist (sandbox rules): check marks instead of bullets */
.pv-api-checklist {
    display: grid;
    gap: 0.5rem;
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}

.pv-api-checklist > li {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
}

.pv-api-checklist .bi {
    flex: 0 0 auto;
    color: var(--bs-success);
    font-size: 1rem;
    line-height: 1.4;
}

/* ---- Live reference -------------------------------------------------------------------------- */

/* Key panel: sits under the quick-start facts and hides its result line until a test runs */
.pv-api-keypanel {
    margin-top: 1rem;
}

.pv-api-keypanel-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    margin-top: 0.5rem;
}

.pv-api-keypanel-foot .form-check {
    margin-bottom: 0;
    font-size: 0.875em;
}

/* Empty placeholders (env hint not filled) must not add a gap */
.pv-api-keypanel-foot > :empty {
    display: none;
}

.pv-api-keypanel-result {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
}

.pv-api-keypanel-result:empty {
    display: none;
}

/* HTTP method label */
.pv-api-method {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 3.75rem;
    padding: 0.125rem 0.375rem;
    border-radius: var(--bs-border-radius-sm);
    background-color: var(--bs-secondary-bg-subtle);
    color: var(--bs-secondary-text-emphasis);
    font-family: var(--bs-font-monospace);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

.pv-api-method-get {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
}

.pv-api-method-post {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-success-text-emphasis);
}

.pv-api-method-patch,
.pv-api-method-put {
    background-color: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
}

.pv-api-method-delete {
    background-color: var(--bs-danger-bg-subtle);
    color: var(--bs-danger-text-emphasis);
}

/* Reference heading row: title on the left, endpoint filter on the right */
.pv-api-ref-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.pv-api-ref-head > h2 {
    margin-bottom: 0;
}

.pv-api-ref-filter {
    position: relative;
    width: min(100%, 18rem);
}

/* Tag groups: an eyebrow heading over stacked operations */
.pv-api-ref-group {
    scroll-margin-top: calc(var(--ui-topbar-height, 4rem) + 1rem);
}

.pv-api-ref-group + .pv-api-ref-group {
    margin-top: 1.75rem;
}

.pv-api-ref-group-title {
    margin-bottom: 0.5rem;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Operation: a collapsible card, one row when closed */
.pv-api-op {
    scroll-margin-top: calc(var(--ui-topbar-height, 4rem) + 1rem);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
}

.pv-api-op + .pv-api-op {
    margin-top: 0.5rem;
}

.pv-api-op[open] {
    border-color: color-mix(in srgb, var(--bs-primary) 35%, var(--bs-border-color));
}

.pv-api-op-summary {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.375rem 0.75rem;
    padding: 0.625rem 0.875rem;
    border-radius: inherit;
    cursor: pointer;
    list-style: none;
}

/* Fixed badge width so the titles line up in one column */
.pv-api-op-summary .pv-api-method {
    width: 4rem;
}

.pv-api-op-summary::-webkit-details-marker {
    display: none;
}

.pv-api-op-summary:hover {
    background-color: var(--ui-hover);
}

.pv-api-op-summary:focus-visible {
    outline: none;
    box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

/* Title fills the row after the badge, one line with ellipsis */
.pv-api-op-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--bs-emphasis-color);
    font-size: 0.875rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Path sits on the right, muted, and shrinks with ellipsis */
.pv-api-op-path {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 50%;
    padding: 0;
    background: transparent;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pv-api-op-chevron {
    flex: 0 0 auto;
    color: var(--bs-secondary-color);
    transition: transform 0.2s ease;
}

.pv-api-op[open] > .pv-api-op-summary .pv-api-op-chevron {
    transform: rotate(180deg);
}

/* Phones: the title wraps beside the badge, the path drops under it */
@media (max-width: 575.98px) {
    .pv-api-op-summary {
        flex-wrap: wrap;
    }

    .pv-api-op-title {
        flex: 1 1 0;
        overflow: visible;
        white-space: normal;
    }

    .pv-api-op-path {
        order: 1;
        flex-basis: 100%;
        max-width: none;
        padding-inline-start: calc(4rem + 0.75rem);
        overflow-wrap: anywhere;
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pv-api-op-chevron {
        transition: none;
    }
}

/* Operation body: documentation beside the console once the docs column is wide enough */
.pv-api-op-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 0.875rem;
    border-top: 1px solid var(--bs-border-color);
}

.pv-api-op-doc,
.pv-api-op-console {
    min-width: 0;
}

@container pv-docs (min-width: 60rem) {
    .pv-api-op-body {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    }

    .pv-api-op-console {
        position: sticky;
        top: calc(var(--ui-topbar-height, 4rem) + 1rem);
        align-self: start;
    }
}

.pv-api-op-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-bottom: 0.5rem;
}

.pv-api-op-label {
    margin: 0.875rem 0 0.375rem;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pv-api-op-label:first-of-type {
    margin-top: 0.375rem;
}

/* Media type after a label stays in normal case */
.pv-api-op-label .pv-api-field-type {
    letter-spacing: 0;
    text-transform: none;
}

.pv-api-fields {
    display: grid;
    gap: 0.5rem;
}

.pv-api-field-name {
    display: flex;
    align-items: baseline;
    gap: 0.375rem;
    margin-bottom: 0.25rem;
    font-size: 0.8125rem;
}

.pv-api-field-type {
    color: var(--bs-secondary-color);
    font-family: var(--bs-font-monospace);
    font-size: 0.75rem;
    font-weight: 400;
}

.pv-api-field-help {
    margin-top: 0.25rem;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
}

.pv-api-body-input {
    font-size: 0.8125rem;
    line-height: 1.5;
    resize: vertical;
    tab-size: 2;
}

.pv-api-schema {
    margin-top: 0.5rem;
}

.pv-api-schema > summary {
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
    cursor: pointer;
}

.pv-api-schema-list {
    margin: 0.5rem 0 0;
}

.pv-api-schema-list > div {
    padding: 0.375rem 0;
    border-top: 1px solid var(--bs-border-color);
}

.pv-api-schema-list dt {
    font-size: 0.8125rem;
    font-weight: 400;
}

.pv-api-schema-list dd {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
}

.pv-api-responses {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pv-api-responses > li {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.25rem 0;
    font-size: 0.8125rem;
}

/* HTTP status code chip, coloured by class (2xx, 3xx, 4xx, 5xx) */
.pv-api-status {
    flex: 0 0 auto;
    padding: 0.0625rem 0.375rem;
    border-radius: var(--bs-border-radius-sm);
    background-color: var(--bs-secondary-bg-subtle);
    color: var(--bs-secondary-text-emphasis);
    font-family: var(--bs-font-monospace);
    font-size: 0.75rem;
    font-weight: 600;
}

.pv-api-status-2xx {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-success-text-emphasis);
}

.pv-api-status-3xx {
    background-color: var(--bs-info-bg-subtle);
    color: var(--bs-info-text-emphasis);
}

.pv-api-status-4xx {
    background-color: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
}

.pv-api-status-5xx {
    background-color: var(--bs-danger-bg-subtle);
    color: var(--bs-danger-text-emphasis);
}

/* Console: language switch, copy button, send row and response panel */
.pv-api-langs {
    display: inline-flex;
    gap: 0.125rem;
    padding: 0.125rem;
    border-radius: var(--bs-border-radius);
    background-color: var(--ui-hover);
}

.pv-api-lang {
    padding: 0.1875rem 0.5rem;
    border: 0;
    border-radius: var(--bs-border-radius-sm);
    background-color: transparent;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    line-height: 1.4;
}

.pv-api-lang:hover {
    color: var(--bs-emphasis-color);
}

.pv-api-lang[aria-pressed="true"] {
    background-color: var(--bs-body-bg);
    box-shadow: var(--bs-box-shadow-sm);
    color: var(--bs-emphasis-color);
    font-weight: 500;
}

.pv-api-lang:focus-visible {
    outline: none;
    box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.pv-api-op-console .pv-api-code pre {
    max-height: 22rem;
    font-size: 0.75rem;
}

.pv-api-send {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.625rem;
}

.pv-api-send-key {
    min-width: 0;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    overflow-wrap: anywhere;
}

.pv-api-send-key a {
    color: var(--bs-link-color);
}

.pv-api-send-warning {
    margin: 0.5rem 0 0;
    color: var(--bs-warning-text-emphasis);
    font-size: 0.75rem;
}

.pv-api-flow-link {
    text-decoration: none;
}

.pv-api-flow-link:hover code {
    text-decoration: underline;
}

/* Response panel: status and timing in the header, body and headers scroll */
.pv-api-response {
    margin-top: 0.75rem;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
}

.pv-api-response-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.5rem 0.375rem 0.75rem;
    border-bottom: 1px solid var(--bs-border-color);
    background-color: var(--bs-tertiary-bg);
}

.pv-api-response-meta {
    margin-inline-end: auto;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
}

.pv-api-response-body,
.pv-api-response-headers {
    margin: 0;
    padding: 0.75rem;
    max-height: 26rem;
    overflow: auto;
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    font-size: 0.75rem;
}

/* JSON syntax colours, token-based so they follow the theme */
.pv-json-key {
    color: var(--bs-primary-text-emphasis);
}

.pv-json-string {
    color: var(--bs-success-text-emphasis);
}

.pv-json-number {
    color: var(--bs-warning-text-emphasis);
}

.pv-json-bool,
.pv-json-null {
    color: var(--bs-danger-text-emphasis);
}

/* ---- Public developer page (public/developers.blade.php) ------------------------------------- */

.pv-dev-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid var(--bs-border-color);
}

@media (min-width: 992px) {
    .pv-dev-head {
        grid-template-columns: minmax(0, 1fr) 24rem;
        align-items: end;
        gap: 3rem;
    }
}

.pv-dev-title {
    margin-bottom: 0.75rem;
    color: var(--bs-emphasis-color);
    font-size: clamp(1.875rem, 1.4rem + 1.8vw, 2.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.pv-dev-lead {
    max-width: 38rem;
    margin-bottom: 1.5rem;
    color: var(--bs-secondary-color);
    font-size: 1.0625rem;
    line-height: 1.6;
}

.pv-dev-facts {
    margin: 0;
    padding: 0.25rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
}

.pv-dev-facts > div {
    padding: 0.625rem 0;
}

.pv-dev-facts > div + div {
    border-top: 1px solid var(--bs-border-color);
}

.pv-dev-facts dt {
    margin-bottom: 0.125rem;
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
    font-weight: 400;
}

.pv-dev-facts dd {
    margin: 0;
    color: var(--bs-emphasis-color);
    overflow-wrap: anywhere;
}

.pv-dev-facts code {
    color: inherit;
}
