/*
SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
*/

:root {
  --nf-home-accent: #76b900;
  --nf-home-accent-dark: #3d5f1a;
  --nf-home-border: rgba(61, 95, 26, 0.18);
  --nf-home-surface: rgba(118, 185, 0, 0.06);
  --nf-scrollbar-thumb: #76b900;
  --nf-scrollbar-thumb-hover: #5d9600;
  --nf-scrollbar-track: rgba(118, 185, 0, 0.12);
  --nf-switcher-surface: var(--pst-color-background);
  --nf-switcher-menu-surface: var(--pst-color-background);
  --nf-switcher-border: rgba(51, 51, 51, 0.16);
  --nf-switcher-border-strong: rgba(51, 51, 51, 0.28);
  --nf-switcher-shadow: 0 10px 26px rgba(0, 0, 0, 0.12);
  --nf-switcher-label: var(--pst-color-primary);
  --nf-switcher-hover-bg: var(--pst-color-surface);
  --nf-switcher-current-bg: var(--pst-color-surface);
  --nf-switcher-pill-bg: rgba(118, 185, 0, 0.12);
  --nf-switcher-pill-text: var(--nv-color-green-2);
  --nf-switcher-beta-bg: rgba(0, 72, 49, 0.12);
  --nf-switcher-beta-text: var(--pst-color-primary);
  --nf-switcher-focus-ring: rgba(118, 185, 0, 0.2);
}

html[data-theme="dark"] {
  --nf-scrollbar-track: rgba(118, 185, 0, 0.2);
  --nf-switcher-surface: var(--pst-color-background);
  --nf-switcher-menu-surface: var(--pst-color-surface);
  --nf-switcher-border: rgba(221, 221, 221, 0.16);
  --nf-switcher-border-strong: rgba(221, 221, 221, 0.28);
  --nf-switcher-shadow: 0 16px 32px rgba(0, 0, 0, 0.42);
  --nf-switcher-label: var(--pst-color-primary);
  --nf-switcher-hover-bg: rgba(255, 255, 255, 0.04);
  --nf-switcher-current-bg: rgba(255, 255, 255, 0.05);
  --nf-switcher-pill-bg: rgba(118, 185, 0, 0.18);
  --nf-switcher-pill-text: var(--pst-color-primary);
  --nf-switcher-beta-bg: rgba(0, 72, 49, 0.42);
  --nf-switcher-beta-text: #d7e7de;
  --nf-switcher-focus-ring: rgba(118, 185, 0, 0.28);
}

* {
  scrollbar-color: var(--nf-scrollbar-thumb) var(--nf-scrollbar-track);
  scrollbar-width: thin;
}

*::-webkit-scrollbar {
  height: 0.85rem;
  width: 0.85rem;
}

*::-webkit-scrollbar-track {
  background: var(--nf-scrollbar-track);
}

*::-webkit-scrollbar-thumb {
  background-color: var(--nf-scrollbar-thumb);
  border: 0.18rem solid var(--nf-scrollbar-track);
  border-radius: 999px;
}

*::-webkit-scrollbar-thumb:hover {
  background-color: var(--nf-scrollbar-thumb-hover);
}

.mermaid,
.mermaid > svg {
  --surface: #ffffff;
  --border: #e0e0e0;
  --line: #757575;
  --text: #000000;
  --edge-label-background: #ffffff;
  --white-fill: #ffffff;
  --white-stroke: #757575;
  --white-text: #000000;
  --black-fill: #000000;
  --black-stroke: #ffffff;
  --black-text: #ffffff;
  --grey-lightest-fill: #e0e0e0;
  --grey-lightest-stroke: #a7a7a7;
  --grey-lightest-text: #000000;
  --grey-light-fill: #a7a7a7;
  --grey-light-stroke: #757575;
  --grey-light-text: #000000;
  --grey-fill: #757575;
  --grey-stroke: #e0e0e0;
  --grey-text: #ffffff;
  --grey-dark-fill: #757575;
  --grey-dark-stroke: #a7a7a7;
  --grey-dark-text: #ffffff;
  --grey-darkest-fill: #757575;
  --grey-darkest-stroke: #e0e0e0;
  --grey-darkest-text: #ffffff;
  --grey-hint-fill: #e0e0e0;
  --grey-hint-stroke: #a7a7a7;
  --grey-hint-text: #000000;
  --green-lightest-fill: #cfff40;
  --green-lightest-stroke: #76b900;
  --green-lightest-text: #000000;
  --green-light-fill: #bff230;
  --green-light-stroke: #76b900;
  --green-light-text: #000000;
  --green-fill: #76b900;
  --green-stroke: #3f8500;
  --green-text: #000000;
  --green-dark-fill: #3f8500;
  --green-dark-stroke: #265600;
  --green-dark-text: #ffffff;
  --green-darkest-fill: #265600;
  --green-darkest-stroke: #3f8500;
  --green-darkest-text: #ffffff;
  --purple-lightest-fill: #f9d4ff;
  --purple-lightest-stroke: #c359ef;
  --purple-lightest-text: #000000;
  --purple-light-fill: #c359ef;
  --purple-light-stroke: #952fc6;
  --purple-light-text: #000000;
  --purple-fill: #952fc6;
  --purple-stroke: #741d9d;
  --purple-text: #ffffff;
  --purple-dark-fill: #741d9d;
  --purple-dark-stroke: #4d1368;
  --purple-dark-text: #ffffff;
  --purple-darkest-fill: #4d1368;
  --purple-darkest-stroke: #741d9d;
  --purple-darkest-text: #ffffff;
  --yellow-lightest-fill: #feeeb2;
  --yellow-lightest-stroke: #fcde7b;
  --yellow-lightest-text: #000000;
  --yellow-light-fill: #fcde7b;
  --yellow-light-stroke: #f9c500;
  --yellow-light-text: #000000;
  --yellow-fill: #f9c500;
  --yellow-stroke: #ef9100;
  --yellow-text: #000000;
  --yellow-dark-fill: #ef9100;
  --yellow-dark-stroke: #df6500;
  --yellow-dark-text: #ffffff;
  --yellow-darkest-fill: #df6500;
  --yellow-darkest-stroke: #ef9100;
  --yellow-darkest-text: #ffffff;
  --blue-lightest-fill: #cbf5ff;
  --blue-lightest-stroke: #7cd7fe;
  --blue-lightest-text: #000000;
  --blue-light-fill: #7cd7fe;
  --blue-light-stroke: #0074df;
  --blue-light-text: #000000;
  --blue-fill: #0074df;
  --blue-stroke: #0046a4;
  --blue-text: #000000;
  --blue-dark-fill: #0046a4;
  --blue-dark-stroke: #002781;
  --blue-dark-text: #ffffff;
  --blue-darkest-fill: #002781;
  --blue-darkest-stroke: #0046a4;
  --blue-darkest-text: #ffffff;
  --red-lightest-fill: #ffd7d7;
  --red-lightest-stroke: #ff8181;
  --red-lightest-text: #000000;
  --red-light-fill: #ff8181;
  --red-light-stroke: #e52020;
  --red-light-text: #000000;
  --red-fill: #e52020;
  --red-stroke: #961515;
  --red-text: #000000;
  --red-dark-fill: #961515;
  --red-dark-stroke: #650b0b;
  --red-dark-text: #ffffff;
  --red-darkest-fill: #650b0b;
  --red-darkest-stroke: #961515;
  --red-darkest-text: #ffffff;
  --magenta-lightest-fill: #ffd3f2;
  --magenta-lightest-stroke: #fc79ca;
  --magenta-lightest-text: #000000;
  --magenta-light-fill: #fc79ca;
  --magenta-light-stroke: #d2308e;
  --magenta-light-text: #000000;
  --magenta-fill: #d2308e;
  --magenta-stroke: #8c1c55;
  --magenta-text: #000000;
  --magenta-dark-fill: #8c1c55;
  --magenta-dark-stroke: #5d1337;
  --magenta-dark-text: #ffffff;
  --magenta-darkest-fill: #5d1337;
  --magenta-darkest-stroke: #8c1c55;
  --magenta-darkest-text: #ffffff;
  --teal-lightest-fill: #adfcf8;
  --teal-lightest-stroke: #9aefe5;
  --teal-lightest-text: #000000;
  --teal-light-fill: #9aefe5;
  --teal-light-stroke: #1dbba4;
  --teal-light-text: #000000;
  --teal-fill: #1dbba4;
  --teal-stroke: #0d8473;
  --teal-text: #000000;
  --teal-dark-fill: #0d8473;
  --teal-dark-stroke: #04554b;
  --teal-dark-text: #ffffff;
  --teal-darkest-fill: #04554b;
  --teal-darkest-stroke: #0d8473;
  --teal-darkest-text: #ffffff;
}

.mermaid > svg .label text,
.mermaid > svg .label span,
.mermaid > svg .label tspan,
.mermaid > svg .nodeLabel,
.mermaid > svg .nodeLabel p,
.mermaid > svg .cluster-label text,
.mermaid > svg .cluster-label span,
.mermaid > svg .cluster-label tspan,
.mermaid > svg .cluster text,
.mermaid > svg .cluster span,
.mermaid > svg .cluster tspan {
  color: var(--text) !important;
  fill: var(--text) !important;
}

.mermaid > svg .edgePath .path,
.mermaid > svg .flowchart-link {
  stroke: var(--line) !important;
}

.mermaid > svg .marker,
.mermaid > svg .marker.cross,
.mermaid > svg .arrowheadPath {
  fill: var(--line) !important;
  stroke: var(--line) !important;
}

.mermaid > svg .edgeLabel rect,
.mermaid > svg .edgeLabel p,
.mermaid > svg .labelBkg,
.mermaid > svg .icon-shape,
.mermaid > svg .icon-shape p,
.mermaid > svg .image-shape,
.mermaid > svg .image-shape p {
  background-color: var(--edge-label-background) !important;
  fill: var(--edge-label-background) !important;
}

.mermaid > svg .edgeLabel text,
.mermaid > svg .edgeLabel span,
.mermaid > svg .edgeLabel tspan {
  color: var(--text) !important;
  fill: var(--text) !important;
}

.mermaid > svg .cluster {
  --mermaid-fill: var(--grey-hint-fill);
  --mermaid-stroke: var(--grey-hint-stroke);
  --mermaid-text: var(--grey-hint-text);
}

.mermaid > svg .node :is(rect, polygon, circle, ellipse, path),
.mermaid > svg .cluster rect {
  stroke-width: 2px !important;
}

.mermaid > svg .white {
  --mermaid-fill: var(--white-fill);
  --mermaid-stroke: var(--white-stroke);
  --mermaid-text: var(--white-text);
}

.mermaid > svg .black {
  --mermaid-fill: var(--black-fill);
  --mermaid-stroke: var(--black-stroke);
  --mermaid-text: var(--black-text);
}

.mermaid > svg .grey-lightest {
  --mermaid-fill: var(--grey-lightest-fill);
  --mermaid-stroke: var(--grey-lightest-stroke);
  --mermaid-text: var(--grey-lightest-text);
}

.mermaid > svg .grey-light {
  --mermaid-fill: var(--grey-light-fill);
  --mermaid-stroke: var(--grey-light-stroke);
  --mermaid-text: var(--grey-light-text);
}

.mermaid > svg .grey {
  --mermaid-fill: var(--grey-fill);
  --mermaid-stroke: var(--grey-stroke);
  --mermaid-text: var(--grey-text);
}

.mermaid > svg .grey-dark {
  --mermaid-fill: var(--grey-dark-fill);
  --mermaid-stroke: var(--grey-dark-stroke);
  --mermaid-text: var(--grey-dark-text);
}

.mermaid > svg .grey-darkest {
  --mermaid-fill: var(--grey-darkest-fill);
  --mermaid-stroke: var(--grey-darkest-stroke);
  --mermaid-text: var(--grey-darkest-text);
}

.mermaid > svg .grey-hint {
  --mermaid-fill: var(--grey-hint-fill);
  --mermaid-stroke: var(--grey-hint-stroke);
  --mermaid-text: var(--grey-hint-text);
}

.mermaid > svg .green-lightest {
  --mermaid-fill: var(--green-lightest-fill);
  --mermaid-stroke: var(--green-lightest-stroke);
  --mermaid-text: var(--green-lightest-text);
}

.mermaid > svg .green-light {
  --mermaid-fill: var(--green-light-fill);
  --mermaid-stroke: var(--green-light-stroke);
  --mermaid-text: var(--green-light-text);
}

.mermaid > svg .green {
  --mermaid-fill: var(--green-fill);
  --mermaid-stroke: var(--green-stroke);
  --mermaid-text: var(--green-text);
}

.mermaid > svg .green-dark {
  --mermaid-fill: var(--green-dark-fill);
  --mermaid-stroke: var(--green-dark-stroke);
  --mermaid-text: var(--green-dark-text);
}

.mermaid > svg .green-darkest {
  --mermaid-fill: var(--green-darkest-fill);
  --mermaid-stroke: var(--green-darkest-stroke);
  --mermaid-text: var(--green-darkest-text);
}

.mermaid > svg .purple-lightest {
  --mermaid-fill: var(--purple-lightest-fill);
  --mermaid-stroke: var(--purple-lightest-stroke);
  --mermaid-text: var(--purple-lightest-text);
}

.mermaid > svg .purple-light {
  --mermaid-fill: var(--purple-light-fill);
  --mermaid-stroke: var(--purple-light-stroke);
  --mermaid-text: var(--purple-light-text);
}

.mermaid > svg .purple {
  --mermaid-fill: var(--purple-fill);
  --mermaid-stroke: var(--purple-stroke);
  --mermaid-text: var(--purple-text);
}

.mermaid > svg .purple-dark {
  --mermaid-fill: var(--purple-dark-fill);
  --mermaid-stroke: var(--purple-dark-stroke);
  --mermaid-text: var(--purple-dark-text);
}

.mermaid > svg .purple-darkest {
  --mermaid-fill: var(--purple-darkest-fill);
  --mermaid-stroke: var(--purple-darkest-stroke);
  --mermaid-text: var(--purple-darkest-text);
}

.mermaid > svg .yellow-lightest {
  --mermaid-fill: var(--yellow-lightest-fill);
  --mermaid-stroke: var(--yellow-lightest-stroke);
  --mermaid-text: var(--yellow-lightest-text);
}

.mermaid > svg .yellow-light {
  --mermaid-fill: var(--yellow-light-fill);
  --mermaid-stroke: var(--yellow-light-stroke);
  --mermaid-text: var(--yellow-light-text);
}

.mermaid > svg .yellow {
  --mermaid-fill: var(--yellow-fill);
  --mermaid-stroke: var(--yellow-stroke);
  --mermaid-text: var(--yellow-text);
}

.mermaid > svg .yellow-dark {
  --mermaid-fill: var(--yellow-dark-fill);
  --mermaid-stroke: var(--yellow-dark-stroke);
  --mermaid-text: var(--yellow-dark-text);
}

.mermaid > svg .yellow-darkest {
  --mermaid-fill: var(--yellow-darkest-fill);
  --mermaid-stroke: var(--yellow-darkest-stroke);
  --mermaid-text: var(--yellow-darkest-text);
}

.mermaid > svg .blue-lightest {
  --mermaid-fill: var(--blue-lightest-fill);
  --mermaid-stroke: var(--blue-lightest-stroke);
  --mermaid-text: var(--blue-lightest-text);
}

.mermaid > svg .blue-light {
  --mermaid-fill: var(--blue-light-fill);
  --mermaid-stroke: var(--blue-light-stroke);
  --mermaid-text: var(--blue-light-text);
}

.mermaid > svg .blue {
  --mermaid-fill: var(--blue-fill);
  --mermaid-stroke: var(--blue-stroke);
  --mermaid-text: var(--blue-text);
}

.mermaid > svg .blue-dark {
  --mermaid-fill: var(--blue-dark-fill);
  --mermaid-stroke: var(--blue-dark-stroke);
  --mermaid-text: var(--blue-dark-text);
}

.mermaid > svg .blue-darkest {
  --mermaid-fill: var(--blue-darkest-fill);
  --mermaid-stroke: var(--blue-darkest-stroke);
  --mermaid-text: var(--blue-darkest-text);
}

.mermaid > svg .red-lightest {
  --mermaid-fill: var(--red-lightest-fill);
  --mermaid-stroke: var(--red-lightest-stroke);
  --mermaid-text: var(--red-lightest-text);
}

.mermaid > svg .red-light {
  --mermaid-fill: var(--red-light-fill);
  --mermaid-stroke: var(--red-light-stroke);
  --mermaid-text: var(--red-light-text);
}

.mermaid > svg .red {
  --mermaid-fill: var(--red-fill);
  --mermaid-stroke: var(--red-stroke);
  --mermaid-text: var(--red-text);
}

.mermaid > svg .red-dark {
  --mermaid-fill: var(--red-dark-fill);
  --mermaid-stroke: var(--red-dark-stroke);
  --mermaid-text: var(--red-dark-text);
}

.mermaid > svg .red-darkest {
  --mermaid-fill: var(--red-darkest-fill);
  --mermaid-stroke: var(--red-darkest-stroke);
  --mermaid-text: var(--red-darkest-text);
}

.mermaid > svg .magenta-lightest {
  --mermaid-fill: var(--magenta-lightest-fill);
  --mermaid-stroke: var(--magenta-lightest-stroke);
  --mermaid-text: var(--magenta-lightest-text);
}

.mermaid > svg .magenta-light {
  --mermaid-fill: var(--magenta-light-fill);
  --mermaid-stroke: var(--magenta-light-stroke);
  --mermaid-text: var(--magenta-light-text);
}

.mermaid > svg .magenta {
  --mermaid-fill: var(--magenta-fill);
  --mermaid-stroke: var(--magenta-stroke);
  --mermaid-text: var(--magenta-text);
}

.mermaid > svg .magenta-dark {
  --mermaid-fill: var(--magenta-dark-fill);
  --mermaid-stroke: var(--magenta-dark-stroke);
  --mermaid-text: var(--magenta-dark-text);
}

.mermaid > svg .magenta-darkest {
  --mermaid-fill: var(--magenta-darkest-fill);
  --mermaid-stroke: var(--magenta-darkest-stroke);
  --mermaid-text: var(--magenta-darkest-text);
}

.mermaid > svg .teal-lightest {
  --mermaid-fill: var(--teal-lightest-fill);
  --mermaid-stroke: var(--teal-lightest-stroke);
  --mermaid-text: var(--teal-lightest-text);
}

.mermaid > svg .teal-light {
  --mermaid-fill: var(--teal-light-fill);
  --mermaid-stroke: var(--teal-light-stroke);
  --mermaid-text: var(--teal-light-text);
}

.mermaid > svg .teal {
  --mermaid-fill: var(--teal-fill);
  --mermaid-stroke: var(--teal-stroke);
  --mermaid-text: var(--teal-text);
}

.mermaid > svg .teal-dark {
  --mermaid-fill: var(--teal-dark-fill);
  --mermaid-stroke: var(--teal-dark-stroke);
  --mermaid-text: var(--teal-dark-text);
}

.mermaid > svg .teal-darkest {
  --mermaid-fill: var(--teal-darkest-fill);
  --mermaid-stroke: var(--teal-darkest-stroke);
  --mermaid-text: var(--teal-darkest-text);
}

.mermaid > svg .white-fixed {
  --mermaid-fill: #ffffff;
  --mermaid-stroke: #757575;
  --mermaid-text: #000000;
}

.mermaid > svg .black-fixed {
  --mermaid-fill: #000000;
  --mermaid-stroke: #ffffff;
  --mermaid-text: #ffffff;
}

.mermaid > svg .grey-lightest-fixed,
.mermaid > svg .grey-hint-fixed {
  --mermaid-fill: #e0e0e0;
  --mermaid-stroke: #a7a7a7;
  --mermaid-text: #000000;
}

.mermaid > svg .grey-light-fixed {
  --mermaid-fill: #a7a7a7;
  --mermaid-stroke: #757575;
  --mermaid-text: #000000;
}

.mermaid > svg .grey-fixed,
.mermaid > svg .grey-dark-fixed,
.mermaid > svg .grey-darkest-fixed {
  --mermaid-fill: #757575;
  --mermaid-stroke: #e0e0e0;
  --mermaid-text: #ffffff;
}

.mermaid > svg .green-lightest-fixed {
  --mermaid-fill: #cfff40;
  --mermaid-stroke: #76b900;
  --mermaid-text: #000000;
}

.mermaid > svg .green-light-fixed {
  --mermaid-fill: #bff230;
  --mermaid-stroke: #76b900;
  --mermaid-text: #000000;
}

.mermaid > svg .green-fixed {
  --mermaid-fill: #76b900;
  --mermaid-stroke: #3f8500;
  --mermaid-text: #000000;
}

.mermaid > svg .green-dark-fixed {
  --mermaid-fill: #3f8500;
  --mermaid-stroke: #265600;
  --mermaid-text: #ffffff;
}

.mermaid > svg .green-darkest-fixed {
  --mermaid-fill: #265600;
  --mermaid-stroke: #3f8500;
  --mermaid-text: #ffffff;
}

.mermaid > svg .purple-lightest-fixed {
  --mermaid-fill: #f9d4ff;
  --mermaid-stroke: #c359ef;
  --mermaid-text: #000000;
}

.mermaid > svg .purple-light-fixed {
  --mermaid-fill: #c359ef;
  --mermaid-stroke: #952fc6;
  --mermaid-text: #000000;
}

.mermaid > svg .purple-fixed {
  --mermaid-fill: #952fc6;
  --mermaid-stroke: #741d9d;
  --mermaid-text: #ffffff;
}

.mermaid > svg .purple-dark-fixed {
  --mermaid-fill: #741d9d;
  --mermaid-stroke: #4d1368;
  --mermaid-text: #ffffff;
}

.mermaid > svg .purple-darkest-fixed {
  --mermaid-fill: #4d1368;
  --mermaid-stroke: #741d9d;
  --mermaid-text: #ffffff;
}

.mermaid > svg .yellow-lightest-fixed {
  --mermaid-fill: #feeeb2;
  --mermaid-stroke: #fcde7b;
  --mermaid-text: #000000;
}

.mermaid > svg .yellow-light-fixed {
  --mermaid-fill: #fcde7b;
  --mermaid-stroke: #f9c500;
  --mermaid-text: #000000;
}

.mermaid > svg .yellow-fixed {
  --mermaid-fill: #f9c500;
  --mermaid-stroke: #ef9100;
  --mermaid-text: #000000;
}

.mermaid > svg .yellow-dark-fixed {
  --mermaid-fill: #ef9100;
  --mermaid-stroke: #df6500;
  --mermaid-text: #ffffff;
}

.mermaid > svg .yellow-darkest-fixed {
  --mermaid-fill: #df6500;
  --mermaid-stroke: #ef9100;
  --mermaid-text: #ffffff;
}

.mermaid > svg .blue-lightest-fixed {
  --mermaid-fill: #cbf5ff;
  --mermaid-stroke: #7cd7fe;
  --mermaid-text: #000000;
}

.mermaid > svg .blue-light-fixed {
  --mermaid-fill: #7cd7fe;
  --mermaid-stroke: #0074df;
  --mermaid-text: #000000;
}

.mermaid > svg .blue-fixed {
  --mermaid-fill: #0074df;
  --mermaid-stroke: #0046a4;
  --mermaid-text: #000000;
}

.mermaid > svg .blue-dark-fixed {
  --mermaid-fill: #0046a4;
  --mermaid-stroke: #002781;
  --mermaid-text: #ffffff;
}

.mermaid > svg .blue-darkest-fixed {
  --mermaid-fill: #002781;
  --mermaid-stroke: #0046a4;
  --mermaid-text: #ffffff;
}

.mermaid > svg .red-lightest-fixed {
  --mermaid-fill: #ffd7d7;
  --mermaid-stroke: #ff8181;
  --mermaid-text: #000000;
}

.mermaid > svg .red-light-fixed {
  --mermaid-fill: #ff8181;
  --mermaid-stroke: #e52020;
  --mermaid-text: #000000;
}

.mermaid > svg .red-fixed {
  --mermaid-fill: #e52020;
  --mermaid-stroke: #961515;
  --mermaid-text: #000000;
}

.mermaid > svg .red-dark-fixed {
  --mermaid-fill: #961515;
  --mermaid-stroke: #650b0b;
  --mermaid-text: #ffffff;
}

.mermaid > svg .red-darkest-fixed {
  --mermaid-fill: #650b0b;
  --mermaid-stroke: #961515;
  --mermaid-text: #ffffff;
}

.mermaid > svg .magenta-lightest-fixed {
  --mermaid-fill: #ffd3f2;
  --mermaid-stroke: #fc79ca;
  --mermaid-text: #000000;
}

.mermaid > svg .magenta-light-fixed {
  --mermaid-fill: #fc79ca;
  --mermaid-stroke: #d2308e;
  --mermaid-text: #000000;
}

.mermaid > svg .magenta-fixed {
  --mermaid-fill: #d2308e;
  --mermaid-stroke: #8c1c55;
  --mermaid-text: #000000;
}

.mermaid > svg .magenta-dark-fixed {
  --mermaid-fill: #8c1c55;
  --mermaid-stroke: #5d1337;
  --mermaid-text: #ffffff;
}

.mermaid > svg .magenta-darkest-fixed {
  --mermaid-fill: #5d1337;
  --mermaid-stroke: #8c1c55;
  --mermaid-text: #ffffff;
}

.mermaid > svg .teal-lightest-fixed {
  --mermaid-fill: #adfcf8;
  --mermaid-stroke: #9aefe5;
  --mermaid-text: #000000;
}

.mermaid > svg .teal-light-fixed {
  --mermaid-fill: #9aefe5;
  --mermaid-stroke: #1dbba4;
  --mermaid-text: #000000;
}

.mermaid > svg .teal-fixed {
  --mermaid-fill: #1dbba4;
  --mermaid-stroke: #0d8473;
  --mermaid-text: #000000;
}

.mermaid > svg .teal-dark-fixed {
  --mermaid-fill: #0d8473;
  --mermaid-stroke: #04554b;
  --mermaid-text: #ffffff;
}

.mermaid > svg .teal-darkest-fixed {
  --mermaid-fill: #04554b;
  --mermaid-stroke: #0d8473;
  --mermaid-text: #ffffff;
}

.mermaid > svg .orange-fixed {
  --mermaid-fill: #ef9100;
  --mermaid-stroke: #df6500;
  --mermaid-text: #000000;
}

.mermaid > svg .orange-dark-fixed,
.mermaid > svg .orange-darkest-fixed {
  --mermaid-fill: #df6500;
  --mermaid-stroke: #ef9100;
  --mermaid-text: #ffffff;
}

.mermaid > svg :is(
    .white,
    .black,
    .grey-lightest,
    .grey-light,
    .grey,
    .grey-dark,
    .grey-darkest,
    .grey-hint,
    .green-lightest,
    .green-light,
    .green,
    .green-dark,
    .green-darkest,
    .purple-lightest,
    .purple-light,
    .purple,
    .purple-dark,
    .purple-darkest,
    .yellow-lightest,
    .yellow-light,
    .yellow,
    .yellow-dark,
    .yellow-darkest,
    .blue-lightest,
    .blue-light,
    .blue,
    .blue-dark,
    .blue-darkest,
    .red-lightest,
    .red-light,
    .red,
    .red-dark,
    .red-darkest,
    .magenta-lightest,
    .magenta-light,
    .magenta,
    .magenta-dark,
    .magenta-darkest,
    .teal-lightest,
    .teal-light,
    .teal,
    .teal-dark,
    .teal-darkest,
    .white-fixed,
    .black-fixed,
    .grey-lightest-fixed,
    .grey-light-fixed,
    .grey-fixed,
    .grey-dark-fixed,
    .grey-darkest-fixed,
    .grey-hint-fixed,
    .green-lightest-fixed,
    .green-light-fixed,
    .green-fixed,
    .green-dark-fixed,
    .green-darkest-fixed,
    .purple-lightest-fixed,
    .purple-light-fixed,
    .purple-fixed,
    .purple-dark-fixed,
    .purple-darkest-fixed,
    .yellow-lightest-fixed,
    .yellow-light-fixed,
    .yellow-fixed,
    .yellow-dark-fixed,
    .yellow-darkest-fixed,
    .blue-lightest-fixed,
    .blue-light-fixed,
    .blue-fixed,
    .blue-dark-fixed,
    .blue-darkest-fixed,
    .red-lightest-fixed,
    .red-light-fixed,
    .red-fixed,
    .red-dark-fixed,
    .red-darkest-fixed,
    .magenta-lightest-fixed,
    .magenta-light-fixed,
    .magenta-fixed,
    .magenta-dark-fixed,
    .magenta-darkest-fixed,
    .teal-lightest-fixed,
    .teal-light-fixed,
    .teal-fixed,
    .teal-dark-fixed,
    .teal-darkest-fixed,
    .orange-fixed,
    .orange-dark-fixed,
    .orange-darkest-fixed
  )
  > * {
  color: var(--mermaid-text) !important;
  fill: var(--mermaid-fill) !important;
  stroke: var(--mermaid-stroke) !important;
}

.mermaid > svg :is(
    .white,
    .black,
    .grey-lightest,
    .grey-light,
    .grey,
    .grey-dark,
    .grey-darkest,
    .grey-hint,
    .green-lightest,
    .green-light,
    .green,
    .green-dark,
    .green-darkest,
    .purple-lightest,
    .purple-light,
    .purple,
    .purple-dark,
    .purple-darkest,
    .yellow-lightest,
    .yellow-light,
    .yellow,
    .yellow-dark,
    .yellow-darkest,
    .blue-lightest,
    .blue-light,
    .blue,
    .blue-dark,
    .blue-darkest,
    .red-lightest,
    .red-light,
    .red,
    .red-dark,
    .red-darkest,
    .magenta-lightest,
    .magenta-light,
    .magenta,
    .magenta-dark,
    .magenta-darkest,
    .teal-lightest,
    .teal-light,
    .teal,
    .teal-dark,
    .teal-darkest,
    .white-fixed,
    .black-fixed,
    .grey-lightest-fixed,
    .grey-light-fixed,
    .grey-fixed,
    .grey-dark-fixed,
    .grey-darkest-fixed,
    .grey-hint-fixed,
    .green-lightest-fixed,
    .green-light-fixed,
    .green-fixed,
    .green-dark-fixed,
    .green-darkest-fixed,
    .purple-lightest-fixed,
    .purple-light-fixed,
    .purple-fixed,
    .purple-dark-fixed,
    .purple-darkest-fixed,
    .yellow-lightest-fixed,
    .yellow-light-fixed,
    .yellow-fixed,
    .yellow-dark-fixed,
    .yellow-darkest-fixed,
    .blue-lightest-fixed,
    .blue-light-fixed,
    .blue-fixed,
    .blue-dark-fixed,
    .blue-darkest-fixed,
    .red-lightest-fixed,
    .red-light-fixed,
    .red-fixed,
    .red-dark-fixed,
    .red-darkest-fixed,
    .magenta-lightest-fixed,
    .magenta-light-fixed,
    .magenta-fixed,
    .magenta-dark-fixed,
    .magenta-darkest-fixed,
    .teal-lightest-fixed,
    .teal-light-fixed,
    .teal-fixed,
    .teal-dark-fixed,
    .teal-darkest-fixed,
    .orange-fixed,
    .orange-dark-fixed,
    .orange-darkest-fixed
  )
  :is(text, tspan, span, p, div, foreignObject) {
  color: var(--mermaid-text) !important;
  fill: var(--mermaid-text) !important;
}

.bd-content .mermaid-container {
  margin: 1.25rem 0;
}

.mermaid {
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  padding: 1rem;
}

.mermaid > svg {
  background-color: var(--surface) !important;
  color: var(--text);
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 100%;
}

html[data-theme="dark"] .mermaid > svg,
html[data-theme="dark"] pre.mermaid > svg,
html[data-mode="dark"] .mermaid > svg,
html[data-mode="dark"] pre.mermaid > svg {
  filter: invert(1) hue-rotate(180deg) !important;
}

html[data-theme="dark"] .mermaid,
html[data-theme="dark"] .mermaid-container-fullscreen,
html[data-theme="dark"] .mermaid-fullscreen-modal,
html[data-mode="dark"] .mermaid,
html[data-mode="dark"] .mermaid-container-fullscreen,
html[data-mode="dark"] .mermaid-fullscreen-modal {
  background-color: #000000 !important;
}

html[data-theme="dark"] .mermaid-container-fullscreen,
html[data-mode="dark"] .mermaid-container-fullscreen {
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8) !important;
}

html[data-theme="dark"] .mermaid-fullscreen-btn,
html[data-theme="dark"] .mermaid-fullscreen-close,
html[data-mode="dark"] .mermaid-fullscreen-btn,
html[data-mode="dark"] .mermaid-fullscreen-close {
  background: rgba(50, 50, 50, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #e0e0e0 !important;
}

html[data-theme="dark"] .mermaid-fullscreen-btn:hover,
html[data-theme="dark"] .mermaid-fullscreen-close:hover,
html[data-mode="dark"] .mermaid-fullscreen-btn:hover,
html[data-mode="dark"] .mermaid-fullscreen-close:hover {
  background: rgba(60, 60, 60, 1) !important;
}

.bd-main .bd-content .bd-article-container {
  max-width: 54rem;
}

.bd-content a {
  text-underline-offset: 0.14em;
}

.bd-content a:focus-visible,
.bd-sidebar a:focus-visible,
.navbar-nav a:focus-visible {
  outline: 3px solid var(--nf-home-accent);
  outline-offset: 2px;
}

.bd-content table.autosummary {
  table-layout: fixed;
  width: 100%;
}

.bd-content table.autosummary td {
  vertical-align: top;
}

.bd-content table.autosummary td:first-child {
  width: 42%;
}

.bd-content table.autosummary td > p {
  margin-bottom: 0;
}

.bd-content table.autosummary td:first-child code,
.bd-content table.autosummary td:first-child .pre {
  overflow-wrap: anywhere;
  white-space: normal;
}

.docs-version-switcher {
  border: 0;
  font-family: var(--pst-font-family-base);
  margin-bottom: 1rem;
  position: relative;
}

.docs-version-switcher[open] {
  z-index: 40;
}

.docs-version-switcher__summary {
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.docs-version-switcher__summary::-webkit-details-marker {
  display: none;
}

.docs-version-switcher__summary:focus-visible {
  outline: none;
}

.docs-version-switcher__eyebrow {
  color: var(--nf-switcher-label);
  display: block;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.docs-version-switcher__trigger {
  align-items: center;
  background: var(--nf-switcher-surface);
  border: 1px solid var(--nf-switcher-border);
  border-radius: var(--bs-border-radius);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  color: var(--pst-color-text-base);
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  min-height: 3.1rem;
  padding: 0.72rem 0.95rem;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.docs-version-switcher__summary:hover .docs-version-switcher__trigger {
  border-color: var(--nf-switcher-border-strong);
  transform: translateY(-1px);
}

.docs-version-switcher__summary:focus-visible .docs-version-switcher__trigger {
  border-color: var(--nf-switcher-label);
  box-shadow: 0 0 0 0.22rem var(--nf-switcher-focus-ring);
}

.docs-version-switcher__trigger-copy,
.docs-version-switcher__option-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.docs-version-switcher__trigger-label,
.docs-version-switcher__option-label {
  color: var(--pst-color-text-base);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.docs-version-switcher__trigger-meta,
.docs-version-switcher__option-meta {
  color: var(--pst-color-text-muted);
  font-size: 0.76rem;
  line-height: 1.2;
}

.docs-version-switcher__trigger-trailing,
.docs-version-switcher__option-trailing {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.6rem;
}

.docs-version-switcher__pill {
  border-radius: var(--bs-border-radius-pill, 999px);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0.36rem 0.58rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.docs-version-switcher__pill.is-stable {
  background: var(--nf-switcher-pill-bg);
  color: var(--nf-switcher-pill-text);
}

.docs-version-switcher__pill.is-beta {
  background: var(--nf-switcher-beta-bg);
  color: var(--nf-switcher-beta-text);
}

.docs-version-switcher__chevron,
.docs-version-switcher__check {
  color: var(--nf-switcher-label);
  display: inline-flex;
  height: 1rem;
  width: 1rem;
}

.docs-version-switcher__chevron svg,
.docs-version-switcher__check svg {
  fill: currentColor;
  height: 100%;
  width: 100%;
}

.docs-version-switcher__chevron {
  transition: transform 0.18s ease;
}

.docs-version-switcher[open] .docs-version-switcher__chevron {
  transform: rotate(180deg);
}

.docs-version-switcher__menu-wrap {
  left: 0;
  margin-top: 0.4rem;
  position: absolute;
  right: 0;
  top: 100%;
}

.docs-version-switcher__menu {
  background: var(--nf-switcher-menu-surface);
  border: 1px solid var(--nf-switcher-border);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--nf-switcher-shadow);
  list-style: none;
  margin: 0;
  max-height: min(24rem, calc(100vh - 10rem));
  overflow-y: auto;
  padding: 0.35rem;
}

.docs-version-switcher__option + .docs-version-switcher__option {
  margin-top: 0.08rem;
}

.docs-version-switcher__option-link {
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--bs-border-radius);
  color: inherit;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  min-height: 2.85rem;
  padding: 0.64rem 0.75rem;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.docs-version-switcher__option-link:hover {
  background: var(--nf-switcher-hover-bg);
}

.docs-version-switcher__option-link:focus-visible {
  outline: none;
  background: var(--nf-switcher-hover-bg);
  box-shadow: 0 0 0 0.2rem var(--nf-switcher-focus-ring);
}

.docs-version-switcher__option-link.is-current {
  background: var(--nf-switcher-current-bg);
  border-color: var(--nv-color-green);
}

.nf-home {
  border-left: 0.35rem solid var(--nf-home-accent);
  margin: 0 0 2rem;
  padding: 0.25rem 0 0.25rem 1.1rem;
}

.nf-kicker {
  color: var(--nf-home-accent-dark);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0 0 0.5rem;
  text-transform: uppercase;
}

.nf-lead {
  font-size: 1.3rem;
  line-height: 1.6;
  margin: 0 0 0.85rem;
  max-width: 44rem;
}

.nf-intro {
  color: var(--pst-color-text-muted);
  margin: 0;
  max-width: 42rem;
}

.bd-content h1 {
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
}

.bd-content h2 {
  border-top: 1px solid var(--nf-home-border);
  margin-top: 2.5rem;
  padding-top: 1.5rem;
}

.bd-content ul li,
.bd-content ol li {
  margin-bottom: 0.45rem;
}

.bd-content li > p {
  margin-bottom: 0.35rem;
}

body:has(dialog[open]) .bd-container {
  filter: blur(5px) !important;
}

#pst-search-dialog[open]::backdrop {
  background-color: transparent !important;
}

@media (max-width: 768px) {
  .docs-version-switcher__trigger,
  .docs-version-switcher__option-link {
    align-items: flex-start;
  }

  .docs-version-switcher__trigger-trailing,
  .docs-version-switcher__option-trailing {
    gap: 0.45rem;
  }

  .docs-version-switcher__menu {
    max-height: min(20rem, calc(100vh - 8rem));
  }

  .nf-home {
    padding-left: 0.9rem;
  }

  .nf-lead {
    font-size: 1.15rem;
  }
}
