@charset "UTF-8";
:root {
  --zer0-color-primary: var(--bs-primary, #007bff);
  --zer0-color-primary-rgb: var(--bs-primary-rgb, 0, 123, 255);
  --zer0-color-secondary: var(--bs-secondary, #6c757d);
  --zer0-color-accent: var(--bd-accent, #ffe484);
  --zer0-color-success: var(--bs-success, #28a745);
  --zer0-color-info: var(--bs-info, #17a2b8);
  --zer0-color-warning: var(--bs-warning, #ffc107);
  --zer0-color-danger: var(--bs-danger, #dc3545);
  --zer0-color-bg: var(--bs-body-bg, #fff);
  --zer0-color-bg-elevated: var(--bs-tertiary-bg, #f8f9fa);
  --zer0-color-bg-muted: var(--bs-secondary-bg, #e9ecef);
  --zer0-color-ink: var(--bs-body-color, #212529);
  --zer0-color-ink-muted: var(--bs-secondary-color, #6c757d);
  --zer0-color-border: var(--bs-border-color, #dee2e6);
  --zer0-color-border-translucent: color-mix(in srgb, var(--zer0-color-border) 42%, transparent);
  --zer0-color-code-bg: var(--bd-pre-bg, var(--bs-tertiary-bg));
  --zer0-color-code-ink: var(--bd-callout-code-color, #ab296a);
  --zer0-color-link: var(--bs-link-color, var(--bd-violet, #712cf9));
  --zer0-color-link-hover: var(--bs-link-hover-color, #4c0bce);
}

:root {
  --zer0-space-0: 0;
  --zer0-space-1: 0.25rem;
  --zer0-space-2: 0.5rem;
  --zer0-space-3: 1rem;
  --zer0-space-4: 1.5rem;
  --zer0-space-5: 3rem;
  --zer0-space-section: clamp(2rem, 6vw, 5rem);
  --zer0-space-container-x: clamp(1rem, 4vw, 2rem);
  --zer0-space-fab-offset: 1rem;
  --zer0-space-fab-size: 3.5rem;
  --zer0-space-fab-gap: 0.75rem;
  --zer0-sidebar-width: 17rem;
  --zer0-sidebar-toc-width: 12rem;
  --zer0-layout-max-width-xl: 1280px;
  --zer0-layout-max-width-xxl: clamp(1400px, 94vw, 1720px);
}

:root {
  --zer0-font-sans: var(--bs-body-font-family, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
  --zer0-font-mono: var(--bs-font-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
  --zer0-font-weight-regular: 400;
  --zer0-font-weight-medium: 500;
  --zer0-font-weight-semibold: 600;
  --zer0-font-weight-bold: 700;
  --zer0-text-base: 1rem;
  --zer0-text-sm: 0.875rem;
  --zer0-text-lg: 1.125rem;
  --zer0-text-h1: clamp(2rem, 4vw + 1rem, 3rem);
  --zer0-text-h2: clamp(1.5rem, 2.5vw + 1rem, 2.25rem);
  --zer0-text-h3: clamp(1.25rem, 1.5vw + 1rem, 1.75rem);
  --zer0-text-h4: clamp(1.125rem, 1vw + 1rem, 1.4rem);
  --zer0-text-h5: 1.125rem;
  --zer0-text-h6: 1rem;
  --zer0-leading-tight: 1.2;
  --zer0-leading-normal: 1.55;
  --zer0-leading-loose: 1.75;
}

:root {
  --zer0-shadow-xs: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.06);
  --zer0-shadow-sm: var(--bs-box-shadow-sm, 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075));
  --zer0-shadow-md: var(--bs-box-shadow, 0 0.5rem 1rem rgba(0, 0, 0, 0.15));
  --zer0-shadow-lg: var(--bs-box-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, 0.175));
  --zer0-shadow-fab: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.22);
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(var(--zer0-color-primary-rgb), 0.25);
}

:root {
  --zer0-motion-duration-fast: 120ms;
  --zer0-motion-duration-base: 200ms;
  --zer0-motion-duration-slow: 320ms;
  --zer0-motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --zer0-motion-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --zer0-motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --zer0-motion-duration-fast: 0.01ms;
    --zer0-motion-duration-base: 0.01ms;
    --zer0-motion-duration-slow: 0.01ms;
  }
}
:root {
  --zer0-bp-sm: 576px;
  --zer0-bp-md: 768px;
  --zer0-bp-lg: 992px;
  --zer0-bp-xl: 1200px;
  --zer0-bp-xxl: 1400px;
}

:root {
  --zer0-layer-base: 0;
  --zer0-layer-elevated: 1;
  --zer0-layer-sticky: 1020;
  --zer0-layer-header: 1030;
  --zer0-layer-backdrop: 1040;
  --zer0-layer-fab-back-to-top: 1050;
  --zer0-layer-fab-toc: 1055;
  --zer0-layer-fab-local-graph: 1060;
  --zer0-layer-offcanvas: 1045;
  --zer0-layer-modal: 1055;
  --zer0-layer-popover: 1070;
  --zer0-layer-tooltip: 1080;
  --zer0-layer-toast: 1090;
  --zer0-layer-cookie-banner: 1095;
  --zer0-layer-skip-link: 1100;
}

/* ==========================================================================
   Variables
   ========================================================================== */
/*
   Typography
   ========================================================================== */
/* paragraph indention */
/* system typefaces */
/* sans serif typefaces */
/* serif typefaces */
/* type scale */
/* headline scale */
/*
   Colors
   ========================================================================== */
/* YIQ color contrast */
/* links */
/* notices */
/*
   Breakpoints
   ========================================================================== */
/*
   Grid
   ========================================================================== */
/*
   Other
   ========================================================================== */
/* ==========================================================================
   Variables
   ========================================================================== */
/*
   Typography
   ========================================================================== */
/* paragraph indention */
/* system typefaces */
/* sans serif typefaces */
/* serif typefaces */
/* type scale */
/* headline scale */
/*
   Colors
   ========================================================================== */
/* YIQ color contrast */
/* links */
/* notices */
/*
   Breakpoints
   ========================================================================== */
/*
   Grid
   ========================================================================== */
/*
   Other
   ========================================================================== */
[data-bs-theme="wizard"] {
  --bs-body-color: var(--bs-white);
  --bs-body-color-rgb: to-rgb(#fff);
  --bs-body-bg: var(--bs-blue);
  --bs-body-bg-rgb: to-rgb(#0d6efd);
  --bs-tertiary-bg: #346182;
}
[data-bs-theme="wizard"] .dropdown-menu {
  --bs-dropdown-bg: #1e4c82;
  --bs-dropdown-link-active-bg: #346182;
}
[data-bs-theme="wizard"] .btn-secondary {
  --bs-btn-bg: #083781;
  --bs-btn-border-color: rgba(255, 255, 255, 0.25);
  --bs-btn-hover-bg: #072d69;
  --bs-btn-hover-border-color: rgba(255, 255, 255, 0.25);
  --bs-btn-active-bg: #052351;
  --bs-btn-active-border-color: rgba(255, 255, 255, 0.5);
  --bs-btn-focus-border-color: rgba(255, 255, 255, 0.5);
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.2);
}

:root,
[data-bs-theme="light"] {
  --bd-purple: #4c0bce;
  --bd-violet: #712cf9;
  --bd-accent: #ffe484;
  --bd-violet-rgb: 112.520718, 44.062154, 249.437846;
  --bd-accent-rgb: 255, 228, 132;
  --bd-pink-rgb: 214, 51, 132;
  --bd-teal-rgb: 32, 201, 151;
  --bd-violet-bg: var(--bd-violet);
  --bd-toc-color: var(--bd-violet);
  --bd-sidebar-link-bg: rgba(var(--bd-violet-rgb), 0.1);
  --bd-callout-link: 10, 88, 202;
  --bd-callout-code-color: #ab296a;
  --bd-pre-bg: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] {
  --bd-violet: #9461fb;
  --bd-violet-bg: #712cf9;
  --bd-toc-color: var(--bs-emphasis-color);
  --bd-sidebar-link-bg: rgba(84, 33, 187, 0.5);
  --bd-callout-link: 110, 168, 254;
  --bd-callout-code-color: #e685b5;
  --bd-pre-bg: #1b1f22;
}

:root {
  --zer0-bg-gradient: none;
  --zer0-bg-pattern: none;
  --zer0-bg-noise: none;
  --zer0-bg-gradient-opacity: 0.6;
  --zer0-bg-texture-opacity: 0.04;
  --zer0-bg-pattern-opacity: 0.08;
  --zer0-bg-blend: overlay;
  --zer0-bg-pattern-size: 60px 60px;
  --zer0-bg-enabled: 1;
}

[data-theme-skin="air"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/air.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/air.svg');
  --zer0-bg-noise: url('../backgrounds/noise/air.svg');
  --zer0-bg-pattern-size: 50px 50px;
}

[data-theme-skin="aqua"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/aqua.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/aqua.svg');
  --zer0-bg-noise: url('../backgrounds/noise/aqua.svg');
  --zer0-bg-pattern-size: 48px 48px;
}

[data-theme-skin="contrast"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/contrast.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/contrast.svg');
  --zer0-bg-noise: url('../backgrounds/noise/contrast.svg');
  --zer0-bg-pattern-size: 40px 40px;
}

[data-theme-skin="dark"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/dark.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/dark.svg');
  --zer0-bg-noise: url('../backgrounds/noise/dark.svg');
  --zer0-bg-pattern-size: 60px 60px;
}

[data-theme-skin="dirt"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/dirt.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/dirt.svg');
  --zer0-bg-noise: url('../backgrounds/noise/dirt.svg');
  --zer0-bg-pattern-size: 50px 50px;
}

[data-theme-skin="neon"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/neon.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/neon.svg');
  --zer0-bg-noise: url('../backgrounds/noise/neon.svg');
  --zer0-bg-pattern-size: 48px 48px;
}

[data-theme-skin="mint"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/mint.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/mint.svg');
  --zer0-bg-noise: url('../backgrounds/noise/mint.svg');
  --zer0-bg-pattern-size: 50px 50px;
}

[data-theme-skin="plum"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/plum.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/plum.svg');
  --zer0-bg-noise: url('../backgrounds/noise/plum.svg');
  --zer0-bg-pattern-size: 55px 55px;
}

[data-theme-skin="sunrise"] {
  --zer0-bg-gradient: url('../backgrounds/gradients/sunrise.svg');
  --zer0-bg-pattern: url('../backgrounds/patterns/sunrise.svg');
  --zer0-bg-noise: url('../backgrounds/noise/sunrise.svg');
  --zer0-bg-pattern-size: 50px 50px;
}

.zer0-bg-hero {
  position: relative;
  overflow: hidden;
}
.zer0-bg-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--zer0-bg-gradient);
  background-size: cover;
  background-position: center;
  opacity: var(--zer0-bg-gradient-opacity, 0.6);
  mix-blend-mode: var(--zer0-bg-blend, overlay);
  pointer-events: none;
  z-index: 0;
}
.zer0-bg-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--zer0-bg-noise);
  background-repeat: repeat;
  background-size: 300px 300px;
  opacity: var(--zer0-bg-texture-opacity, 0.04);
  pointer-events: none;
  z-index: 0;
}
.zer0-bg-hero > * {
  position: relative;
  z-index: 1;
}

.zer0-bg-body {
  position: relative;
}
.zer0-bg-body::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--zer0-bg-noise);
  background-repeat: repeat;
  background-size: 300px 300px;
  opacity: var(--zer0-bg-texture-opacity, 0.04);
  mix-blend-mode: var(--zer0-bg-blend, overlay);
  pointer-events: none;
  z-index: 0;
}
.zer0-bg-body > *:not(.fixed-top):not(.offcanvas):not(.modal) {
  position: relative;
  z-index: 1;
}

.zer0-bg-surface {
  position: relative;
}
.zer0-bg-surface::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--zer0-bg-pattern);
  background-repeat: repeat;
  background-size: var(--zer0-bg-pattern-size, 60px 60px);
  opacity: var(--zer0-bg-pattern-opacity, 0.08);
  mix-blend-mode: var(--zer0-bg-blend, overlay);
  pointer-events: none;
  z-index: 0;
}
.zer0-bg-surface > * {
  position: relative;
  z-index: 1;
}

.zer0-bg-footer {
  position: relative;
}
.zer0-bg-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--zer0-bg-noise);
  background-repeat: repeat;
  background-size: 300px 300px;
  opacity: var(--zer0-bg-texture-opacity, 0.04);
  mix-blend-mode: var(--zer0-bg-blend, overlay);
  pointer-events: none;
  z-index: 0;
}
.zer0-bg-footer > * {
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .zer0-bg-hero::before, .zer0-bg-hero::after,
  .zer0-bg-body::before,
  .zer0-bg-body::after,
  .zer0-bg-surface::before,
  .zer0-bg-surface::after,
  .zer0-bg-footer::before,
  .zer0-bg-footer::after {
    animation: none !important;
    transition: none !important;
  }
}
[data-zer0-bg="off"] .zer0-bg-hero::before, [data-zer0-bg="off"] .zer0-bg-hero::after,
[data-zer0-bg="off"] .zer0-bg-body::before,
[data-zer0-bg="off"] .zer0-bg-body::after,
[data-zer0-bg="off"] .zer0-bg-surface::before,
[data-zer0-bg="off"] .zer0-bg-surface::after,
[data-zer0-bg="off"] .zer0-bg-footer::before,
[data-zer0-bg="off"] .zer0-bg-footer::after {
  display: none !important;
}

[data-theme-skin="air"] {
  --zer0-color-primary: #6fa8dc;
  --zer0-color-primary-rgb: 111, 168, 220;
  --zer0-color-accent: #b8d4e3;
  --bs-primary: #6fa8dc;
  --bs-primary-rgb: 111, 168, 220;
  --bs-link-color: #1e5fa8;
  --zer0-color-link: #1e5fa8;
  --bs-link-hover-color: #154a87;
  --zer0-color-link-hover: #154a87;
  --zer0-color-border: rgba(111, 168, 220, 0.28);
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(111, 168, 220, 0.25);
  --zer0-color-bg-elevated: color-mix(in srgb, #6fa8dc 10%, var(--bs-body-bg));
  --zer0-color-bg-muted: color-mix(in srgb, #6fa8dc 6%, var(--bs-secondary-bg, var(--bs-body-bg)));
}
[data-theme-skin="air"] .btn-primary {
  --bs-btn-bg: #6fa8dc;
  --bs-btn-border-color: #6fa8dc;
  --bs-btn-hover-bg: color-mix(in srgb, #6fa8dc 85%, #b8d4e3);
  --bs-btn-hover-border-color: color-mix(in srgb, #6fa8dc 85%, #b8d4e3);
  --bs-btn-active-bg: color-mix(in srgb, #6fa8dc 75%, #b8d4e3);
  --bs-btn-active-border-color: color-mix(in srgb, #6fa8dc 75%, #b8d4e3);
}
[data-theme-skin="air"] .btn-outline-primary {
  --bs-btn-color: #6fa8dc;
  --bs-btn-border-color: #6fa8dc;
  --bs-btn-hover-bg: #6fa8dc;
  --bs-btn-hover-border-color: #6fa8dc;
  --bs-btn-active-bg: #6fa8dc;
  --bs-btn-active-border-color: #6fa8dc;
}
[data-theme-skin="air"] .alert-primary {
  --bs-alert-color: #6fa8dc;
  --bs-alert-bg: rgba(111, 168, 220, 0.12);
  --bs-alert-border-color: rgba(111, 168, 220, 0.35);
}
[data-theme-skin="air"] .nav-tabs .nav-link.active {
  color: #6fa8dc;
  border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}
[data-theme-skin="air"] .nav-tabs .nav-link:hover:not(.active) {
  color: #b8d4e3;
}
[data-theme-skin="air"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--bs-link-color);
}
[data-theme-skin="air"] a:not(.btn):hover {
  color: var(--bs-link-hover-color);
}
[data-theme-skin="air"] .card:not(.skin-card) {
  background-color: var(--zer0-color-bg-elevated);
  border-color: var(--zer0-color-border);
}
[data-theme-skin="air"] .list-group-item.active {
  background-color: #6fa8dc;
  border-color: #6fa8dc;
}
[data-theme-skin="air"] .list-group-item-action:hover:not(.active) {
  color: #b8d4e3;
}
[data-theme-skin="air"] .form-control:focus,
[data-theme-skin="air"] .form-select:focus,
[data-theme-skin="air"] .form-check-input:focus {
  border-color: #6fa8dc;
  box-shadow: var(--zer0-shadow-focus);
}
[data-theme-skin="air"] .form-check-input:checked {
  background-color: #6fa8dc;
  border-color: #6fa8dc;
}
[data-theme-skin="air"] .page-link {
  color: #6fa8dc;
}
[data-theme-skin="air"] .page-item.active .page-link {
  background-color: #6fa8dc;
  border-color: #6fa8dc;
}
[data-theme-skin="air"] .breadcrumb-item.active {
  color: #6fa8dc;
}
[data-theme-skin="air"] .progress-bar {
  background-color: #6fa8dc;
}
[data-theme-skin="air"] pre:not(.highlight) {
  border-color: rgba(var(--bs-primary-rgb), 0.22);
}
[data-theme-skin="air"] pre:not(.highlight):hover {
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}
[data-theme-skin="air"] .navbar .nav-link.active,
[data-theme-skin="air"] .navbar .nav-link.show {
  color: #6fa8dc;
}
[data-theme-skin="air"] .text-primary {
  color: #6fa8dc !important;
}
[data-theme-skin="air"] .border-primary {
  border-color: #6fa8dc !important;
}
[data-theme-skin="air"] .link-primary {
  color: #6fa8dc !important;
}
[data-theme-skin="air"][data-bs-theme="dark"] {
  --bs-link-color: #b8d4e3;
  --zer0-color-link: #b8d4e3;
  --bs-link-hover-color: #d6eaf4;
  --zer0-color-link-hover: #d6eaf4;
}

[data-theme-skin="aqua"] {
  --zer0-color-primary: #00b4d8;
  --zer0-color-primary-rgb: 0, 180, 216;
  --zer0-color-accent: #90e0ef;
  --bs-primary: #00b4d8;
  --bs-primary-rgb: 0, 180, 216;
  --bs-link-color: #006d99;
  --zer0-color-link: #006d99;
  --bs-link-hover-color: #005577;
  --zer0-color-link-hover: #005577;
  --zer0-color-border: rgba(0, 180, 216, 0.28);
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(0, 180, 216, 0.25);
  --zer0-color-bg-elevated: color-mix(in srgb, #00b4d8 10%, var(--bs-body-bg));
  --zer0-color-bg-muted: color-mix(in srgb, #00b4d8 6%, var(--bs-secondary-bg, var(--bs-body-bg)));
}
[data-theme-skin="aqua"] .btn-primary {
  --bs-btn-bg: #00b4d8;
  --bs-btn-border-color: #00b4d8;
  --bs-btn-hover-bg: color-mix(in srgb, #00b4d8 85%, #90e0ef);
  --bs-btn-hover-border-color: color-mix(in srgb, #00b4d8 85%, #90e0ef);
  --bs-btn-active-bg: color-mix(in srgb, #00b4d8 75%, #90e0ef);
  --bs-btn-active-border-color: color-mix(in srgb, #00b4d8 75%, #90e0ef);
}
[data-theme-skin="aqua"] .btn-outline-primary {
  --bs-btn-color: #00b4d8;
  --bs-btn-border-color: #00b4d8;
  --bs-btn-hover-bg: #00b4d8;
  --bs-btn-hover-border-color: #00b4d8;
  --bs-btn-active-bg: #00b4d8;
  --bs-btn-active-border-color: #00b4d8;
}
[data-theme-skin="aqua"] .alert-primary {
  --bs-alert-color: #00b4d8;
  --bs-alert-bg: rgba(0, 180, 216, 0.12);
  --bs-alert-border-color: rgba(0, 180, 216, 0.35);
}
[data-theme-skin="aqua"] .nav-tabs .nav-link.active {
  color: #00b4d8;
  border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}
[data-theme-skin="aqua"] .nav-tabs .nav-link:hover:not(.active) {
  color: #90e0ef;
}
[data-theme-skin="aqua"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--bs-link-color);
}
[data-theme-skin="aqua"] a:not(.btn):hover {
  color: var(--bs-link-hover-color);
}
[data-theme-skin="aqua"] .card:not(.skin-card) {
  background-color: var(--zer0-color-bg-elevated);
  border-color: var(--zer0-color-border);
}
[data-theme-skin="aqua"] .list-group-item.active {
  background-color: #00b4d8;
  border-color: #00b4d8;
}
[data-theme-skin="aqua"] .list-group-item-action:hover:not(.active) {
  color: #90e0ef;
}
[data-theme-skin="aqua"] .form-control:focus,
[data-theme-skin="aqua"] .form-select:focus,
[data-theme-skin="aqua"] .form-check-input:focus {
  border-color: #00b4d8;
  box-shadow: var(--zer0-shadow-focus);
}
[data-theme-skin="aqua"] .form-check-input:checked {
  background-color: #00b4d8;
  border-color: #00b4d8;
}
[data-theme-skin="aqua"] .page-link {
  color: #00b4d8;
}
[data-theme-skin="aqua"] .page-item.active .page-link {
  background-color: #00b4d8;
  border-color: #00b4d8;
}
[data-theme-skin="aqua"] .breadcrumb-item.active {
  color: #00b4d8;
}
[data-theme-skin="aqua"] .progress-bar {
  background-color: #00b4d8;
}
[data-theme-skin="aqua"] pre:not(.highlight) {
  border-color: rgba(var(--bs-primary-rgb), 0.22);
}
[data-theme-skin="aqua"] pre:not(.highlight):hover {
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}
[data-theme-skin="aqua"] .navbar .nav-link.active,
[data-theme-skin="aqua"] .navbar .nav-link.show {
  color: #00b4d8;
}
[data-theme-skin="aqua"] .text-primary {
  color: #00b4d8 !important;
}
[data-theme-skin="aqua"] .border-primary {
  border-color: #00b4d8 !important;
}
[data-theme-skin="aqua"] .link-primary {
  color: #00b4d8 !important;
}
[data-theme-skin="aqua"][data-bs-theme="dark"] {
  --bs-link-color: #67d7ec;
  --zer0-color-link: #67d7ec;
  --bs-link-hover-color: #9ae8f5;
  --zer0-color-link-hover: #9ae8f5;
}

[data-theme-skin="dirt"] {
  --zer0-color-primary: #8b6914;
  --zer0-color-primary-rgb: 139, 105, 20;
  --zer0-color-accent: #d4a574;
  --bs-primary: #8b6914;
  --bs-primary-rgb: 139, 105, 20;
  --bs-link-color: #7a5a10;
  --zer0-color-link: #7a5a10;
  --bs-link-hover-color: #5c430c;
  --zer0-color-link-hover: #5c430c;
  --zer0-color-border: rgba(139, 105, 20, 0.28);
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(139, 105, 20, 0.25);
  --zer0-color-bg-elevated: color-mix(in srgb, #8b6914 10%, var(--bs-body-bg));
  --zer0-color-bg-muted: color-mix(in srgb, #8b6914 6%, var(--bs-secondary-bg, var(--bs-body-bg)));
}
[data-theme-skin="dirt"] .btn-primary {
  --bs-btn-bg: #8b6914;
  --bs-btn-border-color: #8b6914;
  --bs-btn-hover-bg: color-mix(in srgb, #8b6914 85%, #d4a574);
  --bs-btn-hover-border-color: color-mix(in srgb, #8b6914 85%, #d4a574);
  --bs-btn-active-bg: color-mix(in srgb, #8b6914 75%, #d4a574);
  --bs-btn-active-border-color: color-mix(in srgb, #8b6914 75%, #d4a574);
}
[data-theme-skin="dirt"] .btn-outline-primary {
  --bs-btn-color: #8b6914;
  --bs-btn-border-color: #8b6914;
  --bs-btn-hover-bg: #8b6914;
  --bs-btn-hover-border-color: #8b6914;
  --bs-btn-active-bg: #8b6914;
  --bs-btn-active-border-color: #8b6914;
}
[data-theme-skin="dirt"] .alert-primary {
  --bs-alert-color: #8b6914;
  --bs-alert-bg: rgba(139, 105, 20, 0.12);
  --bs-alert-border-color: rgba(139, 105, 20, 0.35);
}
[data-theme-skin="dirt"] .nav-tabs .nav-link.active {
  color: #8b6914;
  border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}
[data-theme-skin="dirt"] .nav-tabs .nav-link:hover:not(.active) {
  color: #d4a574;
}
[data-theme-skin="dirt"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--bs-link-color);
}
[data-theme-skin="dirt"] a:not(.btn):hover {
  color: var(--bs-link-hover-color);
}
[data-theme-skin="dirt"] .card:not(.skin-card) {
  background-color: var(--zer0-color-bg-elevated);
  border-color: var(--zer0-color-border);
}
[data-theme-skin="dirt"] .list-group-item.active {
  background-color: #8b6914;
  border-color: #8b6914;
}
[data-theme-skin="dirt"] .list-group-item-action:hover:not(.active) {
  color: #d4a574;
}
[data-theme-skin="dirt"] .form-control:focus,
[data-theme-skin="dirt"] .form-select:focus,
[data-theme-skin="dirt"] .form-check-input:focus {
  border-color: #8b6914;
  box-shadow: var(--zer0-shadow-focus);
}
[data-theme-skin="dirt"] .form-check-input:checked {
  background-color: #8b6914;
  border-color: #8b6914;
}
[data-theme-skin="dirt"] .page-link {
  color: #8b6914;
}
[data-theme-skin="dirt"] .page-item.active .page-link {
  background-color: #8b6914;
  border-color: #8b6914;
}
[data-theme-skin="dirt"] .breadcrumb-item.active {
  color: #8b6914;
}
[data-theme-skin="dirt"] .progress-bar {
  background-color: #8b6914;
}
[data-theme-skin="dirt"] pre:not(.highlight) {
  border-color: rgba(var(--bs-primary-rgb), 0.22);
}
[data-theme-skin="dirt"] pre:not(.highlight):hover {
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}
[data-theme-skin="dirt"] .navbar .nav-link.active,
[data-theme-skin="dirt"] .navbar .nav-link.show {
  color: #8b6914;
}
[data-theme-skin="dirt"] .text-primary {
  color: #8b6914 !important;
}
[data-theme-skin="dirt"] .border-primary {
  border-color: #8b6914 !important;
}
[data-theme-skin="dirt"] .link-primary {
  color: #8b6914 !important;
}
[data-theme-skin="dirt"][data-bs-theme="dark"] {
  --bs-link-color: #e0b882;
  --zer0-color-link: #e0b882;
  --bs-link-hover-color: #f0cea0;
  --zer0-color-link-hover: #f0cea0;
}

[data-theme-skin="neon"] {
  --zer0-color-primary: #8338ec;
  --zer0-color-primary-rgb: 131, 56, 236;
  --zer0-color-accent: #3a86ff;
  --bs-primary: #8338ec;
  --bs-primary-rgb: 131, 56, 236;
  --bs-link-color: #5e22cc;
  --zer0-color-link: #5e22cc;
  --bs-link-hover-color: #4a1aa3;
  --zer0-color-link-hover: #4a1aa3;
  --zer0-color-border: rgba(131, 56, 236, 0.28);
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(131, 56, 236, 0.25);
  --zer0-color-bg-elevated: color-mix(in srgb, #8338ec 10%, var(--bs-body-bg));
  --zer0-color-bg-muted: color-mix(in srgb, #8338ec 6%, var(--bs-secondary-bg, var(--bs-body-bg)));
}
[data-theme-skin="neon"] .btn-primary {
  --bs-btn-bg: #8338ec;
  --bs-btn-border-color: #8338ec;
  --bs-btn-hover-bg: color-mix(in srgb, #8338ec 85%, #3a86ff);
  --bs-btn-hover-border-color: color-mix(in srgb, #8338ec 85%, #3a86ff);
  --bs-btn-active-bg: color-mix(in srgb, #8338ec 75%, #3a86ff);
  --bs-btn-active-border-color: color-mix(in srgb, #8338ec 75%, #3a86ff);
}
[data-theme-skin="neon"] .btn-outline-primary {
  --bs-btn-color: #8338ec;
  --bs-btn-border-color: #8338ec;
  --bs-btn-hover-bg: #8338ec;
  --bs-btn-hover-border-color: #8338ec;
  --bs-btn-active-bg: #8338ec;
  --bs-btn-active-border-color: #8338ec;
}
[data-theme-skin="neon"] .alert-primary {
  --bs-alert-color: #8338ec;
  --bs-alert-bg: rgba(131, 56, 236, 0.12);
  --bs-alert-border-color: rgba(131, 56, 236, 0.35);
}
[data-theme-skin="neon"] .nav-tabs .nav-link.active {
  color: #8338ec;
  border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}
[data-theme-skin="neon"] .nav-tabs .nav-link:hover:not(.active) {
  color: #3a86ff;
}
[data-theme-skin="neon"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--bs-link-color);
}
[data-theme-skin="neon"] a:not(.btn):hover {
  color: var(--bs-link-hover-color);
}
[data-theme-skin="neon"] .card:not(.skin-card) {
  background-color: var(--zer0-color-bg-elevated);
  border-color: var(--zer0-color-border);
}
[data-theme-skin="neon"] .list-group-item.active {
  background-color: #8338ec;
  border-color: #8338ec;
}
[data-theme-skin="neon"] .list-group-item-action:hover:not(.active) {
  color: #3a86ff;
}
[data-theme-skin="neon"] .form-control:focus,
[data-theme-skin="neon"] .form-select:focus,
[data-theme-skin="neon"] .form-check-input:focus {
  border-color: #8338ec;
  box-shadow: var(--zer0-shadow-focus);
}
[data-theme-skin="neon"] .form-check-input:checked {
  background-color: #8338ec;
  border-color: #8338ec;
}
[data-theme-skin="neon"] .page-link {
  color: #8338ec;
}
[data-theme-skin="neon"] .page-item.active .page-link {
  background-color: #8338ec;
  border-color: #8338ec;
}
[data-theme-skin="neon"] .breadcrumb-item.active {
  color: #8338ec;
}
[data-theme-skin="neon"] .progress-bar {
  background-color: #8338ec;
}
[data-theme-skin="neon"] pre:not(.highlight) {
  border-color: rgba(var(--bs-primary-rgb), 0.22);
}
[data-theme-skin="neon"] pre:not(.highlight):hover {
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}
[data-theme-skin="neon"] .navbar .nav-link.active,
[data-theme-skin="neon"] .navbar .nav-link.show {
  color: #8338ec;
}
[data-theme-skin="neon"] .text-primary {
  color: #8338ec !important;
}
[data-theme-skin="neon"] .border-primary {
  border-color: #8338ec !important;
}
[data-theme-skin="neon"] .link-primary {
  color: #8338ec !important;
}
[data-theme-skin="neon"][data-bs-theme="dark"] {
  --bs-link-color: #8ab4ff;
  --zer0-color-link: #8ab4ff;
  --bs-link-hover-color: #b0ccff;
  --zer0-color-link-hover: #b0ccff;
}

[data-theme-skin="mint"] {
  --zer0-color-primary: #52b788;
  --zer0-color-primary-rgb: 82, 183, 136;
  --zer0-color-accent: #95d5b2;
  --bs-primary: #52b788;
  --bs-primary-rgb: 82, 183, 136;
  --bs-link-color: #2d8059;
  --zer0-color-link: #2d8059;
  --bs-link-hover-color: #1f5a3b;
  --zer0-color-link-hover: #1f5a3b;
  --zer0-color-border: rgba(82, 183, 136, 0.28);
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(82, 183, 136, 0.25);
  --zer0-color-bg-elevated: color-mix(in srgb, #52b788 10%, var(--bs-body-bg));
  --zer0-color-bg-muted: color-mix(in srgb, #52b788 6%, var(--bs-secondary-bg, var(--bs-body-bg)));
}
[data-theme-skin="mint"] .btn-primary {
  --bs-btn-bg: #52b788;
  --bs-btn-border-color: #52b788;
  --bs-btn-hover-bg: color-mix(in srgb, #52b788 85%, #95d5b2);
  --bs-btn-hover-border-color: color-mix(in srgb, #52b788 85%, #95d5b2);
  --bs-btn-active-bg: color-mix(in srgb, #52b788 75%, #95d5b2);
  --bs-btn-active-border-color: color-mix(in srgb, #52b788 75%, #95d5b2);
}
[data-theme-skin="mint"] .btn-outline-primary {
  --bs-btn-color: #52b788;
  --bs-btn-border-color: #52b788;
  --bs-btn-hover-bg: #52b788;
  --bs-btn-hover-border-color: #52b788;
  --bs-btn-active-bg: #52b788;
  --bs-btn-active-border-color: #52b788;
}
[data-theme-skin="mint"] .alert-primary {
  --bs-alert-color: #52b788;
  --bs-alert-bg: rgba(82, 183, 136, 0.12);
  --bs-alert-border-color: rgba(82, 183, 136, 0.35);
}
[data-theme-skin="mint"] .nav-tabs .nav-link.active {
  color: #52b788;
  border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}
[data-theme-skin="mint"] .nav-tabs .nav-link:hover:not(.active) {
  color: #95d5b2;
}
[data-theme-skin="mint"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--bs-link-color);
}
[data-theme-skin="mint"] a:not(.btn):hover {
  color: var(--bs-link-hover-color);
}
[data-theme-skin="mint"] .card:not(.skin-card) {
  background-color: var(--zer0-color-bg-elevated);
  border-color: var(--zer0-color-border);
}
[data-theme-skin="mint"] .list-group-item.active {
  background-color: #52b788;
  border-color: #52b788;
}
[data-theme-skin="mint"] .list-group-item-action:hover:not(.active) {
  color: #95d5b2;
}
[data-theme-skin="mint"] .form-control:focus,
[data-theme-skin="mint"] .form-select:focus,
[data-theme-skin="mint"] .form-check-input:focus {
  border-color: #52b788;
  box-shadow: var(--zer0-shadow-focus);
}
[data-theme-skin="mint"] .form-check-input:checked {
  background-color: #52b788;
  border-color: #52b788;
}
[data-theme-skin="mint"] .page-link {
  color: #52b788;
}
[data-theme-skin="mint"] .page-item.active .page-link {
  background-color: #52b788;
  border-color: #52b788;
}
[data-theme-skin="mint"] .breadcrumb-item.active {
  color: #52b788;
}
[data-theme-skin="mint"] .progress-bar {
  background-color: #52b788;
}
[data-theme-skin="mint"] pre:not(.highlight) {
  border-color: rgba(var(--bs-primary-rgb), 0.22);
}
[data-theme-skin="mint"] pre:not(.highlight):hover {
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}
[data-theme-skin="mint"] .navbar .nav-link.active,
[data-theme-skin="mint"] .navbar .nav-link.show {
  color: #52b788;
}
[data-theme-skin="mint"] .text-primary {
  color: #52b788 !important;
}
[data-theme-skin="mint"] .border-primary {
  border-color: #52b788 !important;
}
[data-theme-skin="mint"] .link-primary {
  color: #52b788 !important;
}
[data-theme-skin="mint"][data-bs-theme="dark"] {
  --bs-link-color: #80cfa8;
  --zer0-color-link: #80cfa8;
  --bs-link-hover-color: #a8e6c4;
  --zer0-color-link-hover: #a8e6c4;
}

[data-theme-skin="plum"] {
  --zer0-color-primary: #c77dff;
  --zer0-color-primary-rgb: 199, 125, 255;
  --zer0-color-accent: #812f85;
  --bs-primary: #c77dff;
  --bs-primary-rgb: 199, 125, 255;
  --bs-link-color: #6b2477;
  --zer0-color-link: #6b2477;
  --bs-link-hover-color: #4e1958;
  --zer0-color-link-hover: #4e1958;
  --zer0-color-border: rgba(199, 125, 255, 0.28);
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(199, 125, 255, 0.25);
  --zer0-color-bg-elevated: color-mix(in srgb, #c77dff 10%, var(--bs-body-bg));
  --zer0-color-bg-muted: color-mix(in srgb, #c77dff 6%, var(--bs-secondary-bg, var(--bs-body-bg)));
}
[data-theme-skin="plum"] .btn-primary {
  --bs-btn-bg: #c77dff;
  --bs-btn-border-color: #c77dff;
  --bs-btn-hover-bg: color-mix(in srgb, #c77dff 85%, #812f85);
  --bs-btn-hover-border-color: color-mix(in srgb, #c77dff 85%, #812f85);
  --bs-btn-active-bg: color-mix(in srgb, #c77dff 75%, #812f85);
  --bs-btn-active-border-color: color-mix(in srgb, #c77dff 75%, #812f85);
}
[data-theme-skin="plum"] .btn-outline-primary {
  --bs-btn-color: #c77dff;
  --bs-btn-border-color: #c77dff;
  --bs-btn-hover-bg: #c77dff;
  --bs-btn-hover-border-color: #c77dff;
  --bs-btn-active-bg: #c77dff;
  --bs-btn-active-border-color: #c77dff;
}
[data-theme-skin="plum"] .alert-primary {
  --bs-alert-color: #c77dff;
  --bs-alert-bg: rgba(199, 125, 255, 0.12);
  --bs-alert-border-color: rgba(199, 125, 255, 0.35);
}
[data-theme-skin="plum"] .nav-tabs .nav-link.active {
  color: #c77dff;
  border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}
[data-theme-skin="plum"] .nav-tabs .nav-link:hover:not(.active) {
  color: #812f85;
}
[data-theme-skin="plum"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--bs-link-color);
}
[data-theme-skin="plum"] a:not(.btn):hover {
  color: var(--bs-link-hover-color);
}
[data-theme-skin="plum"] .card:not(.skin-card) {
  background-color: var(--zer0-color-bg-elevated);
  border-color: var(--zer0-color-border);
}
[data-theme-skin="plum"] .list-group-item.active {
  background-color: #c77dff;
  border-color: #c77dff;
}
[data-theme-skin="plum"] .list-group-item-action:hover:not(.active) {
  color: #812f85;
}
[data-theme-skin="plum"] .form-control:focus,
[data-theme-skin="plum"] .form-select:focus,
[data-theme-skin="plum"] .form-check-input:focus {
  border-color: #c77dff;
  box-shadow: var(--zer0-shadow-focus);
}
[data-theme-skin="plum"] .form-check-input:checked {
  background-color: #c77dff;
  border-color: #c77dff;
}
[data-theme-skin="plum"] .page-link {
  color: #c77dff;
}
[data-theme-skin="plum"] .page-item.active .page-link {
  background-color: #c77dff;
  border-color: #c77dff;
}
[data-theme-skin="plum"] .breadcrumb-item.active {
  color: #c77dff;
}
[data-theme-skin="plum"] .progress-bar {
  background-color: #c77dff;
}
[data-theme-skin="plum"] pre:not(.highlight) {
  border-color: rgba(var(--bs-primary-rgb), 0.22);
}
[data-theme-skin="plum"] pre:not(.highlight):hover {
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}
[data-theme-skin="plum"] .navbar .nav-link.active,
[data-theme-skin="plum"] .navbar .nav-link.show {
  color: #c77dff;
}
[data-theme-skin="plum"] .text-primary {
  color: #c77dff !important;
}
[data-theme-skin="plum"] .border-primary {
  border-color: #c77dff !important;
}
[data-theme-skin="plum"] .link-primary {
  color: #c77dff !important;
}
[data-theme-skin="plum"][data-bs-theme="dark"] {
  --bs-link-color: #d4a0f5;
  --zer0-color-link: #d4a0f5;
  --bs-link-hover-color: #e8c8ff;
  --zer0-color-link-hover: #e8c8ff;
}

[data-theme-skin="sunrise"] {
  --zer0-color-primary: #ff6b35;
  --zer0-color-primary-rgb: 255, 107, 53;
  --zer0-color-accent: #f7c59f;
  --bs-primary: #ff6b35;
  --bs-primary-rgb: 255, 107, 53;
  --bs-link-color: #b54418;
  --zer0-color-link: #b54418;
  --bs-link-hover-color: #8f3512;
  --zer0-color-link-hover: #8f3512;
  --zer0-color-border: rgba(255, 107, 53, 0.28);
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(255, 107, 53, 0.25);
  --zer0-color-bg-elevated: color-mix(in srgb, #ff6b35 10%, var(--bs-body-bg));
  --zer0-color-bg-muted: color-mix(in srgb, #ff6b35 6%, var(--bs-secondary-bg, var(--bs-body-bg)));
}
[data-theme-skin="sunrise"] .btn-primary {
  --bs-btn-bg: #ff6b35;
  --bs-btn-border-color: #ff6b35;
  --bs-btn-hover-bg: color-mix(in srgb, #ff6b35 85%, #f7c59f);
  --bs-btn-hover-border-color: color-mix(in srgb, #ff6b35 85%, #f7c59f);
  --bs-btn-active-bg: color-mix(in srgb, #ff6b35 75%, #f7c59f);
  --bs-btn-active-border-color: color-mix(in srgb, #ff6b35 75%, #f7c59f);
}
[data-theme-skin="sunrise"] .btn-outline-primary {
  --bs-btn-color: #ff6b35;
  --bs-btn-border-color: #ff6b35;
  --bs-btn-hover-bg: #ff6b35;
  --bs-btn-hover-border-color: #ff6b35;
  --bs-btn-active-bg: #ff6b35;
  --bs-btn-active-border-color: #ff6b35;
}
[data-theme-skin="sunrise"] .alert-primary {
  --bs-alert-color: #ff6b35;
  --bs-alert-bg: rgba(255, 107, 53, 0.12);
  --bs-alert-border-color: rgba(255, 107, 53, 0.35);
}
[data-theme-skin="sunrise"] .nav-tabs .nav-link.active {
  color: #ff6b35;
  border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}
[data-theme-skin="sunrise"] .nav-tabs .nav-link:hover:not(.active) {
  color: #f7c59f;
}
[data-theme-skin="sunrise"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--bs-link-color);
}
[data-theme-skin="sunrise"] a:not(.btn):hover {
  color: var(--bs-link-hover-color);
}
[data-theme-skin="sunrise"] .card:not(.skin-card) {
  background-color: var(--zer0-color-bg-elevated);
  border-color: var(--zer0-color-border);
}
[data-theme-skin="sunrise"] .list-group-item.active {
  background-color: #ff6b35;
  border-color: #ff6b35;
}
[data-theme-skin="sunrise"] .list-group-item-action:hover:not(.active) {
  color: #f7c59f;
}
[data-theme-skin="sunrise"] .form-control:focus,
[data-theme-skin="sunrise"] .form-select:focus,
[data-theme-skin="sunrise"] .form-check-input:focus {
  border-color: #ff6b35;
  box-shadow: var(--zer0-shadow-focus);
}
[data-theme-skin="sunrise"] .form-check-input:checked {
  background-color: #ff6b35;
  border-color: #ff6b35;
}
[data-theme-skin="sunrise"] .page-link {
  color: #ff6b35;
}
[data-theme-skin="sunrise"] .page-item.active .page-link {
  background-color: #ff6b35;
  border-color: #ff6b35;
}
[data-theme-skin="sunrise"] .breadcrumb-item.active {
  color: #ff6b35;
}
[data-theme-skin="sunrise"] .progress-bar {
  background-color: #ff6b35;
}
[data-theme-skin="sunrise"] pre:not(.highlight) {
  border-color: rgba(var(--bs-primary-rgb), 0.22);
}
[data-theme-skin="sunrise"] pre:not(.highlight):hover {
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}
[data-theme-skin="sunrise"] .navbar .nav-link.active,
[data-theme-skin="sunrise"] .navbar .nav-link.show {
  color: #ff6b35;
}
[data-theme-skin="sunrise"] .text-primary {
  color: #ff6b35 !important;
}
[data-theme-skin="sunrise"] .border-primary {
  border-color: #ff6b35 !important;
}
[data-theme-skin="sunrise"] .link-primary {
  color: #ff6b35 !important;
}
[data-theme-skin="sunrise"][data-bs-theme="dark"] {
  --bs-link-color: #ffa87a;
  --zer0-color-link: #ffa87a;
  --bs-link-hover-color: #ffd0b0;
  --zer0-color-link-hover: #ffd0b0;
}

/*!
 * Docs layout — trimmed Bootstrap-docs-adjacent styles for zer0-mistakes.
 * Replaces the former full _docs.scss vendor snapshot (~3.2k lines).
 */
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px ;
}

.bd-content > h2, .bd-content > h3, .bd-content > h4 {
  --bs-heading-color: var(--bs-emphasis-color) ;
}

.bd-content > h2:not(:first-child) {
  margin-top: 3rem;
}

.bd-content > h3 {
  margin-top: 2rem;
}

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

.bd-content > ul li > p ~ ul, .bd-content > ol li > p ~ ul {
  margin-top: -.5rem;
  margin-bottom: 1rem;
}

@media (min-width: 992px) {
  .bd-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 5rem;
    display: block !important;
    height: calc(100vh - 6rem);
    padding-left: .25rem;
    margin-left: -.25rem;
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .bd-sidebar .offcanvas-lg {
    border-right-color: var(--bs-border-color);
    box-shadow: var(--bs-box-shadow-lg);
  }
}
.bd-links-heading {
  color: var(--bs-emphasis-color);
}

@media (max-width: 991.98px) {
  .bd-links-nav {
    font-size: 0.875rem;
  }
}
@media (max-width: 991.98px) {
  .bd-links-nav {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }

  .bd-links-nav .bd-links-group {
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }

  .bd-links-nav .bd-links-span-all {
    -moz-column-span: all;
    column-span: all;
  }
}
.bd-links-link {
  padding: .1875rem .5rem;
  margin-top: .125rem;
  margin-left: 1.125rem;
  color: var(--bs-body-color);
  text-decoration: none;
}

.bd-links-link:hover, .bd-links-link:focus, .bd-links-link.active {
  color: var(--bs-emphasis-color);
  background-color: var(--bd-sidebar-link-bg);
}

.bd-links-link.active {
  font-weight: 600;
}

.bd-gutter {
  --bs-gutter-x: 3rem ;
}

@media (min-width: 1200px) {
  .container-xxl.bd-layout {
    max-width: var(--zer0-layout-max-width-xl);
  }
}
@media (min-width: 1400px) {
  .container-xxl.bd-layout {
    max-width: var(--zer0-layout-max-width-xxl);
  }
}
@media (min-width: 992px) {
  .bd-layout {
    display: grid;
    grid-template-areas: "sidebar main";
    grid-template-columns: var(--zer0-sidebar-width) minmax(0, 1fr);
    gap: 1.5rem;
    transition: grid-template-columns var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease), gap var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease);
  }

  .bd-layout.bd-layout--no-sidebar {
    grid-template-areas: "main";
    grid-template-columns: minmax(0, 1fr);
  }

  .bd-layout.bd-layout--sidebar-collapsed,
  html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) {
    grid-template-columns: var(--zer0-sidebar-rail-width, 2.25rem) minmax(0, 1fr);
    gap: 0.5rem;
  }

  .bd-layout.bd-layout--sidebar-collapsed .bd-sidebar,
  html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) .bd-sidebar {
    overflow: visible;
  }

  .bd-layout.bd-layout--sidebar-collapsed .bd-sidebar .offcanvas-body > *:not(.bd-sidebar-desktop-header),
  html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) .bd-sidebar .offcanvas-body > *:not(.bd-sidebar-desktop-header) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--zer0-motion-duration-fast, 0.2s) var(--zer0-motion-ease-standard, ease), visibility 0s linear var(--zer0-motion-duration-fast, 0.2s);
  }

  .bd-layout.bd-layout--sidebar-collapsed .bd-sidebar-desktop-header > strong,
  html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) .bd-sidebar-desktop-header > strong {
    display: none !important;
  }

  .bd-layout.bd-layout--sidebar-collapsed .bd-sidebar-desktop-header,
  html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) .bd-sidebar-desktop-header {
    justify-content: center !important;
    margin-bottom: 0 !important;
  }

  .bd-sidebar .offcanvas-body > *:not(.bd-sidebar-desktop-header) {
    transition: opacity var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease), visibility 0s linear 0s;
  }
}
.bd-sidebar {
  grid-area: sidebar;
}

.bd-main {
  grid-area: main;
}

@media (max-width: 991.98px) {
  .bd-main {
    max-width: 760px;
    margin-inline: auto;
  }
}
@media (min-width: 768px) {
  .bd-main {
    display: grid;
    grid-template-areas: "intro" "toc" "content";
    grid-template-rows: auto auto 1fr;
    gap: inherit;
  }
}
@media (min-width: 992px) {
  .bd-main {
    grid-template-areas: "intro   toc" "content toc";
    grid-template-rows: auto 1fr;
    grid-template-columns: minmax(0, 1fr) var(--zer0-sidebar-toc-width);
    transition: grid-template-columns var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease);
  }

  .bd-main.bd-main--no-toc,
  html.bd-toc-pref-hidden .bd-main:has(.bd-toc) {
    grid-template-areas: "intro   toc" "content toc";
    grid-template-rows: auto 1fr;
    grid-template-columns: minmax(0, 1fr) var(--zer0-sidebar-toc-rail-width, 2.25rem);
  }

  .bd-main.bd-main--no-toc .bd-toc,
  html.bd-toc-pref-hidden .bd-main:has(.bd-toc) .bd-toc {
    overflow: visible;
  }

  .bd-main.bd-main--no-toc #TableOfContents > *:not(:first-child),
  html.bd-toc-pref-hidden .bd-main:has(.bd-toc) #TableOfContents > *:not(:first-child) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--zer0-motion-duration-fast, 0.2s) var(--zer0-motion-ease-standard, ease), visibility 0s linear var(--zer0-motion-duration-fast, 0.2s);
  }

  .bd-main.bd-main--no-toc #TableOfContents > div:first-child > strong,
  html.bd-toc-pref-hidden .bd-main:has(.bd-toc) #TableOfContents > div:first-child > strong {
    display: none !important;
  }

  .bd-main.bd-main--no-toc #TableOfContents > div:first-child,
  html.bd-toc-pref-hidden .bd-main:has(.bd-toc) #TableOfContents > div:first-child {
    justify-content: center !important;
    margin-bottom: 0 !important;
  }

  .bd-toc #TableOfContents > *:not(:first-child) {
    transition: opacity var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease), visibility 0s linear 0s;
  }
}
@media (min-width: 992px) and (prefers-reduced-motion: reduce) {
  .bd-layout,
  .bd-main,
  .bd-sidebar .offcanvas-body > *:not(.bd-sidebar-desktop-header),
  #TableOfContents > *:not(:first-child) {
    transition: none !important;
  }
}
.bd-intro {
  grid-area: intro;
  --bd-intro-min-height: clamp(11rem, 24vw, 16rem);
  display: flex;
  flex-direction: column;
  min-height: var(--bd-intro-min-height);
  padding: var(--zer0-space-4) var(--zer0-space-3);
  color: #fff;
  border-radius: calc(var(--bs-border-radius-lg, 0.5rem) + 0.125rem);
  overflow: hidden;
}

@media (min-width: 768px) {
  .bd-intro {
    padding: var(--zer0-space-5) var(--zer0-space-4);
  }
}
@media (min-width: 992px) {
  .bd-intro {
    padding-inline: var(--zer0-space-4);
  }
}
.bd-intro-inner {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--zer0-space-4);
  width: 100%;
  min-height: 0;
}
@media (min-width: 768px) {
  .bd-intro-inner {
    gap: var(--zer0-space-5);
  }
}

.bd-intro-content {
  display: flex;
  flex-direction: column;
  gap: var(--zer0-space-3);
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .bd-intro-content {
    gap: var(--zer0-space-4);
  }
}

.bd-intro-title {
  margin: 0;
  font-size: var(--zer0-text-h1);
  font-weight: var(--zer0-font-weight-bold);
  line-height: var(--zer0-leading-tight);
  text-wrap: balance;
}

.bd-intro-subtitle {
  margin: 0;
  font-size: var(--zer0-text-base);
  line-height: var(--zer0-leading-normal);
  opacity: 0.88;
}

.bd-intro-description {
  margin: 0;
  font-size: var(--zer0-text-lg);
  line-height: var(--zer0-leading-normal);
  opacity: 0.95;
}

.bd-intro-meta-footer {
  --bd-intro-meta-footer-bg: rgba(0, 0, 0, .5);
  --bd-intro-meta-footer-border: rgba(255, 255, 255, .2);
  display: flex;
  flex-direction: column;
  gap: var(--zer0-space-2);
  flex-shrink: 0;
  margin-top: auto;
  padding: var(--zer0-space-3);
  color: rgba(255, 255, 255, 0.96);
  background-color: var(--bd-intro-meta-footer-bg);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-top-color: var(--bd-intro-meta-footer-border);
  border-radius: var(--bs-border-radius-lg, 0.5rem);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .bd-intro-meta-footer {
    background-color: rgba(0, 0, 0, 0.68);
  }
}

.bd-intro-meta-row {
  --bd-intro-meta-gap: var(--zer0-space-2);
  --bd-intro-meta-separator: rgba(255, 255, 255, .38);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-intro-meta-gap);
  margin: 0;
  padding: 0;
  font-size: var(--zer0-text-sm);
  line-height: var(--zer0-leading-normal);
}

.bd-intro-meta-item {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--zer0-space-1) * .75);
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
}
.bd-intro-meta-item:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: .875rem;
  margin-left: var(--bd-intro-meta-gap);
  background-color: var(--bd-intro-meta-separator);
}
.bd-intro-meta-item--tags {
  flex: 1 1 100%;
  max-width: 100%;
}
.bd-intro-meta-item--tags::after {
  display: none;
}
.bd-intro-meta-item--tags + .bd-intro-meta-item::before {
  display: none;
}

.bd-intro-meta-icon {
  flex-shrink: 0;
  font-size: .875em;
  color: rgba(255, 255, 255, 0.82);
}

.bd-intro-meta-link {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.55);
  text-underline-offset: .15em;
}
.bd-intro-meta-link:hover, .bd-intro-meta-link:focus {
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, 0.9);
}
.bd-intro-meta-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-radius: 0.125rem;
}

.bd-intro-badge {
  display: inline-flex;
  align-items: center;
  padding: .125rem .5rem;
  font-size: .8125rem;
  font-weight: var(--zer0-font-weight-medium);
  line-height: var(--zer0-leading-tight);
  color: #fff;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: var(--bs-border-radius-pill, 50rem);
  text-shadow: none;
}

a.bd-intro-badge:hover,
a.bd-intro-badge:focus {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.28);
  border-color: rgba(255, 255, 255, 0.48);
}

a.bd-intro-badge:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.bd-intro-badge--level-beginner {
  background-color: rgba(25, 135, 84, 0.55);
  border-color: rgba(146, 220, 180, 0.55);
}

.bd-intro-badge--level-intermediate {
  background-color: rgba(180, 130, 0, 0.58);
  border-color: rgba(255, 220, 120, 0.55);
}

.bd-intro-badge--level-advanced,
.bd-intro-badge--level-expert {
  background-color: rgba(176, 42, 55, 0.58);
  border-color: rgba(255, 170, 178, 0.52);
}

.bd-intro-tag-list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(var(--zer0-space-1) * .75);
}

.bd-intro-badge--tag {
  font-size: .75rem;
  font-weight: var(--zer0-font-weight-regular);
  padding-inline: .4375rem;
  background-color: rgba(0, 0, 0, 0.32);
  border-color: rgba(255, 255, 255, 0.28);
}

a.bd-intro-badge--tag:hover,
a.bd-intro-badge--tag:focus {
  background-color: rgba(0, 0, 0, 0.45);
  border-color: rgba(255, 255, 255, 0.42);
}

.bd-intro-badge--more {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.75rem;
}

.bd-intro-meta-bottom {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--zer0-space-2);
  padding-top: var(--zer0-space-2);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}
@media (min-width: 768px) {
  .bd-intro-meta-bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--zer0-space-3);
  }
}

.bd-intro-meta {
  margin: 0;
  font-size: var(--zer0-text-sm);
  line-height: var(--zer0-leading-normal);
  color: rgba(255, 255, 255, 0.88);
  flex: 1 1 auto;
  min-width: 0;
}

.bd-intro-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--zer0-space-2);
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  .bd-intro-actions {
    width: auto;
    flex-shrink: 0;
  }
}
.bd-intro-actions .btn {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.bd-intro-actions .bd-intro-action-link.btn::after {
  content: "";
  display: inline-block;
  width: .555em;
  flex-shrink: 0;
  visibility: hidden;
}
.bd-intro-actions .copilot-agent-menu.dropdown-menu {
  --bs-dropdown-min-width: 0;
  width: max-content;
  max-width: min(22rem, 90vw);
  padding: var(--zer0-space-1) 0;
  border-radius: var(--bs-border-radius);
  border-color: var(--zer0-color-border);
}
.bd-intro-actions .copilot-agent-menu .dropdown-header {
  padding: var(--zer0-space-1) var(--zer0-space-2) calc(var(--zer0-space-1) * .5);
  font-size: var(--zer0-text-sm);
  font-weight: var(--zer0-font-weight-semibold);
  line-height: var(--zer0-leading-tight);
  color: var(--zer0-color-ink-muted);
  white-space: normal;
}
.bd-intro-actions .copilot-agent-menu .dropdown-divider {
  margin: var(--zer0-space-1) 0;
}
.bd-intro-actions .copilot-agent-menu .dropdown-item {
  white-space: normal;
  padding: var(--zer0-space-1) var(--zer0-space-2);
  line-height: var(--zer0-leading-normal);
  border-radius: calc(var(--bs-border-radius) - 2px);
}
.bd-intro-actions .copilot-agent-menu .dropdown-item:hover .copilot-agent-item__desc, .bd-intro-actions .copilot-agent-menu .dropdown-item:focus .copilot-agent-item__desc {
  color: inherit;
  opacity: .85;
}
.bd-intro-actions .copilot-agent-item {
  display: flex;
  align-items: flex-start;
  gap: var(--zer0-space-2);
  min-width: 0;
}
.bd-intro-actions .copilot-agent-item__icon {
  flex-shrink: 0;
  margin-top: .125rem;
  font-size: var(--zer0-text-sm);
  line-height: 1;
  opacity: .85;
}
.bd-intro-actions .copilot-agent-item__text {
  display: flex;
  flex-direction: column;
  gap: .125rem;
  min-width: 0;
}
.bd-intro-actions .copilot-agent-item__label {
  font-size: var(--zer0-text-sm);
  font-weight: var(--zer0-font-weight-medium);
  line-height: var(--zer0-leading-tight);
}
.bd-intro-actions .copilot-agent-item__desc {
  display: block;
  font-size: .8125rem;
  font-weight: var(--zer0-font-weight-regular);
  line-height: var(--zer0-leading-normal);
  color: var(--zer0-color-ink-muted);
}

.bd-toc {
  grid-area: toc;
}

.bd-content {
  grid-area: content;
  min-width: 1px;
}

@media (min-width: 992px) {
  .bd-toc {
    position: -webkit-sticky;
    position: sticky;
    top: 5rem;
    right: 0;
    z-index: 2;
    height: calc(100vh - 7rem);
    overflow-y: auto;
  }
}
.bd-toc nav {
  font-size: 0.875rem;
}

.bd-toc nav ul {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.bd-toc nav ul ul {
  padding-left: 1rem;
}

.bd-toc nav a {
  display: block;
  padding: .125rem 0 .125rem .75rem;
  color: inherit;
  text-decoration: none;
  border-left: 0.125rem solid transparent;
}

.bd-toc nav a:hover, .bd-toc nav a.active {
  color: var(--bd-toc-color);
  border-left-color: var(--bd-toc-color);
}

.bd-toc nav a.active {
  font-weight: 500;
}

.bd-toc nav a code {
  font: inherit;
}

.bd-toc-toggle {
  display: flex;
  align-items: center;
}

@media (max-width: 575.98px) {
  .bd-toc-toggle {
    justify-content: space-between;
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .bd-toc-toggle {
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
  }

  .bd-toc-toggle:hover, .bd-toc-toggle:focus, .bd-toc-toggle:active, .bd-toc-toggle[aria-expanded="true"] {
    color: var(--bd-violet);
    background-color: var(--bs-body-bg);
    border-color: var(--bd-violet);
  }

  .bd-toc-toggle:focus, .bd-toc-toggle[aria-expanded="true"] {
    box-shadow: 0 0 0 3px rgba(var(--bd-violet-rgb), 0.25);
  }
}
@media (max-width: 767.98px) {
  .bd-toc-collapse nav {
    padding: 1.25rem 1.25rem 1.25rem 1rem;
    background-color: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
  }
}
@media (min-width: 768px) {
  .bd-toc-collapse {
    display: block !important;
  }
}
.bd-footer a {
  color: var(--bs-body-color);
  text-decoration: none;
}

.bd-footer {
  overflow: visible;
}

.bd-footer a:hover, .bd-footer a:focus {
  color: var(--bs-link-hover-color);
  text-decoration: underline;
}

.bd-code-snippet {
  margin: 0 -1.5rem 1rem;
  border: solid var(--bs-border-color);
  border-width: 1px 0;
}

@media (min-width: 768px) {
  .bd-code-snippet {
    margin-right: 0;
    margin-left: 0;
    border-width: 1px;
    border-radius: var(--bs-border-radius);
  }
}
.bd-example {
  --bd-example-padding: 1rem;
  position: relative;
  padding: var(--bd-example-padding);
  margin: 0 -1.5rem 1rem;
  border: solid var(--bs-border-color);
  border-width: 1px 0;
}

.bd-example::after {
  display: block;
  clear: both;
}

@media (min-width: 768px) {
  .bd-example {
    --bd-example-padding: 1.5rem;
    margin-right: 0;
    margin-left: 0;
    border-width: 1px;
    border-radius: var(--bs-border-radius);
  }
}
.bd-example + p {
  margin-top: 2rem;
}

.bd-example > .form-control + .form-control {
  margin-top: 0.5rem;
}

.bd-example > .nav + .nav, .bd-example > .alert + .alert, .bd-example > .navbar + .navbar, .bd-example > .progress + .progress {
  margin-top: 1rem;
}

.bd-example > .dropdown-menu {
  position: static;
  display: block;
}

.bd-example > :last-child, .bd-example > nav:last-child .breadcrumb {
  margin-bottom: 0;
}

.bd-example > hr:last-child {
  margin-bottom: 1rem;
}

.bd-example > svg + svg, .bd-example > img + img {
  margin-left: 0.5rem;
}

.bd-example > .btn, .bd-example > .btn-group {
  margin: 0.25rem 0.125rem;
}

.bd-example > .btn-toolbar + .btn-toolbar {
  margin-top: 0.5rem;
}

.bd-example > .list-group {
  max-width: 400px;
}

.bd-example > [class*="list-group-horizontal"] {
  max-width: 100%;
}

.bd-example .fixed-top, .bd-example .sticky-top {
  position: static;
  margin: calc(var(--bd-example-padding) * -1) calc(var(--bd-example-padding) * -1) var(--bd-example-padding);
}

.bd-example .fixed-bottom, .bd-example .sticky-bottom {
  position: static;
  margin: var(--bd-example-padding) calc(var(--bd-example-padding) * -1) calc(var(--bd-example-padding) * -1);
}

.bd-example .pagination {
  margin-bottom: 0;
}

.bd-example-row [class^="col"], .bd-example-cols [class^="col"] > *, .bd-example-cssgrid [class*="grid"] > * {
  padding-top: .75rem;
  padding-bottom: .75rem;
  background-color: rgba(var(--bd-violet-rgb), 0.15);
  border: 1px solid rgba(var(--bd-violet-rgb), 0.3);
}

.bd-example-row .row + .row, .bd-example-cssgrid .grid + .grid {
  margin-top: 1rem;
}

.bd-example-row-flex-cols .row {
  min-height: 10rem;
  background-color: rgba(var(--bd-violet-rgb), 0.15);
}

.bd-example-flex div:not(.vr) {
  background-color: rgba(var(--bd-violet-rgb), 0.15);
  border: 1px solid rgba(var(--bd-violet-rgb), 0.3);
}

.example-container {
  width: 800px;
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-right: auto;
  margin-left: auto;
}

.example-row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}

.example-content-main {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}

@media (min-width: 576px) {
  .example-content-main {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width: 992px) {
  .example-content-main {
    flex: 0 0 auto;
    width: 66.666667%;
  }
}
.example-content-secondary {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}

@media (min-width: 576px) {
  .example-content-secondary {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width: 992px) {
  .example-content-secondary {
    flex: 0 0 auto;
    width: 33.333333%;
  }
}
.bd-example-ratios .ratio {
  display: inline-block;
  width: 10rem;
  color: var(--bs-secondary-color);
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
}

.bd-example-ratios .ratio > div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.bd-example-ratios-breakpoint .ratio-4x3 {
  width: 16rem;
}

@media (min-width: 768px) {
  .bd-example-ratios-breakpoint .ratio-4x3 {
    --bs-aspect-ratio: 50% ;
  }
}
.bd-example-offcanvas .offcanvas {
  position: static;
  display: block;
  height: 200px;
  visibility: visible;
  transform: translate(0);
}

.tooltip-demo a {
  white-space: nowrap;
}

.tooltip-demo .btn {
  margin: 0.25rem 0.125rem;
}

.custom-tooltip {
  --bs-tooltip-bg: var(--bd-violet-bg);
  --bs-tooltip-color: var(--bs-white) ;
}

.custom-popover {
  --bs-popover-max-width: 200px;
  --bs-popover-border-color: var(--bd-violet-bg);
  --bs-popover-header-bg: var(--bd-violet-bg);
  --bs-popover-header-color: var(--bs-white);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: .5rem ;
}

.scrollspy-example {
  height: 200px;
  margin-top: .5rem;
  overflow: auto;
}

.scrollspy-example-2 {
  height: 350px;
  overflow: auto;
}

.simple-list-example-scrollspy .active {
  background-color: rgba(var(--bd-violet-rgb), 0.15);
}

.bd-example-border-utils [class^="border"] {
  display: inline-block;
  width: 5rem;
  height: 5rem;
  margin: .25rem;
  background-color: var(--bs-tertiary-bg);
}

.bd-example-rounded-utils [class*="rounded"] {
  margin: 0.25rem;
}

.bd-example-position-utils {
  position: relative;
  padding: 2rem;
}

.bd-example-position-utils .position-relative {
  height: 200px;
  background-color: var(--bs-tertiary-bg);
}

.bd-example-position-utils .position-absolute {
  width: 2rem;
  height: 2rem;
  background-color: var(--bs-body-color);
  border-radius: 0.375rem;
}

.bd-example-position-examples::after {
  content: none;
}

.bd-example-placeholder-cards::after {
  display: none;
}

.bd-example-placeholder-cards .card {
  width: 18rem;
}

.bd-example-toasts {
  min-height: 240px;
}

.bd-example-zindex-levels {
  min-height: 15rem;
}

.bd-example-zindex-levels > div {
  color: var(--bs-body-bg);
  background-color: var(--bd-violet);
  border: 1px solid var(--bd-purple);
}

.bd-example-zindex-levels > div > span {
  position: absolute;
  right: 5px;
  bottom: 0;
}

.bd-example-zindex-levels > :nth-child(2) {
  top: 3rem;
  left: 3rem;
}

.bd-example-zindex-levels > :nth-child(3) {
  top: 4.5rem;
  left: 4.5rem;
}

.bd-example-zindex-levels > :nth-child(4) {
  top: 6rem;
  left: 6rem;
}

.bd-example-zindex-levels > :nth-child(5) {
  top: 7.5rem;
  left: 7.5rem;
}

.highlight:not(pre):not(.highlighter-rouge > .highlight) {
  position: relative;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  background-color: var(--bd-pre-bg);
}

@media (min-width: 768px) {
  .highlight:not(pre):not(.highlighter-rouge > .highlight) {
    border-radius: calc(var(--bs-border-radius) - 1px);
  }
}
.highlight pre {
  padding: 0;
  margin: 0;
  overflow-x: auto;
  white-space: pre;
  background-color: transparent;
  border: 0;
}

.highlight pre code {
  font-size: inherit;
  word-wrap: normal;
}

.bd-example-snippet .highlight pre {
  margin-right: 0;
}

.highlight-toolbar {
  background-color: var(--bd-pre-bg);
}

.highlight-toolbar + .highlight {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

@media (min-width: 768px) {
  .bd-file-ref .highlight-toolbar {
    border-top-left-radius: calc(var(--bs-border-radius) - 1px);
    border-top-right-radius: calc(var(--bs-border-radius) - 1px);
  }
}
.bd-content .bd-code-snippet {
  margin-bottom: 1rem;
}

.bd-clipboard, .bd-edit {
  position: relative;
  display: none;
  float: right;
}

.bd-clipboard + .highlight, .bd-edit + .highlight {
  margin-top: 0;
}

@media (min-width: 768px) {
  .bd-clipboard, .bd-edit {
    display: block;
  }
}
.btn-clipboard, .btn-edit {
  display: block;
  padding: .5em;
  line-height: 1;
  color: var(--bs-body-color);
  background-color: var(--bd-pre-bg);
  border: 0;
  border-radius: 0.25rem;
}

.btn-clipboard:hover, .btn-edit:hover {
  color: var(--bs-link-hover-color);
}

.btn-clipboard:focus, .btn-edit:focus {
  z-index: 3;
}

.btn-clipboard {
  position: relative;
  z-index: 2;
  margin-top: 1.25rem;
  margin-right: 0.75rem;
}

.bd-placeholder-img {
  font-size: 1.125rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-anchor: middle;
}

.bd-placeholder-img-lg {
  font-size: calc(1.475rem + 2.7vw);
}

@media (min-width: 1200px) {
  .bd-placeholder-img-lg {
    font-size: 3.5rem;
  }
}
main a, main button, main input, main select, main textarea, main h2, main h3, main h4, main [tabindex="0"] {
  scroll-margin-top: 80px;
  scroll-margin-bottom: 100px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
a:not(.btn):not(.nav-link):focus-visible,
button:not(.btn):focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
summary:focus-visible {
  outline: 2px solid var(--zer0-color-primary, currentColor);
  outline-offset: 2px;
  border-radius: 0.125rem;
}

.zer0-skip-link {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: var(--zer0-layer-skip-link);
  padding: 0.5rem 1rem;
  background: var(--zer0-color-primary);
  color: #fff;
  border-radius: 0.25rem;
  transform: translateY(-200%);
  transition: transform var(--zer0-motion-duration-base) var(--zer0-motion-ease-standard);
}
.zer0-skip-link:focus, .zer0-skip-link:focus-visible {
  transform: translateY(0);
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.cookie-consent-banner {
  z-index: var(--zer0-layer-cookie-banner);
  background: linear-gradient(135deg, var(--zer0-color-bg-elevated, var(--bs-tertiary-bg)) 0%, var(--zer0-color-bg-muted, var(--bs-secondary-bg)) 100%);
  color: var(--zer0-color-ink, var(--bs-body-color));
  border-top: 1px solid var(--zer0-color-border, var(--bs-border-color));
  backdrop-filter: blur(10px);
  opacity: 0;
  transform: translateY(100%);
  transition: transform var(--zer0-motion-duration-slow, 320ms) var(--zer0-motion-ease-standard), opacity var(--zer0-motion-duration-base, 200ms) var(--zer0-motion-ease-standard);
  will-change: transform, opacity;
}
.cookie-consent-banner[hidden] {
  display: none !important;
}
.cookie-consent-banner.cookie-banner-visible {
  opacity: 1;
  transform: translateY(0);
}

#backToTopBtn {
  position: fixed;
  bottom: var(--zer0-space-fab-offset, 1rem);
  right: var(--zer0-space-fab-offset, 1rem);
  z-index: var(--zer0-layer-fab-back-to-top);
  background-color: var(--zer0-color-primary, var(--bs-primary));
  color: var(--bs-light, #fff);
  border: 0;
  outline: 0;
  padding: 0.75rem;
  border-radius: 0.625rem;
  font-size: 1.125rem;
  opacity: 0.5;
  cursor: pointer;
  box-shadow: var(--zer0-shadow-fab);
  transition: opacity var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard), background-color var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard), transform var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard);
}
#backToTopBtn:hover, #backToTopBtn:focus-visible {
  opacity: 1;
  background-color: var(--zer0-color-link-hover, var(--bs-primary));
  transform: translateY(-2px);
}

.note-header {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--zer0-color-border);
}
.note-header .note-title {
  font-size: var(--zer0-text-h2);
  font-weight: var(--zer0-font-weight-bold);
  line-height: var(--zer0-leading-tight);
  margin-bottom: 0.75rem;
}
.note-header .note-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--zer0-space-3);
  color: var(--zer0-color-ink-muted);
  font-size: var(--zer0-text-sm);
}
.note-header .note-meta span {
  display: inline-flex;
  align-items: center;
}
.note-header .note-meta span i {
  margin-right: 0.35rem;
}
.note-header .note-description {
  margin-top: var(--zer0-space-3);
  font-size: var(--zer0-text-lg);
  color: var(--zer0-color-ink);
}

.note-content pre:not(.highlight) {
  background: var(--zer0-color-code-bg);
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  overflow-x: auto;
}
.note-content pre:not(.highlight) code {
  background: transparent;
  padding: 0;
}
.note-content .highlight:not(pre) pre,
.note-content pre.highlight {
  padding: 0;
  border: 0;
  background: transparent;
}
.note-content code:not(pre code) {
  background: var(--zer0-color-bg-muted);
  color: var(--zer0-color-code-ink);
  padding: 0.15em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.875em;
}

.related-notes {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--zer0-color-border);
}
.related-notes .related-note-card {
  transition: transform var(--zer0-motion-duration-base) var(--zer0-motion-ease-standard), box-shadow var(--zer0-motion-duration-base) var(--zer0-motion-ease-standard);
}
.related-notes .related-note-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--zer0-shadow-md) !important;
}

.note-navigation {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--zer0-color-border);
}
.note-navigation .nav-link-note {
  display: block;
  padding: var(--zer0-space-3);
  background: var(--zer0-color-bg-elevated);
  border-radius: 0.5rem;
  text-decoration: none;
  color: inherit;
  transition: background var(--zer0-motion-duration-base) var(--zer0-motion-ease-standard);
}
.note-navigation .nav-link-note:hover {
  background: var(--zer0-color-bg-muted);
}
.note-navigation .nav-link-note .nav-label {
  font-size: var(--zer0-text-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--zer0-color-ink-muted);
  margin-bottom: 0.25rem;
}
.note-navigation .nav-link-note .nav-title {
  font-weight: var(--zer0-font-weight-semibold);
  color: var(--zer0-color-link);
}

.skeleton {
  background: linear-gradient(90deg, var(--zer0-color-bg-elevated) 25%, var(--zer0-color-bg-muted) 50%, var(--zer0-color-bg-elevated) 75%);
  background-size: 200% 100%;
  animation: zer0-skeleton-shimmer 1.5s ease-in-out infinite;
  border-radius: 0.25rem;
  min-height: 1em;
}

@keyframes zer0-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.zer0-callout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--zer0-space-3);
  align-items: flex-start;
  margin-block: var(--zer0-space-3);
  padding: var(--zer0-space-3) var(--zer0-space-4);
  background: var(--zer0-color-bg-elevated);
  border-left: 0.25rem solid var(--zer0-callout-color, var(--zer0-color-primary));
  border-radius: 0.375rem;
  color: var(--zer0-color-ink);
}

.zer0-callout__icon {
  color: var(--zer0-callout-color, var(--zer0-color-primary));
  font-size: 1.25rem;
  line-height: 1;
  padding-top: 0.15rem;
}

.zer0-callout__body {
  min-width: 0;
}

.zer0-callout__title {
  font-weight: var(--zer0-font-weight-semibold);
  margin-bottom: 0.25rem;
  color: var(--zer0-callout-color, var(--zer0-color-primary));
}

.zer0-callout__content > :last-child {
  margin-bottom: 0;
}

.post-navigation .post-nav-card {
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
  background: var(--zer0-color-bg-elevated, var(--bs-tertiary-bg));
  border: 1px solid var(--zer0-color-border, var(--bs-border-color));
  border-radius: 0.625rem;
  box-shadow: var(--zer0-shadow-sm);
  transition: transform var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard), box-shadow var(--zer0-motion-duration-base, 200ms) var(--zer0-motion-ease-standard), border-color var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard);
}
.post-navigation .post-nav-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--zer0-shadow-md);
  border-color: rgba(var(--zer0-color-primary-rgb, var(--bs-primary-rgb)), 0.35);
}
.post-navigation .post-nav-card:focus-visible {
  outline: 2px solid var(--zer0-color-primary, var(--bs-primary));
  outline-offset: 2px;
  box-shadow: var(--zer0-shadow-focus), var(--zer0-shadow-md);
}
[data-bs-theme="dark"] .post-navigation .post-nav-card {
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.35);
  border-color: rgba(255, 255, 255, 0.1);
}
[data-bs-theme="dark"] .post-navigation .post-nav-card:hover {
  box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.45);
  border-color: rgba(var(--zer0-color-primary-rgb, var(--bs-primary-rgb)), 0.45);
}
.post-navigation .post-nav-card__body {
  min-width: 0;
  padding: var(--zer0-space-3) var(--zer0-space-4);
}
.post-navigation .post-nav-card--next .post-nav-card__body {
  text-align: right;
}
.post-navigation .post-nav-card__label {
  display: block;
  margin-bottom: var(--zer0-space-1);
  font-size: var(--zer0-text-sm);
  color: var(--zer0-color-ink-muted, var(--bs-secondary-color));
}
.post-navigation .post-nav-card__title {
  display: block;
  font-weight: var(--zer0-font-weight-semibold);
  color: var(--zer0-color-ink, var(--bs-body-color));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.post-navigation .post-nav-card--disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: default;
  box-shadow: none;
}
.post-navigation .post-nav-card--disabled:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--zer0-color-border, var(--bs-border-color));
}

@media (hover: none) and (pointer: coarse) {
  .post-navigation .post-nav-card:hover {
    transform: none;
  }
}
.bd-footer .footer-powered-by {
  padding-block: var(--zer0-space-2, 0.5rem) var(--zer0-space-3, 1rem);
}
@media (min-width: 992px) {
  .bd-footer .footer-powered-by {
    padding-block: var(--zer0-space-3, 1rem);
  }
}
.bd-footer .footer-powered-by-copyright {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
  margin-bottom: var(--zer0-space-2, 0.5rem);
}
.bd-footer .footer-powered-by-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--zer0-space-2, 0.5rem);
  text-align: center;
}
@media (min-width: 576px) {
  .bd-footer .footer-powered-by-row {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.bd-footer .footer-powered-by-label {
  flex-shrink: 0;
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
  white-space: nowrap;
}
.bd-footer .footer-powered-by-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--zer0-space-2, 0.5rem);
}
@media (min-width: 992px) {
  .bd-footer .footer-powered-by-links {
    gap: var(--zer0-space-3, 1rem);
  }
}
.bd-footer .footer-powered-by-trailing-inner {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--zer0-space-2, 0.5rem);
}
@media (min-width: 992px) {
  .bd-footer .footer-powered-by-trailing-inner {
    gap: var(--zer0-space-3, 1rem);
  }
}
.bd-footer .powered-by-link {
  display: inline-flex;
  align-items: center;
  gap: var(--zer0-space-1, 0.25rem);
  padding: var(--zer0-space-1, 0.25rem) var(--zer0-space-2, 0.5rem);
  position: relative;
  z-index: 1;
  cursor: pointer;
  text-decoration: none;
  border-radius: var(--bs-border-radius-sm, 0.25rem);
  white-space: nowrap;
}
.bd-footer .powered-by-link:hover, .bd-footer .powered-by-link:focus-visible {
  text-decoration: none;
}
.bd-footer .powered-by-link-text {
  display: none;
}
@media (min-width: 992px) {
  .bd-footer .powered-by-link-text {
    display: inline;
  }
}
.bd-footer .footer-dark-block {
  padding-block: var(--zer0-space-3, 1rem);
}
@media (min-width: 768px) {
  .bd-footer .footer-dark-block {
    padding-block: var(--zer0-space-4, 1.5rem);
  }
}
@media (min-width: 992px) {
  .bd-footer .footer-dark-block {
    padding-block: var(--zer0-space-5, 3rem);
  }
}
.bd-footer .footer-section-title {
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  margin-bottom: var(--zer0-space-2, 0.5rem);
}
@media (min-width: 992px) {
  .bd-footer .footer-section-title {
    font-size: 1.25rem;
    margin-bottom: var(--zer0-space-3, 1rem);
  }
}
.bd-footer .footer-nav-columns ul.list-unstyled > li + li {
  margin-top: 0.125rem;
}
@media (min-width: 992px) {
  .bd-footer .footer-nav-columns ul.list-unstyled > li + li {
    margin-top: 0.25rem;
  }
}
.bd-footer .footer-nav-columns .list-inline-item {
  margin-right: 0.5rem;
}
.bd-footer .footer-post-link {
  max-width: 100%;
}
@media (max-width: 767.98px) {
  .bd-footer .footer-latest-posts li:nth-child(n + 3) {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .bd-footer .footer-subscribe-form .form-control,
  .bd-footer .footer-subscribe-form .btn {
    min-height: calc(1.5em + 0.5rem + 2px);
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.875rem;
  }
}
@media (max-width: 767.98px) {
  .bd-footer .footer-policy-links {
    font-size: 0.8125rem;
    margin-top: var(--zer0-space-2, 0.5rem);
  }
}

.theme-preview-gallery .theme-preview-section {
  margin-bottom: var(--zer0-space-5, 3rem);
  scroll-margin-top: 5.5rem;
}
.theme-preview-gallery .theme-preview-heading {
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--zer0-color-border, var(--bs-border-color));
  color: var(--bs-body-color);
}

.theme-preview-toc .nav-link {
  padding: 0.35rem 0.75rem;
  color: var(--bs-body-color);
}
.theme-preview-toc .nav-link:hover {
  color: var(--bs-link-color);
}

.theme-preview-navbar {
  background-color: var(--bs-body-bg);
}

.theme-preview-footer {
  background-color: var(--zer0-color-bg-muted, var(--bs-secondary-bg));
}

[data-appearance-panel-host] .zer0-appearance-panel {
  border: 0 !important;
  padding: 0 !important;
  margin-top: 0 !important;
}

.content-table-wrapper {
  margin-bottom: var(--zer0-space-4);
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  overflow: visible;
  background-color: var(--zer0-color-bg);
}
.content-table-wrapper > .content-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--zer0-space-2);
  padding: var(--zer0-space-1) var(--zer0-space-2);
  background-color: color-mix(in srgb, var(--zer0-color-bg-elevated) 88%, var(--zer0-color-primary) 6%);
  border-bottom: 1px solid var(--zer0-color-border);
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.content-table-wrapper > table,
.content-table-wrapper > .table-responsive > table {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}
.content-table-wrapper > table thead tr:first-child th:first-child,
.content-table-wrapper > table thead tr:first-child th:last-child,
.content-table-wrapper > .table-responsive > table thead tr:first-child th:first-child,
.content-table-wrapper > .table-responsive > table thead tr:first-child th:last-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.content-table-wrapper > .table-responsive {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}
.content-table-wrapper .table-copy-csv {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem var(--zer0-space-2);
  font-size: 0.6875rem;
  font-weight: var(--zer0-font-weight-medium);
  line-height: 1.2;
  color: var(--zer0-color-ink);
  background: color-mix(in srgb, var(--zer0-color-bg) 72%, var(--zer0-color-primary) 8%);
  border: 1px solid var(--zer0-color-border);
  border-radius: calc(var(--bs-border-radius) * 0.75);
  cursor: pointer;
  transition: background-color var(--zer0-motion-duration-fast, 0.15s) ease, border-color var(--zer0-motion-duration-fast, 0.15s) ease, color var(--zer0-motion-duration-fast, 0.15s) ease;
}
.content-table-wrapper .table-copy-csv:hover, .content-table-wrapper .table-copy-csv:focus-visible {
  background: color-mix(in srgb, var(--zer0-color-bg) 58%, var(--zer0-color-primary) 14%);
  border-color: var(--zer0-table-header-border);
  color: var(--zer0-color-ink);
}
.content-table-wrapper .table-copy-csv:focus-visible {
  outline: none;
  box-shadow: var(--zer0-shadow-focus);
}
.content-table-wrapper .table-copy-csv.copied {
  color: var(--bs-light);
  background-color: var(--zer0-color-success);
  border-color: transparent;
}

.bd-content table:not(#sitemapTable) {
  --zer0-table-stripe: color-mix(in srgb, var(--zer0-color-bg-elevated) 72%, transparent);
  --zer0-table-hover: color-mix(in srgb, var(--zer0-color-primary) 8%, var(--zer0-color-bg));
  --zer0-table-header-bg: color-mix(
    in srgb,
    var(--zer0-color-bg-elevated) 52%,
    var(--zer0-color-primary) 14%
  );
  --zer0-table-header-border: color-mix(
    in srgb,
    var(--zer0-color-primary) 42%,
    var(--zer0-color-border)
  );
  width: 100%;
  max-width: 100%;
  margin-bottom: var(--zer0-space-4);
  font-size: var(--zer0-text-sm);
  line-height: var(--zer0-leading-normal, 1.5);
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  overflow: visible;
  background-color: var(--zer0-color-bg);
}
.bd-content table:not(#sitemapTable) thead tr:first-child th:first-child {
  border-top-left-radius: 0.5rem;
}
.bd-content table:not(#sitemapTable) thead tr:first-child th:last-child {
  border-top-right-radius: 0.5rem;
}
.bd-content table:not(#sitemapTable) tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.5rem;
}
.bd-content table:not(#sitemapTable) tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.5rem;
}
.bd-content table:not(#sitemapTable) caption {
  caption-side: bottom;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  color: var(--zer0-color-ink-muted);
  font-size: var(--zer0-text-sm);
  text-align: left;
}
.bd-content table:not(#sitemapTable) thead {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--zer0-table-header-bg);
  border-bottom: 2px solid var(--zer0-table-header-border);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--zer0-color-ink) 6%, transparent);
}
.bd-content table:not(#sitemapTable) th {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  background-color: var(--zer0-table-header-bg);
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
  text-align: left;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 var(--zer0-table-header-border);
}
.bd-content table:not(#sitemapTable) td {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  color: var(--zer0-color-ink);
}
.bd-content table:not(#sitemapTable) tbody tr:nth-child(even) {
  background-color: var(--zer0-table-stripe);
}
.bd-content table:not(#sitemapTable) tbody tr:last-child td,
.bd-content table:not(#sitemapTable) tbody tr:last-child th {
  border-bottom: 0;
}
.bd-content table:not(#sitemapTable) tbody tr {
  transition: background-color var(--zer0-motion-duration-fast, 0.15s) ease;
}
.bd-content table:not(#sitemapTable) tbody tr:hover {
  background-color: var(--zer0-table-hover);
}
.bd-content table:not(#sitemapTable) strong,
.bd-content table:not(#sitemapTable) b {
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
}
.bd-content table:not(#sitemapTable) a {
  color: var(--zer0-color-link);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.bd-content table:not(#sitemapTable) a:hover, .bd-content table:not(#sitemapTable) a:focus-visible {
  color: var(--zer0-color-link-hover);
}
.bd-content table:not(#sitemapTable) code:not(pre code) {
  background: var(--zer0-color-bg-muted);
  color: var(--zer0-color-code-ink);
  padding: 0.15em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.875em;
  white-space: nowrap;
}
.bd-content table:not(#sitemapTable).table > :not(caption) > * > * {
  border-bottom-color: var(--zer0-color-border);
}
.bd-content .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  margin-bottom: var(--zer0-space-4);
}
.bd-content .table-responsive > table:not(#sitemapTable) {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .bd-content > table:not(#sitemapTable) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .bd-content > table:not(#sitemapTable) > thead,
  .bd-content > table:not(#sitemapTable) > tbody,
  .bd-content > table:not(#sitemapTable) > tfoot {
    display: table;
    width: 100%;
    min-width: 36rem;
  }
}

.landing-content-body table:not(#sitemapTable) {
  --zer0-table-stripe: color-mix(in srgb, var(--zer0-color-bg-elevated) 72%, transparent);
  --zer0-table-hover: color-mix(in srgb, var(--zer0-color-primary) 8%, var(--zer0-color-bg));
  --zer0-table-header-bg: color-mix(
    in srgb,
    var(--zer0-color-bg-elevated) 52%,
    var(--zer0-color-primary) 14%
  );
  --zer0-table-header-border: color-mix(
    in srgb,
    var(--zer0-color-primary) 42%,
    var(--zer0-color-border)
  );
  width: 100%;
  max-width: 100%;
  margin-bottom: var(--zer0-space-4);
  font-size: var(--zer0-text-sm);
  line-height: var(--zer0-leading-normal, 1.5);
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  overflow: visible;
  background-color: var(--zer0-color-bg);
}
.landing-content-body table:not(#sitemapTable) thead tr:first-child th:first-child {
  border-top-left-radius: 0.5rem;
}
.landing-content-body table:not(#sitemapTable) thead tr:first-child th:last-child {
  border-top-right-radius: 0.5rem;
}
.landing-content-body table:not(#sitemapTable) tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.5rem;
}
.landing-content-body table:not(#sitemapTable) tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.5rem;
}
.landing-content-body table:not(#sitemapTable) caption {
  caption-side: bottom;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  color: var(--zer0-color-ink-muted);
  font-size: var(--zer0-text-sm);
  text-align: left;
}
.landing-content-body table:not(#sitemapTable) thead {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--zer0-table-header-bg);
  border-bottom: 2px solid var(--zer0-table-header-border);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--zer0-color-ink) 6%, transparent);
}
.landing-content-body table:not(#sitemapTable) th {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  background-color: var(--zer0-table-header-bg);
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
  text-align: left;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 var(--zer0-table-header-border);
}
.landing-content-body table:not(#sitemapTable) td {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  color: var(--zer0-color-ink);
}
.landing-content-body table:not(#sitemapTable) tbody tr:nth-child(even) {
  background-color: var(--zer0-table-stripe);
}
.landing-content-body table:not(#sitemapTable) tbody tr:last-child td,
.landing-content-body table:not(#sitemapTable) tbody tr:last-child th {
  border-bottom: 0;
}
.landing-content-body table:not(#sitemapTable) tbody tr {
  transition: background-color var(--zer0-motion-duration-fast, 0.15s) ease;
}
.landing-content-body table:not(#sitemapTable) tbody tr:hover {
  background-color: var(--zer0-table-hover);
}
.landing-content-body table:not(#sitemapTable) strong,
.landing-content-body table:not(#sitemapTable) b {
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
}
.landing-content-body table:not(#sitemapTable) a {
  color: var(--zer0-color-link);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.landing-content-body table:not(#sitemapTable) a:hover, .landing-content-body table:not(#sitemapTable) a:focus-visible {
  color: var(--zer0-color-link-hover);
}
.landing-content-body table:not(#sitemapTable) code:not(pre code) {
  background: var(--zer0-color-bg-muted);
  color: var(--zer0-color-code-ink);
  padding: 0.15em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.875em;
  white-space: nowrap;
}
.landing-content-body table:not(#sitemapTable).table > :not(caption) > * > * {
  border-bottom-color: var(--zer0-color-border);
}
.landing-content-body .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  margin-bottom: var(--zer0-space-4);
}
.landing-content-body .table-responsive > table:not(#sitemapTable) {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .landing-content-body > table:not(#sitemapTable) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .landing-content-body > table:not(#sitemapTable) > thead,
  .landing-content-body > table:not(#sitemapTable) > tbody,
  .landing-content-body > table:not(#sitemapTable) > tfoot {
    display: table;
    width: 100%;
    min-width: 36rem;
  }
}

.post-content table:not(#sitemapTable) {
  --zer0-table-stripe: color-mix(in srgb, var(--zer0-color-bg-elevated) 72%, transparent);
  --zer0-table-hover: color-mix(in srgb, var(--zer0-color-primary) 8%, var(--zer0-color-bg));
  --zer0-table-header-bg: color-mix(
    in srgb,
    var(--zer0-color-bg-elevated) 52%,
    var(--zer0-color-primary) 14%
  );
  --zer0-table-header-border: color-mix(
    in srgb,
    var(--zer0-color-primary) 42%,
    var(--zer0-color-border)
  );
  width: 100%;
  max-width: 100%;
  margin-bottom: var(--zer0-space-4);
  font-size: var(--zer0-text-sm);
  line-height: var(--zer0-leading-normal, 1.5);
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  overflow: visible;
  background-color: var(--zer0-color-bg);
}
.post-content table:not(#sitemapTable) thead tr:first-child th:first-child {
  border-top-left-radius: 0.5rem;
}
.post-content table:not(#sitemapTable) thead tr:first-child th:last-child {
  border-top-right-radius: 0.5rem;
}
.post-content table:not(#sitemapTable) tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.5rem;
}
.post-content table:not(#sitemapTable) tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.5rem;
}
.post-content table:not(#sitemapTable) caption {
  caption-side: bottom;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  color: var(--zer0-color-ink-muted);
  font-size: var(--zer0-text-sm);
  text-align: left;
}
.post-content table:not(#sitemapTable) thead {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--zer0-table-header-bg);
  border-bottom: 2px solid var(--zer0-table-header-border);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--zer0-color-ink) 6%, transparent);
}
.post-content table:not(#sitemapTable) th {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  background-color: var(--zer0-table-header-bg);
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
  text-align: left;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 var(--zer0-table-header-border);
}
.post-content table:not(#sitemapTable) td {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  color: var(--zer0-color-ink);
}
.post-content table:not(#sitemapTable) tbody tr:nth-child(even) {
  background-color: var(--zer0-table-stripe);
}
.post-content table:not(#sitemapTable) tbody tr:last-child td,
.post-content table:not(#sitemapTable) tbody tr:last-child th {
  border-bottom: 0;
}
.post-content table:not(#sitemapTable) tbody tr {
  transition: background-color var(--zer0-motion-duration-fast, 0.15s) ease;
}
.post-content table:not(#sitemapTable) tbody tr:hover {
  background-color: var(--zer0-table-hover);
}
.post-content table:not(#sitemapTable) strong,
.post-content table:not(#sitemapTable) b {
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
}
.post-content table:not(#sitemapTable) a {
  color: var(--zer0-color-link);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.post-content table:not(#sitemapTable) a:hover, .post-content table:not(#sitemapTable) a:focus-visible {
  color: var(--zer0-color-link-hover);
}
.post-content table:not(#sitemapTable) code:not(pre code) {
  background: var(--zer0-color-bg-muted);
  color: var(--zer0-color-code-ink);
  padding: 0.15em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.875em;
  white-space: nowrap;
}
.post-content table:not(#sitemapTable).table > :not(caption) > * > * {
  border-bottom-color: var(--zer0-color-border);
}
.post-content .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  margin-bottom: var(--zer0-space-4);
}
.post-content .table-responsive > table:not(#sitemapTable) {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .post-content > table:not(#sitemapTable) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .post-content > table:not(#sitemapTable) > thead,
  .post-content > table:not(#sitemapTable) > tbody,
  .post-content > table:not(#sitemapTable) > tfoot {
    display: table;
    width: 100%;
    min-width: 36rem;
  }
}

.note-content table:not(#sitemapTable) {
  --zer0-table-stripe: color-mix(in srgb, var(--zer0-color-bg-elevated) 72%, transparent);
  --zer0-table-hover: color-mix(in srgb, var(--zer0-color-primary) 8%, var(--zer0-color-bg));
  --zer0-table-header-bg: color-mix(
    in srgb,
    var(--zer0-color-bg-elevated) 52%,
    var(--zer0-color-primary) 14%
  );
  --zer0-table-header-border: color-mix(
    in srgb,
    var(--zer0-color-primary) 42%,
    var(--zer0-color-border)
  );
  width: 100%;
  max-width: 100%;
  margin-bottom: var(--zer0-space-4);
  font-size: var(--zer0-text-sm);
  line-height: var(--zer0-leading-normal, 1.5);
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  overflow: visible;
  background-color: var(--zer0-color-bg);
}
.note-content table:not(#sitemapTable) thead tr:first-child th:first-child {
  border-top-left-radius: 0.5rem;
}
.note-content table:not(#sitemapTable) thead tr:first-child th:last-child {
  border-top-right-radius: 0.5rem;
}
.note-content table:not(#sitemapTable) tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.5rem;
}
.note-content table:not(#sitemapTable) tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.5rem;
}
.note-content table:not(#sitemapTable) caption {
  caption-side: bottom;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  color: var(--zer0-color-ink-muted);
  font-size: var(--zer0-text-sm);
  text-align: left;
}
.note-content table:not(#sitemapTable) thead {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--zer0-table-header-bg);
  border-bottom: 2px solid var(--zer0-table-header-border);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--zer0-color-ink) 6%, transparent);
}
.note-content table:not(#sitemapTable) th {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  background-color: var(--zer0-table-header-bg);
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
  text-align: left;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 var(--zer0-table-header-border);
}
.note-content table:not(#sitemapTable) td {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  color: var(--zer0-color-ink);
}
.note-content table:not(#sitemapTable) tbody tr:nth-child(even) {
  background-color: var(--zer0-table-stripe);
}
.note-content table:not(#sitemapTable) tbody tr:last-child td,
.note-content table:not(#sitemapTable) tbody tr:last-child th {
  border-bottom: 0;
}
.note-content table:not(#sitemapTable) tbody tr {
  transition: background-color var(--zer0-motion-duration-fast, 0.15s) ease;
}
.note-content table:not(#sitemapTable) tbody tr:hover {
  background-color: var(--zer0-table-hover);
}
.note-content table:not(#sitemapTable) strong,
.note-content table:not(#sitemapTable) b {
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
}
.note-content table:not(#sitemapTable) a {
  color: var(--zer0-color-link);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.note-content table:not(#sitemapTable) a:hover, .note-content table:not(#sitemapTable) a:focus-visible {
  color: var(--zer0-color-link-hover);
}
.note-content table:not(#sitemapTable) code:not(pre code) {
  background: var(--zer0-color-bg-muted);
  color: var(--zer0-color-code-ink);
  padding: 0.15em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.875em;
  white-space: nowrap;
}
.note-content table:not(#sitemapTable).table > :not(caption) > * > * {
  border-bottom-color: var(--zer0-color-border);
}
.note-content .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  margin-bottom: var(--zer0-space-4);
}
.note-content .table-responsive > table:not(#sitemapTable) {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .note-content > table:not(#sitemapTable) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .note-content > table:not(#sitemapTable) > thead,
  .note-content > table:not(#sitemapTable) > tbody,
  .note-content > table:not(#sitemapTable) > tfoot {
    display: table;
    width: 100%;
    min-width: 36rem;
  }
}

.notebook-content table:not(#sitemapTable) {
  --zer0-table-stripe: color-mix(in srgb, var(--zer0-color-bg-elevated) 72%, transparent);
  --zer0-table-hover: color-mix(in srgb, var(--zer0-color-primary) 8%, var(--zer0-color-bg));
  --zer0-table-header-bg: color-mix(
    in srgb,
    var(--zer0-color-bg-elevated) 52%,
    var(--zer0-color-primary) 14%
  );
  --zer0-table-header-border: color-mix(
    in srgb,
    var(--zer0-color-primary) 42%,
    var(--zer0-color-border)
  );
  width: 100%;
  max-width: 100%;
  margin-bottom: var(--zer0-space-4);
  font-size: var(--zer0-text-sm);
  line-height: var(--zer0-leading-normal, 1.5);
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  overflow: visible;
  background-color: var(--zer0-color-bg);
}
.notebook-content table:not(#sitemapTable) thead tr:first-child th:first-child {
  border-top-left-radius: 0.5rem;
}
.notebook-content table:not(#sitemapTable) thead tr:first-child th:last-child {
  border-top-right-radius: 0.5rem;
}
.notebook-content table:not(#sitemapTable) tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.5rem;
}
.notebook-content table:not(#sitemapTable) tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.5rem;
}
.notebook-content table:not(#sitemapTable) caption {
  caption-side: bottom;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  color: var(--zer0-color-ink-muted);
  font-size: var(--zer0-text-sm);
  text-align: left;
}
.notebook-content table:not(#sitemapTable) thead {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--zer0-table-header-bg);
  border-bottom: 2px solid var(--zer0-table-header-border);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--zer0-color-ink) 6%, transparent);
}
.notebook-content table:not(#sitemapTable) th {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  background-color: var(--zer0-table-header-bg);
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
  text-align: left;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 var(--zer0-table-header-border);
}
.notebook-content table:not(#sitemapTable) td {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  color: var(--zer0-color-ink);
}
.notebook-content table:not(#sitemapTable) tbody tr:nth-child(even) {
  background-color: var(--zer0-table-stripe);
}
.notebook-content table:not(#sitemapTable) tbody tr:last-child td,
.notebook-content table:not(#sitemapTable) tbody tr:last-child th {
  border-bottom: 0;
}
.notebook-content table:not(#sitemapTable) tbody tr {
  transition: background-color var(--zer0-motion-duration-fast, 0.15s) ease;
}
.notebook-content table:not(#sitemapTable) tbody tr:hover {
  background-color: var(--zer0-table-hover);
}
.notebook-content table:not(#sitemapTable) strong,
.notebook-content table:not(#sitemapTable) b {
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
}
.notebook-content table:not(#sitemapTable) a {
  color: var(--zer0-color-link);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.notebook-content table:not(#sitemapTable) a:hover, .notebook-content table:not(#sitemapTable) a:focus-visible {
  color: var(--zer0-color-link-hover);
}
.notebook-content table:not(#sitemapTable) code:not(pre code) {
  background: var(--zer0-color-bg-muted);
  color: var(--zer0-color-code-ink);
  padding: 0.15em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.875em;
  white-space: nowrap;
}
.notebook-content table:not(#sitemapTable).table > :not(caption) > * > * {
  border-bottom-color: var(--zer0-color-border);
}
.notebook-content .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  margin-bottom: var(--zer0-space-4);
}
.notebook-content .table-responsive > table:not(#sitemapTable) {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .notebook-content > table:not(#sitemapTable) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .notebook-content > table:not(#sitemapTable) > thead,
  .notebook-content > table:not(#sitemapTable) > tbody,
  .notebook-content > table:not(#sitemapTable) > tfoot {
    display: table;
    width: 100%;
    min-width: 36rem;
  }
}

.page-content table:not(#sitemapTable) {
  --zer0-table-stripe: color-mix(in srgb, var(--zer0-color-bg-elevated) 72%, transparent);
  --zer0-table-hover: color-mix(in srgb, var(--zer0-color-primary) 8%, var(--zer0-color-bg));
  --zer0-table-header-bg: color-mix(
    in srgb,
    var(--zer0-color-bg-elevated) 52%,
    var(--zer0-color-primary) 14%
  );
  --zer0-table-header-border: color-mix(
    in srgb,
    var(--zer0-color-primary) 42%,
    var(--zer0-color-border)
  );
  width: 100%;
  max-width: 100%;
  margin-bottom: var(--zer0-space-4);
  font-size: var(--zer0-text-sm);
  line-height: var(--zer0-leading-normal, 1.5);
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  overflow: visible;
  background-color: var(--zer0-color-bg);
}
.page-content table:not(#sitemapTable) thead tr:first-child th:first-child {
  border-top-left-radius: 0.5rem;
}
.page-content table:not(#sitemapTable) thead tr:first-child th:last-child {
  border-top-right-radius: 0.5rem;
}
.page-content table:not(#sitemapTable) tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.5rem;
}
.page-content table:not(#sitemapTable) tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.5rem;
}
.page-content table:not(#sitemapTable) caption {
  caption-side: bottom;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  color: var(--zer0-color-ink-muted);
  font-size: var(--zer0-text-sm);
  text-align: left;
}
.page-content table:not(#sitemapTable) thead {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--zer0-table-header-bg);
  border-bottom: 2px solid var(--zer0-table-header-border);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--zer0-color-ink) 6%, transparent);
}
.page-content table:not(#sitemapTable) th {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  background-color: var(--zer0-table-header-bg);
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
  text-align: left;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 var(--zer0-table-header-border);
}
.page-content table:not(#sitemapTable) td {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border: 0;
  border-bottom: 1px solid var(--zer0-color-border);
  vertical-align: top;
  color: var(--zer0-color-ink);
}
.page-content table:not(#sitemapTable) tbody tr:nth-child(even) {
  background-color: var(--zer0-table-stripe);
}
.page-content table:not(#sitemapTable) tbody tr:last-child td,
.page-content table:not(#sitemapTable) tbody tr:last-child th {
  border-bottom: 0;
}
.page-content table:not(#sitemapTable) tbody tr {
  transition: background-color var(--zer0-motion-duration-fast, 0.15s) ease;
}
.page-content table:not(#sitemapTable) tbody tr:hover {
  background-color: var(--zer0-table-hover);
}
.page-content table:not(#sitemapTable) strong,
.page-content table:not(#sitemapTable) b {
  color: var(--zer0-color-ink);
  font-weight: var(--zer0-font-weight-semibold);
}
.page-content table:not(#sitemapTable) a {
  color: var(--zer0-color-link);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.page-content table:not(#sitemapTable) a:hover, .page-content table:not(#sitemapTable) a:focus-visible {
  color: var(--zer0-color-link-hover);
}
.page-content table:not(#sitemapTable) code:not(pre code) {
  background: var(--zer0-color-bg-muted);
  color: var(--zer0-color-code-ink);
  padding: 0.15em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.875em;
  white-space: nowrap;
}
.page-content table:not(#sitemapTable).table > :not(caption) > * > * {
  border-bottom-color: var(--zer0-color-border);
}
.page-content .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.5rem;
  margin-bottom: var(--zer0-space-4);
}
.page-content .table-responsive > table:not(#sitemapTable) {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .page-content > table:not(#sitemapTable) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .page-content > table:not(#sitemapTable) > thead,
  .page-content > table:not(#sitemapTable) > tbody,
  .page-content > table:not(#sitemapTable) > tfoot {
    display: table;
    width: 100%;
    min-width: 36rem;
  }
}

.landing-section {
  padding-block: var(--zer0-space-section);
}

.zer0-section [class*="container-"] {
  padding-block: var(--zer0-space-section);
}
.zer0-section--spacing-tight [class*="container-"] {
  padding-block: calc(var(--zer0-space-section) * 0.5);
}
.zer0-section--spacing-loose [class*="container-"] {
  padding-block: calc(var(--zer0-space-section) * 1.5);
}

.landing-quick-links {
  background: var(--zer0-color-bg-elevated);
  border-block: 1px solid var(--zer0-color-border);
}
.landing-quick-links .btn {
  transition: transform var(--zer0-motion-duration-fast) var(--zer0-motion-ease-standard), background-color var(--zer0-motion-duration-fast) var(--zer0-motion-ease-standard);
}
.landing-quick-links .btn:hover {
  transform: translateY(-1px);
}

.landing-feature-card {
  height: 100%;
  border: 1px solid var(--zer0-color-border);
  border-radius: 0.75rem;
  background: var(--zer0-color-bg);
  transition: transform var(--zer0-motion-duration-base) var(--zer0-motion-ease-standard), box-shadow var(--zer0-motion-duration-base) var(--zer0-motion-ease-standard);
}
.landing-feature-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--zer0-shadow-md);
}
.landing-feature-card .landing-feature-icon {
  width: 3.5rem;
  height: 3.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(var(--zer0-color-primary-rgb), 0.12);
  color: var(--zer0-color-primary);
  margin-bottom: var(--zer0-space-3);
  font-size: 1.5rem;
}

.landing-hero .landing-hero-img {
  opacity: 0;
  transition: opacity 0.45s var(--zer0-motion-ease-standard);
}
.landing-hero .landing-hero-img.is-loaded {
  opacity: 1;
}

.landing-content-body > h1:first-of-type {
  display: none;
}

.section-layout {
  --bs-gutter-x: var(--zer0-space-4, 1.5rem);
}
.section-layout > [class*="col-lg-3"],
.section-layout > [class*="col-xl-2"] {
  min-width: 0;
}
.section-layout > .section-layout-main {
  min-width: 0;
  overflow-x: clip;
}

.section-sidebar-desktop {
  max-width: 100%;
  min-width: 0;
}

.section-sidebar-desktop .card {
  max-width: 100%;
}

.sidebar-nav .nav-link {
  min-width: 0;
}

@media (min-width: 992px) {
  .section-layout-sidebar {
    padding-inline-end: var(--zer0-space-2, 0.5rem);
  }

  .section-layout-main {
    padding-inline-start: var(--zer0-space-2, 0.5rem);
  }
}
.bd-toc-fab {
  right: var(--zer0-space-fab-offset, 1rem);
  z-index: var(--zer0-layer-fab-toc);
}
@media (max-width: 991.98px) {
  .bd-toc-fab {
    bottom: calc( var(--zer0-space-fab-offset, 1rem) + var(--zer0-space-fab-size, 3.5rem) + var(--zer0-space-fab-gap, 0.75rem) );
  }
}
.bd-toc-fab.bd-toc-fab--restore, html.bd-toc-pref-hidden .bd-toc-fab {
  display: block !important;
}
@media (min-width: 992px) {
  .bd-toc-fab.bd-toc-fab--restore, html.bd-toc-pref-hidden .bd-toc-fab {
    display: none !important;
  }
}
.bd-toc-fab .btn.bd-toc-toggle {
  --bs-btn-padding-x: 0;
  --bs-btn-padding-y: 0;
  width: var(--zer0-space-fab-size, 3.5rem);
  height: var(--zer0-space-fab-size, 3.5rem);
  padding: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--zer0-motion-duration-fast) var(--zer0-motion-ease-standard);
}
.bd-toc-fab .btn.bd-toc-toggle > .bi {
  line-height: 1;
  display: block;
}
.bd-toc-fab .btn.bd-toc-toggle:hover, .bd-toc-fab .btn.bd-toc-toggle:focus-visible {
  transform: translateY(-1px);
}
.bd-toc-fab .btn.bd-toc-toggle:active {
  transform: translateY(0);
}

.bd-sidebar-fab {
  left: var(--zer0-space-fab-offset, 1rem);
  z-index: var(--zer0-layer-fab-toc);
}
@media (max-width: 991.98px) {
  .bd-sidebar-fab {
    bottom: calc( var(--zer0-space-fab-offset, 1rem) + var(--zer0-space-fab-size, 3.5rem) + var(--zer0-space-fab-gap, 0.75rem) );
  }
}
.bd-sidebar-fab.bd-sidebar-fab--restore, html.bd-sidebar-pref-hidden .bd-sidebar-fab.bd-sidebar-fab {
  display: block !important;
  bottom: var(--zer0-space-fab-offset, 1rem);
}
@media (min-width: 992px) {
  .bd-sidebar-fab.bd-sidebar-fab--restore, html.bd-sidebar-pref-hidden .bd-sidebar-fab.bd-sidebar-fab {
    display: none !important;
  }
}
.bd-sidebar-fab .btn.bd-sidebar-toggle {
  --bs-btn-padding-x: 0;
  --bs-btn-padding-y: 0;
  width: var(--zer0-space-fab-size, 3.5rem);
  height: var(--zer0-space-fab-size, 3.5rem);
  padding: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--zer0-motion-duration-fast) var(--zer0-motion-ease-standard);
}
.bd-sidebar-fab .btn.bd-sidebar-toggle > .bi {
  line-height: 1;
  display: block;
}
.bd-sidebar-fab .btn.bd-sidebar-toggle:hover, .bd-sidebar-fab .btn.bd-sidebar-toggle:focus-visible {
  transform: translateY(-1px);
}
.bd-sidebar-fab .btn.bd-sidebar-toggle:active {
  transform: translateY(0);
}

.navbar-mobile-quicklinks {
  min-width: 0;
  overflow: hidden;
}
.navbar-mobile-quicklinks__list {
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.navbar-mobile-quicklinks__list::-webkit-scrollbar {
  display: none;
}
.navbar-mobile-quicklinks__chip {
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-padding-y: 0.25rem;
  font-size: 0.75rem;
  line-height: 1.2;
  white-space: nowrap;
  border-color: var(--bs-border-color-translucent);
}
.navbar-mobile-quicklinks__chip:hover, .navbar-mobile-quicklinks__chip:focus-visible {
  border-color: var(--bs-primary);
  color: var(--bs-primary);
}
.navbar-mobile-quicklinks__chip[aria-current="page"] {
  font-weight: 600;
  color: var(--bs-primary);
  border-color: var(--bs-primary);
  background-color: var(--bs-primary-bg-subtle);
}
.navbar-mobile-quicklinks__label {
  max-width: 5.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.notebook-article {
  line-height: 1.6;
}
.notebook-article .notebook-header {
  border-bottom: 2px solid var(--bs-border-color);
  padding-bottom: 1.5rem;
}
.notebook-article .notebook-title {
  color: var(--bs-heading-color);
  font-weight: 700;
  margin-bottom: 1rem;
}
.notebook-article .notebook-meta {
  font-size: 0.9rem;
}
.notebook-article .notebook-meta .bi {
  font-size: 1rem;
  vertical-align: text-bottom;
}
.notebook-article .notebook-description {
  color: var(--bs-secondary-color);
  font-size: 1.1rem;
  border-left: 4px solid var(--bs-primary);
  padding-left: 1rem;
  margin: 1.5rem 0;
}

.notebook-content {
  margin-top: 2rem;
}
.notebook-content h1, .notebook-content h2, .notebook-content h3, .notebook-content h4, .notebook-content h5, .notebook-content h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-weight: 600;
}
.notebook-content h1 {
  font-size: 2rem;
}
.notebook-content h2 {
  font-size: 1.75rem;
}
.notebook-content h3 {
  font-size: 1.5rem;
}
.notebook-content h4 {
  font-size: 1.25rem;
}
.notebook-content h5 {
  font-size: 1.1rem;
}
.notebook-content h6 {
  font-size: 1rem;
}
.notebook-content p {
  margin-bottom: 1rem;
  line-height: 1.7;
}
.notebook-content ul, .notebook-content ol {
  margin-bottom: 1rem;
  padding-left: 2rem;
}
.notebook-content ul li, .notebook-content ol li {
  margin-bottom: 0.5rem;
}
.notebook-content blockquote {
  border-left: 4px solid var(--bs-secondary);
  padding-left: 1rem;
  margin: 1.5rem 0;
  font-style: italic;
  color: var(--bs-secondary-color);
}
.notebook-content a {
  color: var(--bs-link-color);
  text-decoration: underline;
}
.notebook-content a:hover {
  color: var(--bs-link-hover-color);
}
.notebook-content img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  border-radius: 0.375rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.notebook-content table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.notebook-content table thead {
  background-color: var(--bs-secondary-bg);
  border-bottom: 2px solid var(--bs-border-color);
}
.notebook-content table thead th {
  padding: 0.75rem;
  text-align: left;
  font-weight: 600;
}
.notebook-content table tbody tr {
  border-bottom: 1px solid var(--bs-border-color);
}
.notebook-content table tbody tr:hover {
  background-color: var(--bs-tertiary-bg);
}
.notebook-content table tbody td {
  padding: 0.75rem;
}
.notebook-content hr {
  margin: 2rem 0;
  opacity: 0.3;
}

.notebook-content code {
  background-color: var(--bs-secondary-bg);
  color: var(--bs-code-color);
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
  font-size: 0.875em;
  font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
}
.notebook-content pre {
  background-color: var(--bs-secondary-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.375rem;
  padding: 1rem;
  overflow-x: auto;
  margin: 1.5rem 0;
}
.notebook-content pre code {
  background-color: transparent;
  color: inherit;
  padding: 0;
  border-radius: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}
.notebook-content .highlight {
  position: relative;
  background-color: var(--bs-secondary-bg);
  border-radius: 0.375rem;
  margin: 1.5rem 0;
}
.notebook-content .highlight pre {
  margin: 0;
  border: none;
  background-color: transparent;
  border-radius: 0;
}
.notebook-content .input-prompt {
  color: var(--bs-primary);
  font-weight: 600;
  user-select: none;
  padding-right: 0.5rem;
}
.notebook-content .input-prompt::before {
  content: 'In [';
}
.notebook-content .input-prompt::after {
  content: ']:';
}
.notebook-content .output-prompt {
  color: var(--bs-danger);
  font-weight: 600;
  user-select: none;
  padding-right: 0.5rem;
}
.notebook-content .output-prompt::before {
  content: 'Out[';
}
.notebook-content .output-prompt::after {
  content: ']:';
}

.jp-OutputArea,
.output-area,
.cell-output {
  margin: 1rem 0;
  padding: 1rem;
  background-color: var(--bs-light-bg-subtle);
  border-left: 4px solid var(--bs-success);
  border-radius: 0.375rem;
}
.jp-OutputArea pre,
.output-area pre,
.cell-output pre {
  background-color: transparent;
  border: none;
  padding: 0;
  margin: 0;
  color: var(--bs-body-color);
}
.jp-OutputArea img,
.output-area img,
.cell-output img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.jp-OutputArea table,
.output-area table,
.cell-output table {
  margin: 0;
  font-size: 0.85rem;
}
.jp-OutputArea.error,
.output-area.error,
.cell-output.error {
  border-left-color: var(--bs-danger);
  background-color: var(--bs-danger-bg-subtle);
  color: var(--bs-danger-text);
}
.jp-OutputArea.error pre,
.output-area.error pre,
.cell-output.error pre {
  color: var(--bs-danger-text);
}

.jp-Cell,
.cell {
  margin: 2rem 0;
}
.jp-Cell.jp-CodeCell .jp-InputArea,
.jp-Cell.jp-CodeCell .input-area, .jp-Cell.code-cell .jp-InputArea,
.jp-Cell.code-cell .input-area,
.cell.jp-CodeCell .jp-InputArea,
.cell.jp-CodeCell .input-area,
.cell.code-cell .jp-InputArea,
.cell.code-cell .input-area {
  position: relative;
}

.MathJax,
.MathJax_Display {
  font-size: 1.1em !important;
}
.MathJax.MathJax_Inline,
.MathJax_Display.MathJax_Inline {
  margin: 0 0.2em;
}
.MathJax.MathJax_Display,
.MathJax_Display.MathJax_Display {
  margin: 1.5rem 0;
  text-align: center;
}

.tex,
.latex {
  font-family: 'Computer Modern', serif;
}

.notebook-footer {
  margin-top: 3rem;
  padding-top: 2rem;
}
.notebook-footer .share-buttons .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.notebook-footer .download-notebook .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.notebook-footer .related-notebooks .card {
  transition: transform 0.2s, box-shadow 0.2s;
}
.notebook-footer .related-notebooks .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.notebook-navigation {
  margin-top: 3rem;
}
.notebook-navigation .pagination .page-link {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
}
.notebook-navigation .pagination .page-link.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .notebook-content {
    font-size: 0.95rem;
  }
  .notebook-content h1 {
    font-size: 1.75rem;
  }
  .notebook-content h2 {
    font-size: 1.5rem;
  }
  .notebook-content h3 {
    font-size: 1.25rem;
  }
  .notebook-content h4 {
    font-size: 1.1rem;
  }
  .notebook-content pre {
    font-size: 0.8rem;
  }
  .notebook-content table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .notebook-footer .related-notebooks .col-md-4 {
    margin-bottom: 1rem;
  }

  .notebook-navigation .pagination {
    flex-direction: column;
    gap: 0.5rem;
  }
  .notebook-navigation .pagination .page-item {
    width: 100%;
  }
  .notebook-navigation .pagination .page-item .page-link {
    width: 100%;
    text-align: center;
  }
}
@media print {
  .notebook-article .notebook-footer,
  .notebook-article .share-buttons,
  .notebook-article .notebook-comments,
  .notebook-article .notebook-navigation {
    display: none;
  }
}
@media (prefers-color-scheme: dark) {
  .notebook-content .highlight,
  .notebook-content pre {
    background-color: var(--bs-dark-bg-subtle);
    border-color: var(--bs-border-color-translucent);
  }

  .jp-OutputArea,
  .output-area,
  .cell-output {
    background-color: var(--bs-dark-bg-subtle);
  }
  .jp-OutputArea.error,
  .output-area.error,
  .cell-output.error {
    background-color: rgba(220, 53, 69, 0.1);
  }
}
.nav-tree {
  font-size: 0.875rem;
}

.nav-tree-root {
  margin: 0;
  padding: 0;
}

.nav-tree-item {
  margin-bottom: 0.125rem;
}

.nav-tree-link {
  color: var(--bs-body-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}
.nav-tree-link:hover {
  color: var(--bs-primary);
  background-color: var(--bs-tertiary-bg);
}
.nav-tree-link.active {
  color: var(--bs-primary);
  background-color: var(--bs-primary-bg-subtle);
  font-weight: 500;
}

.nav-tree-text {
  color: var(--bs-secondary-color);
}

.nav-tree-toggle {
  color: var(--bs-body-color);
  text-decoration: none;
  border: none;
  background: transparent;
  transition: color 0.15s ease-in-out;
}
.nav-tree-toggle:hover {
  color: var(--bs-primary);
}
.nav-tree-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}
.nav-tree-toggle .bi-chevron-down,
.nav-tree-toggle .nav-tree-chevron {
  transition: transform 0.2s ease-in-out;
}
.nav-tree-toggle.collapsed .bi-chevron-down,
.nav-tree-toggle.collapsed .nav-tree-chevron {
  transform: rotate(-90deg);
}

.nav-tree-children {
  margin-top: 0.25rem;
  border-left: 1px solid var(--bs-border-color);
  margin-left: 0.5rem;
  padding-left: 0.75rem;
}

.nav-tree .collapse {
  transition: height 0.2s ease-in-out;
}

.nav-tree-item[data-depth="0"] > .nav-tree-link,
.nav-tree-item[data-depth="0"] > div > .nav-tree-link,
.nav-tree-item[data-depth="0"] > .nav-tree-toggle {
  font-weight: 500;
}

.nav-tree-item[data-depth="1"] > .nav-tree-link,
.nav-tree-item[data-depth="1"] > div > .nav-tree-link {
  font-weight: normal;
}

.nav-tree-item[data-depth="2"] > .nav-tree-link,
.nav-tree-item[data-depth="2"] > div > .nav-tree-link {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}
.nav-tree-item[data-depth="2"] > .nav-tree-link.active,
.nav-tree-item[data-depth="2"] > div > .nav-tree-link.active {
  color: var(--bs-primary);
}

.keyboard-nav .nav-tree-link:focus,
.keyboard-nav .nav-tree-toggle:focus {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}

[data-bs-theme="dark"] .nav-tree-link:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
[data-bs-theme="dark"] .nav-tree-link.active {
  background-color: rgba(var(--bs-primary-rgb), 0.15);
}
[data-bs-theme="dark"] .nav-tree-children {
  border-left-color: var(--bs-border-color);
}

.nav-tree--categories .sidebar-categories-heading {
  letter-spacing: 0.04em;
  font-size: var(--zer0-text-sm);
  margin-bottom: var(--zer0-space-3);
  padding-bottom: var(--zer0-space-2);
  border-bottom: 1px solid var(--zer0-color-border-translucent);
}
.nav-tree--categories .sidebar-categories-group {
  margin-bottom: var(--zer0-space-2);
}
.nav-tree--categories .sidebar-categories-group:last-child {
  margin-bottom: 0;
}
.nav-tree--categories .sidebar-categories-toggle {
  gap: var(--zer0-space-2);
  padding: var(--zer0-space-2) var(--zer0-space-2) var(--zer0-space-2) calc(var(--zer0-space-2) - 2px);
  margin-bottom: 0;
  font-size: var(--zer0-text-sm);
  font-weight: var(--zer0-font-weight-semibold);
  color: var(--zer0-color-ink);
  text-decoration: none;
  border: 1px solid transparent;
  border-left: 2px solid var(--zer0-color-border-translucent);
  border-radius: var(--bs-border-radius, 0.375rem);
  background-color: color-mix(in srgb, var(--zer0-color-bg-elevated) 65%, transparent);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
.nav-tree--categories .sidebar-categories-toggle:hover {
  color: var(--zer0-color-primary);
  background-color: color-mix(in srgb, var(--zer0-color-primary) 8%, var(--zer0-color-bg-elevated));
  border-left-color: var(--zer0-color-primary);
}
.nav-tree--categories .sidebar-categories-toggle:focus-visible {
  outline: 2px solid var(--zer0-color-primary);
  outline-offset: 2px;
  box-shadow: none;
}
.nav-tree--categories .sidebar-categories-toggle:not(.collapsed), .nav-tree--categories .sidebar-categories-toggle[aria-expanded="true"] {
  color: var(--zer0-color-primary);
  background-color: color-mix(in srgb, var(--zer0-color-primary) 10%, var(--zer0-color-bg-elevated));
  border-left-color: var(--zer0-color-primary);
}
.nav-tree--categories .sidebar-categories-toggle__icon {
  flex-shrink: 0;
  font-size: 0.9375rem;
  opacity: 0.85;
}
.nav-tree--categories .sidebar-categories-toggle__label {
  min-width: 0;
  line-height: var(--zer0-leading-tight);
}
.nav-tree--categories .sidebar-categories-toggle__chevron {
  flex-shrink: 0;
  font-size: 0.75rem;
  opacity: 0.65;
}
.nav-tree--categories .sidebar-categories-posts {
  margin-top: var(--zer0-space-1);
  padding-left: var(--zer0-space-2);
  border-left-color: var(--zer0-color-border-translucent);
}
.nav-tree--categories .sidebar-categories-link {
  gap: var(--zer0-space-2);
  padding: var(--zer0-space-1) var(--zer0-space-2);
  font-size: var(--zer0-text-sm);
  font-weight: var(--zer0-font-weight-regular);
  line-height: var(--zer0-leading-normal);
  color: var(--zer0-color-ink-muted);
}
.nav-tree--categories .sidebar-categories-link:hover {
  color: var(--zer0-color-primary);
}
.nav-tree--categories .sidebar-categories-link.active {
  color: var(--zer0-color-primary);
  font-weight: var(--zer0-font-weight-medium);
}
.nav-tree--categories .sidebar-categories-link__icon {
  flex-shrink: 0;
  margin-top: 0.15em;
  font-size: 0.8125rem;
  opacity: 0.7;
}
.nav-tree--categories .sidebar-categories-link__text {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

[data-bs-theme="dark"] .nav-tree--categories .sidebar-categories-toggle {
  background-color: color-mix(in srgb, var(--zer0-color-bg-elevated) 40%, transparent);
}
[data-bs-theme="dark"] .nav-tree--categories .sidebar-categories-toggle:hover {
  background-color: color-mix(in srgb, var(--zer0-color-primary) 12%, transparent);
}
[data-bs-theme="dark"] .nav-tree--categories .sidebar-categories-toggle:not(.collapsed), [data-bs-theme="dark"] .nav-tree--categories .sidebar-categories-toggle[aria-expanded="true"] {
  background-color: color-mix(in srgb, var(--zer0-color-primary) 14%, transparent);
}
[data-bs-theme="dark"] .nav-tree--categories .sidebar-categories-link:hover, [data-bs-theme="dark"] .nav-tree--categories .sidebar-categories-link.active {
  background-color: color-mix(in srgb, var(--zer0-color-primary) 12%, transparent);
}

#bdNavbar .nav-hover-dropdown > .dropdown-toggle-split {
  --bs-btn-border-width: 0;
  --bs-btn-bg: transparent;
  --bs-btn-hover-bg: transparent;
  --bs-btn-active-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-border-color: transparent;
  --bs-btn-box-shadow: none;
  --bs-btn-focus-box-shadow: none;
  flex-shrink: 0;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.25rem;
  min-width: 1.5rem;
  width: 1.5rem;
  min-height: 0;
  border: none;
  border-radius: 0.375rem;
  background-color: transparent;
  box-shadow: none;
  color: inherit;
  line-height: 1;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
@media (max-width: 991.98px) {
  #bdNavbar .nav-hover-dropdown > .dropdown-toggle-split {
    min-width: 44px;
    min-height: 44px;
    width: auto;
    padding: var(--zer0-space-1) var(--zer0-space-2);
  }
}
#bdNavbar .nav-hover-dropdown > .dropdown-toggle-split::before {
  display: none;
}
#bdNavbar .nav-hover-dropdown > .dropdown-toggle-split:hover, #bdNavbar .nav-hover-dropdown > .dropdown-toggle-split:focus-visible, #bdNavbar .nav-hover-dropdown > .dropdown-toggle-split[aria-expanded="true"] {
  background-color: var(--bs-tertiary-bg);
  border: none;
  box-shadow: none;
  transform: none;
  color: inherit;
}
#bdNavbar .nav-hover-dropdown > .dropdown-toggle-split:active {
  background-color: var(--bs-tertiary-bg);
  transform: none;
  box-shadow: none;
}
#bdNavbar .nav-hover-dropdown > .dropdown-toggle-split:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}
#bdNavbar .nav-hover-dropdown > .dropdown-toggle-split::after {
  margin-left: 0;
  vertical-align: 0.15em;
  font-size: 1em;
  opacity: 0.7;
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
#bdNavbar .nav-hover-dropdown > .dropdown-toggle-split:hover::after, #bdNavbar .nav-hover-dropdown > .dropdown-toggle-split[aria-expanded="true"]::after {
  opacity: 1;
}

.navbar-utility-controls {
  gap: 0.375rem;
  margin-left: auto;
}
.navbar-utility-controls .nav-search-button,
.navbar-utility-controls .nav-settings-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 0.875rem;
  min-width: 44px;
  min-height: 44px;
  border: none;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--bs-body-color);
  transition: all 0.2s ease-in-out;
}
.navbar-utility-controls .nav-search-button:hover,
.navbar-utility-controls .nav-settings-button:hover {
  color: var(--bs-primary);
  background-color: var(--bs-tertiary-bg);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.navbar-utility-controls .nav-search-button:active,
.navbar-utility-controls .nav-settings-button:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.navbar-utility-controls .nav-search-button:focus-visible,
.navbar-utility-controls .nav-settings-button:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}
.navbar-utility-controls .nav-search-button i,
.navbar-utility-controls .nav-settings-button i {
  font-size: 1.15rem;
  transition: transform 0.15s ease-in-out;
}
.navbar-utility-controls .nav-search-button:hover i,
.navbar-utility-controls .nav-settings-button:hover i {
  transform: scale(1.1);
}

@media (min-width: 992px) {
  @container navbar-main (max-width: 75rem) {
    #navbar .navbar-utility-controls .nav-link-text {
      display: none !important;
    }
  }
  @container navbar-main (max-width: 45.99rem) {
    #navbar .navbar-utility-controls {
      gap: 0.25rem;
    }

    #navbar .navbar-utility-controls .nav-search-button,
    #navbar .navbar-utility-controls .nav-settings-button {
      padding: 0.625rem;
      min-width: 44px;
      min-height: 44px;
    }
  }
}
@media (max-width: 991.98px) {
  .navbar-utility-controls {
    gap: 0.25rem;
  }
  .navbar-utility-controls .nav-search-button {
    padding: 0.625rem;
    width: 48px;
    height: 48px;
  }
  .navbar-utility-controls .nav-link-text {
    display: none !important;
  }
}
@media (min-width: 992px) {
  #bdNavbar {
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    background: transparent !important;
    border: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    z-index: 1;
  }

  #bdNavbar .offcanvas-header {
    display: none !important;
  }

  #bdNavbar .offcanvas-body {
    padding: 0 !important;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }

  #bdNavbar .bd-navbar-nav-viewport {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    container-type: inline-size;
    container-name: bd-nav;
  }

  #bdNavbar .navbar-nav {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0.375rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
    justify-content: center;
    justify-content: safe center;
  }

  #bdNavbar .nav-item {
    position: relative;
    min-width: 0;
    flex: 0 1 auto;
  }

  .nav-hover-dropdown {
    position: relative;
    flex-wrap: nowrap !important;
    min-width: 0;
    flex: 0 1 auto;
  }

  .nav-hover-dropdown > .nav-link:first-child {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
  }

  .nav-hover-dropdown > .dropdown-toggle-split {
    flex-shrink: 0;
  }

  #bdNavbar .nav-item > .nav-link:not(.dropdown-toggle-split) {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  #bdNavbar .nav-link i {
    flex-shrink: 0;
  }

  #bdNavbar .nav-link {
    border-radius: 0.375rem;
    transition: all 0.2s ease-in-out;
  }
  #bdNavbar .nav-link:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.1);
  }

  .nav-hover-dropdown > .dropdown-menu {
    position: absolute;
    top: calc(100% + 0.25rem) !important;
    left: 0;
    margin-top: 0 !important;
    min-width: 14rem;
    max-width: min(22rem, 100dvw - 1.5rem);
    z-index: 1050;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.175);
    border: 1px solid var(--bs-border-color-translucent);
  }

  .nav-hover-dropdown > .dropdown-menu.dropdown-menu-end {
    left: auto;
    right: 0;
  }

  .nav-hover-dropdown .dropdown-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.5rem);
    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s ease-in-out;
    display: block !important;
  }

  .nav-hover-dropdown .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav-hover-dropdown .dropdown-toggle-split {
    padding-left: var(--zer0-space-1);
    padding-right: var(--zer0-space-1);
  }

  .nav-hover-dropdown .dropdown-toggle-split[aria-expanded="true"]::after {
    transform: rotate(180deg);
  }

  @container bd-nav (min-width: 38rem) {
    #bdNavbar .navbar-nav {
      gap: 0.125rem;
    }

    #bdNavbar .nav-link {
      padding: 0.375rem 0.5rem;
    }

    #bdNavbar .nav-link .nav-link-text {
      display: inline !important;
      margin-left: 0;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      transition: opacity 0.15s ease-in-out;
    }

    #bdNavbar .nav-item,
    #bdNavbar .nav-hover-dropdown {
      flex: 0 1 auto;
      min-width: 0;
    }

    #bdNavbar .nav-item > .nav-link:not(.dropdown-toggle-split),
    #bdNavbar .nav-hover-dropdown > .nav-link:first-child {
      flex: 1 1 auto;
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
      gap: 0.25rem;
    }

    #bdNavbar .nav-link i {
      margin-right: 0;
      font-size: 1rem;
      transition: transform 0.15s ease-in-out;
    }

    #bdNavbar .nav-link:hover {
      background-color: var(--bs-tertiary-bg);
      border-radius: 0.375rem;
    }
    #bdNavbar .nav-link:hover i {
      transform: scale(1.1);
    }

    .nav-hover-dropdown > .nav-link {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }

    .nav-hover-dropdown > .dropdown-toggle-split {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      min-width: 1.25rem;
      min-height: 0;
      width: 1.25rem;
      padding-left: 0.125rem;
      padding-right: 0.125rem;
      margin-left: 0 !important;
    }
  }
  @container bd-nav (max-width: 37.99rem) {
    #bdNavbar .nav-link .nav-link-text {
      display: none !important;
    }

    #bdNavbar .nav-link i {
      margin-right: 0 !important;
      font-size: 1.15rem;
    }

    #bdNavbar .navbar-nav {
      gap: 0.125rem;
    }

    #bdNavbar .nav-link {
      padding: 0.625rem 0.75rem;
      min-width: 44px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 0.375rem;
      transition: all 0.2s ease-in-out;
    }

    #bdNavbar .nav-item > .nav-link:not(.dropdown-toggle-split),
    #bdNavbar .nav-hover-dropdown > .nav-link:first-child {
      justify-content: center;
      flex: 0 0 auto;
      max-width: none;
      overflow: visible;
    }

    #bdNavbar .nav-item,
    #bdNavbar .nav-hover-dropdown {
      flex: 0 0 auto;
      min-width: auto;
    }

    #bdNavbar .nav-hover-dropdown > .nav-link:first-child {
      flex: 0 0 auto;
      overflow: visible;
    }

    #bdNavbar .nav-link:hover {
      background-color: var(--bs-tertiary-bg);
      transform: translateY(-1px);
    }

    .nav-hover-dropdown .dropdown-toggle-split {
      padding: var(--zer0-space-1) var(--zer0-space-2);
    }
    .nav-hover-dropdown .dropdown-toggle-split::after {
      transition: transform 0.2s ease-in-out;
    }
    .nav-hover-dropdown .dropdown-toggle-split:hover::after {
      transform: translateY(2px);
    }
  }
}
@media (max-width: 991.98px) {
  #bdNavbar .bd-navbar-nav-viewport {
    display: contents;
  }

  #bdNavbar .navbar-nav {
    flex-direction: column !important;
  }

  #bdNavbar .nav-item {
    margin-bottom: 0;
  }

  .nav-hover-dropdown {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .nav-hover-dropdown > .nav-link:first-child {
    flex: 1 1 auto !important;
  }

  .nav-hover-dropdown > .dropdown-toggle-split {
    flex: 0 0 auto;
  }

  .nav-hover-dropdown > .dropdown-toggle-split::after {
    transition: transform 0.3s ease-in-out;
  }

  .nav-hover-dropdown > .dropdown-toggle-split.show::after,
  .nav-hover-dropdown > .dropdown-toggle-split[aria-expanded="true"]::after {
    transform: rotate(180deg);
  }

  #bdNavbar .nav-hover-dropdown .dropdown-menu {
    padding: var(--zer0-space-0) var(--zer0-space-0) var(--zer0-space-0) var(--zer0-space-3);
  }

  .nav-hover-dropdown .dropdown-menu {
    position: static !important;
    float: none;
    flex-basis: 100% !important;
    width: 100%;
    margin-top: 0;
    border: none;
    box-shadow: none;
    background-color: var(--bs-tertiary-bg);
    padding-left: var(--zer0-space-3);
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-in-out, padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    padding-top: 0;
    padding-bottom: 0;
    display: block !important;
  }

  .nav-hover-dropdown .dropdown-menu.show {
    max-height: 600px;
    opacity: 1;
    padding-top: var(--zer0-space-0);
    padding-bottom: var(--zer0-space-0);
  }

  #bdNavbar .nav-link:not(.dropdown-toggle-split) {
    padding: var(--zer0-space-1) var(--zer0-space-3);
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: var(--zer0-space-2);
    border-radius: 0.375rem;
    transition: background-color 0.2s ease-in-out;
  }
  #bdNavbar .nav-link:not(.dropdown-toggle-split):active {
    background-color: var(--bs-tertiary-bg);
    transform: scale(0.98);
  }
  #bdNavbar .nav-link:not(.dropdown-toggle-split):focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
  }

  #bdNavbar .dropdown-item,
  #bdNavbar .nav-hover-dropdown .dropdown-item {
    padding: var(--zer0-space-1) var(--zer0-space-3);
    min-height: 40px;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    border-radius: 0.375rem;
    transition: all 0.2s ease-in-out;
  }
  #bdNavbar .dropdown-item:last-child,
  #bdNavbar .nav-hover-dropdown .dropdown-item:last-child {
    margin-bottom: 0;
  }
  #bdNavbar .dropdown-item:active,
  #bdNavbar .nav-hover-dropdown .dropdown-item:active {
    transform: scale(0.98);
  }

  #bdNavbar .offcanvas-header {
    border-bottom: 2px solid var(--bs-border-color);
    padding: 1.25rem 1rem;
  }
  #bdNavbar .offcanvas-header .offcanvas-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--bs-emphasis-color);
  }
  #bdNavbar .offcanvas-header .btn-close {
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 0.375rem;
    transition: all 0.2s ease-in-out;
  }
  #bdNavbar .offcanvas-header .btn-close:hover {
    background-color: var(--bs-tertiary-bg);
    transform: rotate(90deg);
  }
  #bdNavbar .offcanvas-header .btn-close:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
  }

  #bdNavbar .offcanvas-body {
    padding: var(--zer0-space-1) var(--zer0-space-3);
  }

  #bdNavbar .navbar-nav {
    gap: 0;
  }
}
.nav-link[aria-current="page"] {
  color: var(--bs-primary);
  font-weight: 600;
  position: relative;
}
.nav-link[aria-current="page"]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 2px;
  background-color: var(--bs-primary);
  border-radius: 2px;
}

.dropdown-item[aria-current="page"] {
  background-color: var(--bs-primary);
  color: var(--bs-white);
  font-weight: 500;
  border-radius: 0.375rem;
}

.dropdown-item[aria-current="page"]:hover {
  background-color: var(--bs-primary);
  filter: brightness(0.95);
}

.nav-hover-dropdown .dropdown-menu {
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.175);
  border: 1px solid var(--bs-border-color-translucent);
  padding: 0.5rem;
}
@media (prefers-color-scheme: dark) {
  .nav-hover-dropdown .dropdown-menu {
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.4);
  }
}

.nav-hover-dropdown .dropdown-item {
  padding: 0.625rem 1rem;
  min-height: 48px;
  display: flex;
  align-items: center;
  border-radius: 0.375rem;
  transition: all 0.15s ease-in-out;
  margin-bottom: 0.125rem;
}
.nav-hover-dropdown .dropdown-item:last-child {
  margin-bottom: 0;
}
.nav-hover-dropdown .dropdown-item i {
  font-size: 1rem;
  width: 1.5rem;
  transition: transform 0.15s ease-in-out;
}
.nav-hover-dropdown .dropdown-item:hover {
  background-color: var(--bs-tertiary-bg);
}
@media (max-width: 991.98px) {
  .nav-hover-dropdown .dropdown-item:hover {
    transform: translateX(4px);
  }
}
.nav-hover-dropdown .dropdown-item:hover i {
  transform: scale(1.1);
}
.nav-hover-dropdown .dropdown-item:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: -2px;
}
@media (max-width: 991.98px) {
  .nav-hover-dropdown .dropdown-item:active {
    transform: translateX(2px);
  }
}

.nav-hover-dropdown .dropdown-divider {
  margin: 0.5rem 0;
  border-color: var(--bs-border-color-translucent);
}

.site-title-text {
  display: inline-block;
  transition: max-width 0.3s ease-in-out;
}

@media (max-width: 767.98px) {
  .site-title-text {
    max-width: 60vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@media (max-width: 575.98px) {
  .site-title-text {
    max-width: 50vw;
  }
}
@media (max-width: 375px) {
  .site-title-text {
    max-width: 40vw;
  }
}
#info-section .nav-tabs {
  border-bottom: 2px solid var(--bs-border-color);
}
#info-section .nav-tabs .nav-link {
  border: none;
  border-bottom: 3px solid transparent;
  color: var(--bs-secondary-color);
  padding: 0.75rem 1rem;
  font-weight: 500;
  transition: color 0.2s ease, border-color 0.2s ease;
}
#info-section .nav-tabs .nav-link:hover {
  color: var(--bs-primary);
  border-bottom-color: var(--bs-primary-bg-subtle);
}
#info-section .nav-tabs .nav-link.active {
  color: var(--bs-primary);
  border-bottom-color: var(--bs-primary);
  background: transparent;
}
#info-section .tab-content {
  padding-top: 1rem;
}
#info-section .bd-theme-dropdown {
  position: relative;
}
#info-section .bd-theme-menu.dropdown-menu {
  --bs-dropdown-min-width: 10.5rem;
  z-index: 1060;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  border-radius: var(--bs-border-radius, 0.375rem);
  border: 1px solid var(--bs-border-color-translucent);
}
#info-section .bd-theme-menu .dropdown-item {
  min-height: 0;
  padding: 0.45rem 0.85rem;
  font-size: 0.9375rem;
  border-radius: calc(var(--bs-border-radius, 0.375rem) - 2px);
  gap: 0.35rem;
}
#info-section .bd-theme-menu .dropdown-item.active {
  font-weight: 600;
}
#info-section .bd-theme-menu .dropdown-item .bi.ms-auto {
  opacity: 0.9;
}

.nav-tooltip .tooltip-inner {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 0.375rem;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}
.nav-tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: var(--bs-tooltip-bg);
}
.nav-tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: var(--bs-tooltip-bg);
}

@media (min-width: 1200px) {
  .nav-tooltip {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .nav-tooltip {
    display: none !important;
  }
}
#bdSidebar .offcanvas-header,
#tocContents .offcanvas-header,
#obsidianLocalGraphPanel .offcanvas-header {
  border-bottom: 2px solid var(--bs-border-color);
  padding: 1.25rem 1rem;
}

#bdSidebar .offcanvas-title,
#tocContents .offcanvas-title,
#obsidianLocalGraphPanel .offcanvas-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--bs-emphasis-color);
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  #bdSidebar .offcanvas-header .btn-close,
  #tocContents .offcanvas-header .btn-close,
  #obsidianLocalGraphPanel .offcanvas-header .btn-close {
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 0.375rem;
    transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
  }
  #bdSidebar .offcanvas-header .btn-close:hover,
  #tocContents .offcanvas-header .btn-close:hover,
  #obsidianLocalGraphPanel .offcanvas-header .btn-close:hover {
    background-color: var(--bs-tertiary-bg);
  }
  #bdSidebar .offcanvas-header .btn-close:focus-visible,
  #tocContents .offcanvas-header .btn-close:focus-visible,
  #obsidianLocalGraphPanel .offcanvas-header .btn-close:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
  }

  #tocContents .offcanvas-body,
  #obsidianLocalGraphPanel .offcanvas-body {
    padding: 1rem;
  }

  #bdSidebar .offcanvas-body {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1rem;
  }
}
@media (min-width: 992px) {
  #bdSidebar .offcanvas-body {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  #bdSidebar .offcanvas-body > .bd-sidebar-desktop-header {
    flex-shrink: 0;
    width: 100%;
  }
}
.wiki-link {
  text-decoration: none;
  border-bottom: 1px dashed currentColor;
  font-weight: 500;
}
.wiki-link:hover {
  text-decoration: underline;
  border-bottom-color: transparent;
}
.wiki-link[aria-current="page"] {
  background-color: rgba(var(--bs-primary-rgb), 0.08);
  padding: 0 0.15rem;
  border-radius: 0.2rem;
}

.wiki-link-broken {
  color: var(--bs-danger);
  border-bottom-style: dotted;
  cursor: help;
}
.wiki-link-broken:hover {
  color: var(--bs-danger);
  background-color: rgba(var(--bs-danger-rgb), 0.05);
}

.obsidian-tag {
  display: inline-block;
  padding: 0.05rem 0.45rem;
  margin: 0 0.1rem;
  font-size: 0.85em;
  font-weight: 500;
  color: var(--bs-secondary);
  background-color: rgba(var(--bs-secondary-rgb), 0.1);
  border-radius: 0.5rem;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.obsidian-tag:hover, .obsidian-tag:focus {
  background-color: rgba(var(--bs-secondary-rgb), 0.2);
  color: var(--bs-primary);
  text-decoration: none;
}

.obsidian-embed-image {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1rem auto;
  border-radius: 0.375rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.obsidian-embed-note {
  border-left: 3px solid var(--bs-primary);
}
.obsidian-embed-note .obsidian-embed-source {
  font-size: 0.875rem;
  color: var(--bs-secondary);
}
.obsidian-embed-note .obsidian-embed-body {
  background-color: rgba(var(--bs-light-rgb), 0.5);
}
[data-bs-theme="dark"] .obsidian-embed-note .obsidian-embed-body {
  background-color: rgba(var(--bs-dark-rgb), 0.4);
}

.obsidian-embed-broken {
  font-size: 0.9rem;
}
.obsidian-embed-broken code {
  background-color: rgba(0, 0, 0, 0.06);
  padding: 0.1rem 0.3rem;
  border-radius: 0.25rem;
}

.obsidian-callout {
  border-left-width: 4px;
  border-left-style: solid;
  margin: 1.25rem 0;
  padding: 0.85rem 1rem;
}
.obsidian-callout .obsidian-callout-title {
  font-weight: 600;
  margin-bottom: 0.4rem;
  display: flex;
  align-items: center;
}
.obsidian-callout .obsidian-callout-body {
  margin: 0;
}
.obsidian-callout .obsidian-callout-body > :last-child {
  margin-bottom: 0;
}
.obsidian-callout[data-collapsed="true"] .obsidian-callout-body {
  display: none;
}

.obsidian-backlinks .obsidian-backlinks-list {
  margin-bottom: 0;
}
.obsidian-backlinks .obsidian-backlink {
  padding: 0.5rem 0.75rem;
  border-left: 2px solid transparent;
  border-radius: 0 0.25rem 0.25rem 0;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.obsidian-backlinks .obsidian-backlink:hover {
  background-color: rgba(var(--bs-primary-rgb), 0.05);
  border-left-color: var(--bs-primary);
}
.obsidian-backlinks .obsidian-backlink-link {
  text-decoration: none;
}
.obsidian-backlinks .obsidian-backlink-excerpt {
  margin-top: 0.2rem;
}

.obsidian-local-graph-fab {
  position: fixed;
  left: var(--zer0-space-fab-offset, 1rem);
  right: auto;
  bottom: var(--zer0-space-fab-offset, 1rem);
  z-index: var(--zer0-layer-fab-local-graph);
}
.obsidian-local-graph-fab[hidden] {
  display: none !important;
}

.btn.obsidian-local-graph-toggle {
  --bs-btn-padding-x: 0;
  --bs-btn-padding-y: 0;
  width: var(--zer0-space-fab-size, 3.5rem);
  height: var(--zer0-space-fab-size, 3.5rem);
  padding: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--zer0-shadow-fab);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn.obsidian-local-graph-toggle > .bi {
  line-height: 1;
  display: block;
}
.btn.obsidian-local-graph-toggle:hover, .btn.obsidian-local-graph-toggle:focus-visible {
  transform: translateY(-1px);
}
.btn.obsidian-local-graph-toggle:active {
  transform: translateY(0);
}

.obsidian-local-graph-panel {
  --bs-offcanvas-width: min(28rem, calc(100vw - 1.5rem));
  z-index: var(--zer0-layer-offcanvas);
  background-color: var(--bs-offcanvas-bg, var(--bs-body-bg));
}
.obsidian-local-graph-panel[hidden] {
  display: none !important;
}
.obsidian-local-graph-panel .offcanvas-header {
  background-color: inherit;
}
.obsidian-local-graph-panel .offcanvas-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background-color: inherit;
}

.obsidian-local-graph-widget {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}
.obsidian-local-graph-widget .obsidian-local-graph-meta {
  flex: 0 0 auto;
}
.obsidian-local-graph-widget #obsidian-local-graph {
  flex: 1 1 auto;
  width: 100%;
  height: min(62vh, 34rem);
  min-height: 22rem;
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: var(--bs-border-radius-lg, 0.5rem);
  background: var(--bs-tertiary-bg, #f8f9fa);
  overflow: hidden;
  position: relative;
}
.obsidian-local-graph-widget .obsidian-local-graph-status {
  min-height: 1.25rem;
}

@media (max-width: 575.98px) {
  .obsidian-local-graph-panel {
    --bs-offcanvas-width: min(100vw, 24rem);
  }

  .obsidian-local-graph-widget #obsidian-local-graph {
    height: 58vh;
    min-height: 18rem;
  }
}
html, body {
  max-width: 100%;
}

* {
  box-sizing: border-box;
}

.make-me-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  padding: 0 15px;
  display: flex;
  flex-wrap: wrap;
}

.bottom-shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.35), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
}

.min-vh-50 {
  min-height: 50vh;
}

.landing-hero .landing-hero-media {
  background-color: rgba(255, 255, 255, 0.06);
}

#TableOfContents {
  overflow: hidden;
  text-overflow: ellipsis;
}

.toc {
  grid-area: toc;
  padding-top: 5rem;
  top: 0;
  right: 5rem;
}

@media (min-width: 992px) {
  .toc {
    position: -webkit-sticky;
    position: sticky;
    top: 5rem;
    right: 5rem;
    z-index: 2;
    height: calc(100vh - 7rem);
    overflow-y: auto;
  }
}
.toc nav {
  font-size: 0.875rem;
}

.toc nav ul {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.toc nav ul ul {
  padding-left: 1rem;
  margin-top: 0.25rem;
}

.toc nav li {
  margin-bottom: 0.25rem;
}

.toc nav a {
  color: inherit;
}

.toc nav a:not(:hover) {
  text-decoration: none;
}

.toc nav a code {
  font: inherit;
}

.toc-toggle {
  display: flex;
  align-items: center;
}

@media (max-width: 989.98px) {
  .toc-collapse nav {
    padding: 1.25rem;
    background-color: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
  }
}
@media (min-width: 990px) {
  .toc-collapse {
    display: block !important;
  }
}
@media (max-width: 768px) {
  .cookie-consent-banner .btn {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .cookie-consent-banner .btn:last-child {
    margin-bottom: 0;
  }
}

.bd-toc nav a.active {
  font-weight: 600;
  background-color: rgba(var(--bs-primary-rgb), 0.1);
  border-left-color: var(--bs-primary) !important;
}

.nav-tree--categories .sidebar-categories-link.active {
  font-weight: var(--zer0-font-weight-medium);
  background-color: color-mix(in srgb, var(--zer0-color-primary) 10%, transparent);
  color: var(--zer0-color-primary);
}

.bd-sidebar .list-group-item:hover,
.bd-sidebar .list-group-item-action:hover {
  background-color: rgba(var(--bs-primary-rgb), 0.05);
  transition: background-color 0.2s ease;
}

#backToTopBtn {
  display: none;
}
#backToTopBtn .text {
  display: inline-block;
}
#backToTopBtn .arrow {
  display: none;
}
@media (max-width: 600px) {
  #backToTopBtn .text {
    display: none;
  }
  #backToTopBtn .arrow {
    display: inline-block;
  }
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

#navbar a.navbar-brand {
  flex-shrink: 0;
}

#navbar .navbar-brand img {
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  max-width: none;
  object-fit: contain;
  flex-shrink: 0;
}

#navbar {
  transition: transform 0.3s ease-in-out !important;
  background-color: var(--bs-body-bg);
}

#navbar > .navbar.navbar-expand-lg {
  flex-wrap: nowrap !important;
  align-items: center;
}

#navbar .navbar-main {
  align-items: center;
}

#navbar .site-title-text,
#navbar .site-subtitle-text {
  display: inline-block;
}

#navbar .nav-search-button {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

@media (min-width: 992px) {
  #navbar .navbar-main {
    display: grid !important;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.5rem;
    row-gap: 0.25rem;
    flex-wrap: unset !important;
    container-type: inline-size;
    container-name: navbar-main;
  }

  #navbar .navbar-main-start {
    grid-column: 1;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
    max-width: none;
    flex-shrink: 1;
  }

  #navbar #bdNavbar {
    grid-column: 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-self: stretch;
  }

  #navbar .navbar-utility-controls {
    grid-column: 3;
    justify-self: end;
    flex-shrink: 0;
    min-width: 0;
    max-width: max-content;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.25rem;
    padding-left: 0.25rem;
  }

  #navbar .navbar-utility-controls .nav-search-button,
  #navbar .navbar-utility-controls .nav-settings-button {
    flex: 0 1 auto;
    min-width: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  #navbar .navbar-brand-group {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    flex-wrap: nowrap;
    gap: 0.375rem;
    min-width: 0;
  }

  #navbar .navbar-home-links {
    flex-shrink: 0;
    display: none;
  }

  #navbar .site-title,
  #navbar .site-subtitle {
    flex-shrink: 1;
    min-width: 0;
  }

  #navbar .site-title {
    flex: 1 1 auto;
    overflow: hidden;
  }

  #navbar .site-title .site-title-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
    max-width: none;
  }

  #navbar .site-subtitle .site-subtitle-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: bottom;
    max-width: none;
  }

  @container navbar-main (min-width: 80rem) {
    #navbar .navbar-home-links {
      display: inline-flex !important;
    }
  }
  @container navbar-main (max-width: 68rem) {
    #navbar .site-subtitle {
      display: none !important;
    }
  }
  @container navbar-main (max-width: 50rem) {
    #navbar .site-title .site-title-text {
      max-width: 100%;
    }
  }
}
#navbar.navbar-hidden {
  transform: translateY(-100%) !important;
}

@media (prefers-reduced-motion: reduce) {
  #navbar {
    transition: none !important;
  }
}
@media (max-width: 991.98px) {
  #navbar .navbar-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  #navbar .navbar-main-start {
    flex: 1 1 auto;
    min-width: 0;
  }

  #navbar .navbar-brand-group {
    flex: 0 1 auto;
    min-width: 0;
  }

  #navbar .site-title {
    flex: 1 1 auto;
    min-width: 0;
  }

  #navbar .site-title .nav-link {
    padding: 0;
    min-height: 2.5rem;
    align-items: center;
  }

  #navbar .site-title-text {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
  }

  #navbar .navbar-toggler {
    width: 2.5rem;
    height: 2.5rem;
  }

  #navbar .nav-search-button {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    justify-content: center;
  }
}
.search-modal .modal-content {
  border-radius: 0.75rem;
}

.search-modal .input-group-text {
  background-color: var(--bs-tertiary-bg);
  border-color: var(--bs-border-color);
}

.search-modal kbd {
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
}

.search-modal .search-results {
  max-height: 50vh;
  overflow-y: auto;
}

.search-modal .list-group-item {
  border-color: var(--bs-border-color-translucent);
}

.nested-list-group {
  display: none;
}

.nested-list-group.show {
  display: block;
}

.folder {
  cursor: pointer;
}

.bg-primary:not(.zer0-bg-hero) {
  position: relative;
  overflow: hidden;
}
.bg-primary:not(.zer0-bg-hero)::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.bg-primary .container-xl {
  animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.btn {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}
.btn:hover::before {
  width: 300px;
  height: 300px;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.btn.btn-lg {
  padding: 0.75rem 1.5rem;
  font-size: 1.125rem;
}

.btn-outline-light:hover {
  background-color: rgba(255, 255, 255, 0.95);
  color: var(--bs-primary);
  border-color: rgba(255, 255, 255, 0.95);
}

.btn-light:hover {
  background-color: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
}

.card {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
  border-color: rgba(var(--bs-primary-rgb), 0.2);
}
.card .card-header {
  transition: all 0.3s ease;
}
.card:hover .card-header {
  background-color: rgba(255, 255, 255, 0.1);
}

.card-body .rounded-circle {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-body i {
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.card:hover .rounded-circle {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.card:hover .rounded-circle i {
  transform: scale(1.2);
}

pre {
  position: relative;
  transition: all 0.3s ease;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
pre:hover {
  border-color: rgba(var(--bs-primary-rgb), 0.3);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
pre code {
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  font-size: 0.875rem;
  line-height: 1.6;
}

.bg-dark .btn-outline-light {
  transition: all 0.3s ease;
  border-width: 2px;
}
.bg-dark .btn-outline-light:hover {
  background-color: rgba(255, 255, 255, 0.95);
  color: var(--bs-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

section,
.py-5,
[id] {
  scroll-margin-top: 80px;
}

.bg-dark {
  animation: slideDown 0.6s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bg-body-tertiary .row.g-4 > * {
  animation: fadeInUp 0.6s ease-out backwards;
}
.bg-body-tertiary .row.g-4 > *:nth-child(1) {
  animation-delay: 0.1s;
}
.bg-body-tertiary .row.g-4 > *:nth-child(2) {
  animation-delay: 0.2s;
}
.bg-body-tertiary .row.g-4 > *:nth-child(3) {
  animation-delay: 0.3s;
}

#get-started .card {
  border-top: 3px solid transparent;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
#get-started .card:hover {
  border-top-color: var(--bs-primary);
}
#get-started .card.card-header.bg-primary ~ .card-body {
  border-top-color: var(--bs-primary);
}
#get-started .card.card-header.bg-info ~ .card-body {
  border-top-color: var(--bs-info);
}
#get-started .card.card-header.bg-secondary ~ .card-body {
  border-top-color: var(--bs-secondary);
}

@media (max-width: 768px) {
  .bg-primary .display-4 {
    font-size: 2rem;
  }

  .bg-primary .lead {
    font-size: 1rem;
  }

  .btn-lg {
    padding: 0.625rem 1.25rem;
    font-size: 1rem;
  }

  .card {
    margin-bottom: 1rem;
  }

  .card:hover {
    transform: translateY(-4px);
  }

  .btn:hover {
    transform: none;
  }
}
img {
  transition: opacity 0.3s ease;
}
img[loading="lazy"] {
  opacity: 0;
}
img[loading="lazy"].loaded {
  opacity: 1;
}

.btn:focus-visible,
.card:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(var(--bs-primary-rgb), 0.5);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.table {
  transition: all 0.3s ease;
}
.table tbody tr {
  transition: background-color 0.2s ease;
}
.table tbody tr:hover {
  background-color: rgba(var(--bs-primary-rgb), 0.05);
}

.badge {
  transition: all 0.3s ease;
}
.badge:hover {
  transform: scale(1.05);
}

.feature-categories .badge:hover, .feature-categories .badge:focus-visible {
  color: var(--bs-badge-color, #fff);
  text-decoration: none;
  filter: brightness(1.12);
  transform: scale(1.05);
  outline: 2px solid rgba(var(--bs-primary-rgb), 0.55);
  outline-offset: 2px;
}

a:not(.btn) {
  transition: color 0.2s ease;
  text-decoration: none;
}
a:not(.btn):hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.container-xl {
  position: relative;
}

.bg-primary img {
  animation: fadeInRight 1s ease-out 0.3s backwards;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.3));
  transition: transform 0.3s ease;
}
.bg-primary img:hover {
  transform: scale(1.02);
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.shadow-sm {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
}

.shadow {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12) !important;
}

.shadow-lg {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15) !important;
}

.btn {
  position: relative;
  overflow: hidden;
}
.btn .ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  transform: scale(0);
  animation: ripple-animation 0.6s ease-out;
  pointer-events: none;
}

@keyframes ripple-animation {
  to {
    transform: scale(4);
    opacity: 0;
  }
}
@media (max-width: 991.98px) {
  .navbar-collapse {
    background-color: var(--bs-body-bg);
    border-radius: 0.5rem;
    margin-top: 1rem;
    padding: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  .navbar-nav .nav-link {
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    transition: all 0.2s ease;
  }
  .navbar-nav .nav-link:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
  }
}
@media (max-width: 768px) {
  .bg-primary {
    padding: 2rem 0 !important;
  }
  .bg-primary .display-4 {
    font-size: 1.75rem;
    line-height: 1.3;
  }
  .bg-primary .lead {
    font-size: 0.95rem;
  }
  .bg-primary .btn-lg {
    width: 100%;
    margin-bottom: 0.5rem;
  }

  .row.g-4 > * {
    margin-bottom: 1rem;
  }

  pre {
    font-size: 0.8rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  pre:not(.highlight) {
    padding: var(--zer0-space-2);
  }

  .highlight:not(pre) pre,
  pre.highlight {
    padding: 0;
  }
}
@media (hover: none) and (pointer: coarse) {
  .btn,
  .card,
  a {
    min-height: 44px;
    min-width: 44px;
  }

  .card:hover {
    transform: none;
  }

  .btn:hover {
    transform: none;
  }
}
*:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
  border-radius: 0.25rem;
}

.nav-link.active,
.btn.active {
  position: relative;
}
.nav-link.active::after,
.btn.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 2px;
  background-color: currentColor;
  border-radius: 2px;
}

@media (max-width: 768px) {
  .table-responsive {
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }

  .table {
    font-size: 0.875rem;
  }
  .table th, .table td {
    padding: 0.5rem;
  }
}
.badge {
  font-weight: 500;
  letter-spacing: 0.025em;
  padding: 0.35em 0.65em;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
  transform: translateY(-1px);
  transition: all 0.2s ease;
}

@media print {
  .btn,
  .card:hover,
  .navbar,
  .footer {
    box-shadow: none !important;
    transform: none !important;
  }

  a[href^="#"]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }
}
.badge-beginner {
  background-color: var(--zer0-color-success, #198754) !important;
}

.badge-intermediate {
  background-color: var(--zer0-color-warning, #ffc107) !important;
  color: #212529 !important;
}

.badge-advanced {
  background-color: var(--zer0-color-danger, #dc3545) !important;
}

.share-buttons {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #dee2e6;
}
.share-buttons .btn-share {
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: transform 0.2s ease;
}
.share-buttons .btn-share:hover {
  transform: scale(1.05);
}

#notes-grid .note-card {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
#notes-grid .note-card[style*="display: none"] {
  opacity: 0;
  transform: scale(0.95);
}
#notes-grid .card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#notes-grid .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

#notebooks-grid .notebook-card {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
#notebooks-grid .notebook-card[style*="display: none"] {
  opacity: 0;
  transform: scale(0.95);
}
#notebooks-grid .card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border-left: 4px solid #0d6efd;
}
#notebooks-grid .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
#notebooks-grid .card .card-header {
  border-bottom: none;
}

:root {
  --zer0-code-copy-width: 4.75rem;
  --zer0-code-header-height: 2rem;
  --zer0-code-accent-width: 3px;
  --zer0-code-gutter-width: 2.75rem;
}

.copy-code {
  display: inline-block;
  margin: 0 0.5em;
  padding: 0.5em 1em;
  color: var(--bs-light);
  background-color: var(--bs-dark);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.copy-code:focus {
  outline: none;
  box-shadow: var(--zer0-shadow-focus);
}
.copy-code:hover {
  background-color: color-mix(in srgb, var(--bs-dark) 85%, transparent);
  transform: translateY(-1px);
}
.copy-code.copied {
  background-color: var(--zer0-color-success);
  animation: pulse 0.3s ease;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.highlighter-rouge {
  margin: var(--zer0-space-3) 0;
  border: 1px solid var(--zer0-color-border);
  border-left: var(--zer0-code-accent-width) solid var(--zer0-color-primary);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--zer0-shadow-xs);
  overflow: hidden;
  background-color: var(--zer0-color-code-bg);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.highlighter-rouge:hover {
  border-color: color-mix(in srgb, var(--zer0-color-primary) 35%, var(--zer0-color-border));
  border-left-color: var(--zer0-color-primary);
  box-shadow: var(--zer0-shadow-sm);
}
.highlighter-rouge > .highlight:not(pre) {
  position: relative;
  padding: 0;
  margin: 0;
  background-color: transparent;
  border-radius: 0;
}
.highlighter-rouge .code-block-body {
  display: flex;
  align-items: stretch;
  min-width: 0;
}
.highlighter-rouge pre.highlight {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  margin: 0;
  border: 0;
  background-color: transparent;
  overflow-x: auto;
  white-space: pre;
}
.highlighter-rouge pre.highlight,
.highlighter-rouge pre.highlight code {
  background-color: transparent;
}
.highlighter-rouge pre.highlight > code {
  display: block;
  padding: 0;
  border: 0;
  overflow-x: auto;
  white-space: pre;
  font-family: var(--zer0-font-mono);
  font-size: 0.8125rem;
  line-height: var(--zer0-leading-normal);
  tab-size: 2;
}

.code-block-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--zer0-space-2);
  min-height: var(--zer0-code-header-height);
  padding: var(--zer0-space-1) var(--zer0-space-2);
  background-color: color-mix(in srgb, var(--zer0-color-code-bg) 78%, var(--zer0-color-ink));
  border-bottom: 1px solid var(--zer0-color-border);
}

.code-block-lang {
  font-family: var(--zer0-font-mono);
  font-size: 0.6875rem;
  font-weight: var(--zer0-font-weight-medium);
  letter-spacing: 0.04em;
  text-transform: lowercase;
  color: var(--zer0-color-ink-muted);
  user-select: none;
}

.code-block-body {
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.code-line-numbers {
  flex: 0 0 var(--zer0-code-gutter-width);
  padding: var(--zer0-space-2) var(--zer0-space-2) var(--zer0-space-2) var(--zer0-space-1);
  text-align: right;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
  color: var(--zer0-color-ink-muted);
  opacity: 0.65;
  font-family: var(--zer0-font-mono);
  font-size: 0.8125rem;
  line-height: var(--zer0-leading-normal);
  white-space: pre;
  border-right: 1px solid color-mix(in srgb, var(--zer0-color-border) 85%, transparent);
  background-color: color-mix(in srgb, var(--zer0-color-code-bg) 88%, var(--zer0-color-ink));
}

.code-block-body pre.highlight,
.code-block-body pre:not(.highlight) {
  flex: 1 1 auto;
  min-width: 0;
}

.highlighter-rouge .code-block-body pre.highlight {
  padding: var(--zer0-space-2) var(--zer0-space-3) var(--zer0-space-2) var(--zer0-space-2);
}

.code-block-body--single-line .code-line-numbers {
  padding-block: var(--zer0-space-2);
}

.code-block-body--standalone {
  margin: var(--zer0-space-3) 0;
  border: 1px solid var(--zer0-color-border);
  border-left: var(--zer0-code-accent-width) solid var(--zer0-color-primary);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--zer0-shadow-xs);
  background-color: var(--zer0-color-code-bg);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.code-block-body--standalone:hover {
  border-color: color-mix(in srgb, var(--zer0-color-primary) 35%, var(--zer0-color-border));
  border-left-color: var(--zer0-color-primary);
  box-shadow: var(--zer0-shadow-sm);
}
.code-block-body--standalone pre.highlight,
.code-block-body--standalone pre:not(.highlight) {
  margin: 0;
  padding: var(--zer0-space-2) var(--zer0-space-3) var(--zer0-space-2) var(--zer0-space-2);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
}
.code-block-body--standalone pre.highlight,
.code-block-body--standalone pre.highlight code,
.code-block-body--standalone pre:not(.highlight),
.code-block-body--standalone pre:not(.highlight) code {
  background-color: transparent;
}
.code-block-body--standalone pre.has-copy-button {
  padding-right: calc(var(--zer0-space-3) + var(--zer0-code-copy-width));
}

.copy {
  flex-shrink: 0;
  color: var(--bs-light);
  opacity: 0.75;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  background: color-mix(in srgb, var(--zer0-color-ink) 55%, transparent);
  border: 1px solid color-mix(in srgb, var(--bs-light) 18%, transparent);
  border-radius: calc(var(--bs-border-radius) * 0.75);
  padding: 0.2rem var(--zer0-space-2);
  font-size: 0.6875rem;
  font-weight: var(--zer0-font-weight-medium);
  line-height: 1.2;
  cursor: pointer;
  backdrop-filter: blur(4px);
}
.copy:active, .copy:focus, .copy:hover {
  background: color-mix(in srgb, var(--zer0-color-ink) 72%, transparent);
  opacity: 1;
  border-color: color-mix(in srgb, var(--bs-light) 35%, transparent);
  box-shadow: var(--zer0-shadow-xs);
}
.copy:active {
  transform: scale(0.97);
}
.copy.copied {
  background: var(--zer0-color-success);
  border-color: transparent;
  opacity: 1;
}

.code-block-header .copy {
  position: static;
  margin-left: auto;
}

.highlighter-rouge:hover .code-block-header .copy {
  opacity: 1;
}

pre.highlight,
.highlight:not(pre) pre {
  position: relative;
}
pre.highlight > code,
.highlight:not(pre) pre > code {
  display: block;
  border: 0;
  padding: 0;
  padding-right: calc(var(--zer0-space-3) + var(--zer0-code-copy-width));
  overflow-x: auto;
  white-space: pre;
  background-color: transparent;
  font-family: var(--zer0-font-mono);
  font-size: 0.8125rem;
  line-height: var(--zer0-leading-normal);
}
pre.highlight .copy,
.highlight:not(pre) pre .copy {
  position: absolute;
  right: var(--zer0-space-2);
  top: var(--zer0-space-2);
}
pre.highlight.code-block--single-line .copy,
.highlight:not(pre) pre.code-block--single-line .copy {
  top: 50%;
  transform: translateY(-50%);
}
pre.highlight.code-block--single-line .copy:active, pre.highlight.code-block--single-line .copy:focus, pre.highlight.code-block--single-line .copy:hover,
.highlight:not(pre) pre.code-block--single-line .copy:active,
.highlight:not(pre) pre.code-block--single-line .copy:focus,
.highlight:not(pre) pre.code-block--single-line .copy:hover {
  transform: translateY(-50%) scale(1.03);
}
pre.highlight.code-block--single-line .copy:active,
.highlight:not(pre) pre.code-block--single-line .copy:active {
  transform: translateY(-50%) scale(0.97);
}
pre.highlight:hover .copy,
.highlight:not(pre) pre:hover .copy {
  opacity: 1;
}

.highlighter-rouge pre.highlight > code {
  padding-right: 0;
}

pre.highlight {
  padding: var(--zer0-space-2) var(--zer0-space-3);
  color: inherit;
  overflow-x: auto;
  white-space: pre;
  word-wrap: normal;
  border-radius: var(--bs-border-radius);
  border: 1px solid var(--zer0-color-border);
  border-left: var(--zer0-code-accent-width) solid var(--zer0-color-primary);
  box-shadow: var(--zer0-shadow-xs);
}
pre.highlight,
pre.highlight code {
  background-color: var(--zer0-color-code-bg);
}

.highlighter-rouge pre.highlight,
pre.highlight.has-line-numbers {
  border: 0;
  box-shadow: none;
  border-radius: 0;
  background-color: transparent;
}
.highlighter-rouge pre.highlight,
.highlighter-rouge pre.highlight code,
pre.highlight.has-line-numbers,
pre.highlight.has-line-numbers code {
  background-color: transparent;
}

.highlight:not(pre) pre.highlight {
  padding: 0;
  border-left: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
}
.highlight:not(pre) pre.highlight,
.highlight:not(pre) pre.highlight code {
  background-color: transparent;
}

.highlight:not(pre) {
  position: relative;
}

pre.highlight > button:active,
pre.highlight > button:focus {
  opacity: 1;
}

.button,
button:not(.copy) {
  display: inline-block;
  padding: 0 20px;
  border-radius: 4px;
  border: 1px solid #bbb;
  font-size: 11px;
  cursor: pointer;
}

pre:not(.highlight) > code {
  display: block;
  padding: var(--zer0-space-2) var(--zer0-space-3);
  padding-right: calc(var(--zer0-space-3) + var(--zer0-code-copy-width));
  white-space: pre;
  font-family: var(--zer0-font-mono);
  font-size: 0.8125rem;
  line-height: var(--zer0-leading-normal);
}

pre:not(.highlight).has-copy-button > code {
  padding-right: calc(var(--zer0-space-3) + var(--zer0-code-copy-width));
}

/* ==========================================================================
   Syntax highlighting (Rouge)
   Light mode: GitHub Light-inspired — WCAG AA on --bd-pre-bg: #f8f9fa
   Dark mode:  Material Dark base16  — designed for --bd-pre-bg: #1b1f22
   ========================================================================== */
.highlight pre {
  width: 100%;
}

.highlight .hll {
  background-color: #fff3cd;
}

.highlight .c, .highlight .cm, .highlight .cp, .highlight .c1, .highlight .cs, .highlight .sd {
  /* Comment */
  color: #6a737d;
}
.highlight .err {
  /* Error */
  color: #b31d28;
}
.highlight .k, .highlight .kc, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr {
  /* Keyword */
  color: #d73a49;
}
.highlight .kt {
  /* Keyword.Type */
  color: #005cc5;
}
.highlight .l {
  /* Literal */
  color: #005cc5;
}
.highlight .n {
  /* Name */
  color: #24292e;
}
.highlight .o, .highlight .ow {
  /* Operator */
  color: #d73a49;
}
.highlight .p, .highlight .w {
  /* Punctuation / Whitespace */
  color: #24292e;
}
.highlight .gd {
  /* Generic.Deleted */
  color: #b31d28;
  background-color: #ffeef0;
}
.highlight .ge {
  /* Generic.Emph */
  font-style: italic;
}
.highlight .gh {
  /* Generic.Heading */
  color: #24292e;
  font-weight: bold;
}
.highlight .gi {
  /* Generic.Inserted */
  color: #22863a;
  background-color: #f0fff4;
}
.highlight .gp {
  /* Generic.Prompt */
  color: #6a737d;
  font-weight: bold;
}
.highlight .gs {
  /* Generic.Strong */
  font-weight: bold;
}
.highlight .gu {
  /* Generic.Subheading */
  color: #005cc5;
  font-weight: bold;
}
.highlight .ld {
  /* Literal.Date */
  color: #005cc5;
}
.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .mo, .highlight .il {
  /* Literal.Number */
  color: #005cc5;
}
.highlight .s, .highlight .sb, .highlight .sc, .highlight .sh, .highlight .sx, .highlight .sr, .highlight .s1, .highlight .s2, .highlight .ss {
  /* Literal.String */
  color: #032f62;
}
.highlight .se, .highlight .si {
  /* String.Escape / String.Interpol */
  color: #e36209;
}
.highlight .sd {
  /* String.Doc (docstring) */
  color: #6a737d;
}
.highlight .na {
  /* Name.Attribute */
  color: #6f42c1;
}
.highlight .nb, .highlight .bp {
  /* Name.Builtin */
  color: #005cc5;
}
.highlight .nc, .highlight .nn {
  /* Name.Class / Name.Namespace */
  color: #6f42c1;
}
.highlight .no, .highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi {
  /* Name.Constant / Name.Variable */
  color: #e36209;
}
.highlight .nd, .highlight .nt {
  /* Name.Decorator / Name.Tag */
  color: #d73a49;
}
.highlight .ni, .highlight .py {
  /* Name.Entity / Name.Property */
  color: #24292e;
}
.highlight .ne {
  /* Name.Exception */
  color: #b31d28;
}
.highlight .nf, .highlight .nx {
  /* Name.Function / Name.Other */
  color: #6f42c1;
}
.highlight .nl {
  /* Name.Label (JSON keys, etc.) */
  color: #005cc5;
}
.highlight .kn {
  /* Keyword.Namespace */
  color: #d73a49;
}

[data-bs-theme="dark"] .highlight .hll {
  background-color: #eeffff;
}
[data-bs-theme="dark"] .highlight .c, [data-bs-theme="dark"] .highlight .cm, [data-bs-theme="dark"] .highlight .cp, [data-bs-theme="dark"] .highlight .c1, [data-bs-theme="dark"] .highlight .cs, [data-bs-theme="dark"] .highlight .sd {
  color: #b2ccd6;
}
[data-bs-theme="dark"] .highlight .err {
  color: #f07178;
}
[data-bs-theme="dark"] .highlight .k, [data-bs-theme="dark"] .highlight .kc, [data-bs-theme="dark"] .highlight .kd, [data-bs-theme="dark"] .highlight .kn, [data-bs-theme="dark"] .highlight .kp, [data-bs-theme="dark"] .highlight .kr {
  color: #c792ea;
}
[data-bs-theme="dark"] .highlight .kt {
  color: #ffcb6b;
}
[data-bs-theme="dark"] .highlight .l {
  color: #f78c6c;
}
[data-bs-theme="dark"] .highlight .n {
  color: #eeffff;
}
[data-bs-theme="dark"] .highlight .o, [data-bs-theme="dark"] .highlight .ow {
  color: #89ddff;
}
[data-bs-theme="dark"] .highlight .p, [data-bs-theme="dark"] .highlight .w {
  color: #eeffff;
}
[data-bs-theme="dark"] .highlight .gd {
  color: #f07178;
  background-color: transparent;
}
[data-bs-theme="dark"] .highlight .ge {
  font-style: italic;
}
[data-bs-theme="dark"] .highlight .gh, [data-bs-theme="dark"] .highlight .gs {
  color: #eeffff;
  font-weight: bold;
}
[data-bs-theme="dark"] .highlight .gi {
  color: #c3e88d;
  background-color: transparent;
}
[data-bs-theme="dark"] .highlight .gp {
  color: #b2ccd6;
  font-weight: bold;
}
[data-bs-theme="dark"] .highlight .gu {
  color: #89ddff;
  font-weight: bold;
}
[data-bs-theme="dark"] .highlight .ld {
  color: #c3e88d;
}
[data-bs-theme="dark"] .highlight .m, [data-bs-theme="dark"] .highlight .mf, [data-bs-theme="dark"] .highlight .mh, [data-bs-theme="dark"] .highlight .mi, [data-bs-theme="dark"] .highlight .mo, [data-bs-theme="dark"] .highlight .il {
  color: #f78c6c;
}
[data-bs-theme="dark"] .highlight .s, [data-bs-theme="dark"] .highlight .sb, [data-bs-theme="dark"] .highlight .sc, [data-bs-theme="dark"] .highlight .sh, [data-bs-theme="dark"] .highlight .sx, [data-bs-theme="dark"] .highlight .sr,
[data-bs-theme="dark"] .highlight .s1, [data-bs-theme="dark"] .highlight .s2, [data-bs-theme="dark"] .highlight .ss, [data-bs-theme="dark"] .highlight .se, [data-bs-theme="dark"] .highlight .si {
  color: #c3e88d;
}
[data-bs-theme="dark"] .highlight .sd {
  color: #b2ccd6;
}
[data-bs-theme="dark"] .highlight .na {
  color: #82aaff;
}
[data-bs-theme="dark"] .highlight .nb, [data-bs-theme="dark"] .highlight .bp {
  color: #eeffff;
}
[data-bs-theme="dark"] .highlight .nc, [data-bs-theme="dark"] .highlight .nn {
  color: #ffcb6b;
}
[data-bs-theme="dark"] .highlight .no, [data-bs-theme="dark"] .highlight .nv, [data-bs-theme="dark"] .highlight .vc, [data-bs-theme="dark"] .highlight .vg, [data-bs-theme="dark"] .highlight .vi {
  color: #f07178;
}
[data-bs-theme="dark"] .highlight .nd, [data-bs-theme="dark"] .highlight .nt {
  color: #89ddff;
}
[data-bs-theme="dark"] .highlight .ni, [data-bs-theme="dark"] .highlight .py {
  color: #eeffff;
}
[data-bs-theme="dark"] .highlight .ne {
  color: #f07178;
}
[data-bs-theme="dark"] .highlight .nf, [data-bs-theme="dark"] .highlight .nx {
  color: #82aaff;
}
[data-bs-theme="dark"] .highlight .nl {
  color: #eeffff;
}
[data-bs-theme="dark"] .highlight .kn {
  color: #89ddff;
}

.gist th, .gist td {
  border-bottom: 0;
}
