@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-feedback: 1051;
  --zer0-layer-fab-chat: 1052;
  --zer0-layer-fab-toc: 1055;
  --zer0-layer-fab-local-graph: 1060;
  --zer0-layer-offcanvas: 1045;
  --zer0-layer-modal: 1055;
  --zer0-layer-feedback-modal: 1096;
  --zer0-layer-popover: 1070;
  --zer0-layer-tooltip: 1080;
  --zer0-layer-toast: 1090;
  --zer0-layer-cookie-banner: 1095;
  --zer0-layer-skip-link: 1100;
}

/* ==========================================================================
   Variables
   ========================================================================== */
/* ==========================================================================
   Variables
   ========================================================================== */
[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: rgb(11.568627451%, 29.8039215686%, 50.7843137255%);
  --bs-dropdown-link-active-bg: #346182;
}
[data-bs-theme=wizard] .btn-secondary {
  --bs-btn-bg: rgb(2.9431372549%, 21.6901960784%, 50.5803921569%);
  --bs-btn-border-color: rgba(255, 255, 255, 0.25);
  --bs-btn-hover-bg: rgb(2.393259979%, 17.6377361011%, 41.1302694328%);
  --bs-btn-hover-border-color: rgba(255, 255, 255, 0.25);
  --bs-btn-active-bg: rgb(1.8433827031%, 13.5852761239%, 31.6801467086%);
  --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 {
  isolation: isolate;
}
.zer0-bg-body::after {
  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: -0.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: 0.25rem;
    margin-left: -0.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: 0.1875rem 0.5rem;
  margin-top: 0.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) * 0.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: 0.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: 0.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: 0.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: 0.125rem 0.5rem;
  font-size: 0.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) * 0.75);
}

.bd-intro-badge--tag {
  font-size: 0.75rem;
  font-weight: var(--zer0-font-weight-regular);
  padding-inline: 0.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: 0.555em;
  flex-shrink: 0;
  visibility: hidden;
}

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

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

/* a11y (WCAG 1.4.1 link-in-text-block): prose links must be distinguishable
   without relying on color. Underline inline content links; exclude links
   that already carry their own non-color affordance (buttons, badges, nav
   pills/tabs, card and icon links). */
.bd-content :is(p, li, blockquote, td, dd) a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item):not(.page-link):not(.card-link):not([class*=text-decoration]),
.post-content :is(p, li, blockquote, td, dd) a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item):not(.page-link):not(.card-link):not([class*=text-decoration]),
.landing-content-body :is(p, li, blockquote, td, dd) a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item):not(.page-link):not(.card-link):not([class*=text-decoration]),
.home :is(p, li, blockquote, td, dd) a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item):not(.page-link):not(.card-link):not([class*=text-decoration]),
#admin-content :is(p, li, blockquote, td, dd, .alert) a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item):not(.page-link):not(.card-link):not(.alert-link):not([class*=text-decoration]) {
  text-decoration: underline;
}

@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: 0.125rem 0 0.125rem 0.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: 0.75rem;
  padding-bottom: 0.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) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.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(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.example-content-main {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.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) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.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: 0.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: 0.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: 0.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;
}

.min-w-0 {
  min-width: 0 !important;
}

.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;
  }
}
.author-inline {
  vertical-align: baseline;
}
.author-inline__avatar {
  flex: 0 0 auto;
}
.author-inline__link {
  transition: color var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard);
}
.author-inline__link:hover .author-name, .author-inline__link:focus-visible .author-name {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.author-inline__link:focus-visible {
  outline: 2px solid var(--zer0-color-primary, var(--bs-primary));
  outline-offset: 2px;
  border-radius: 0.25rem;
}

.author-avatar-fallback {
  flex: 0 0 auto;
  background: var(--zer0-color-primary, var(--bs-primary));
}

.author-card .author-card__avatar,
.author-card img.rounded-circle,
.author-card-compact .author-card__avatar,
.author-card-compact img.rounded-circle {
  border: 2px solid rgba(var(--zer0-color-primary-rgb, var(--bs-primary-rgb)), 0.25);
}

.author-card .card-body .flex-grow-1 {
  min-width: 0;
}

.author-expertise .badge {
  font-weight: 500;
  white-space: normal;
  text-align: start;
}

.author-tagline {
  color: var(--zer0-color-text-muted, var(--bs-secondary-color));
}

.author-ai-badge {
  background-color: rgba(111, 66, 193, 0.14);
  color: #6f42c1;
  border: 1px solid rgba(111, 66, 193, 0.4);
  font-size: 0.7em;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  vertical-align: middle;
}
[data-bs-theme=dark] .author-ai-badge {
  color: #c8a2ff;
  background-color: rgba(111, 66, 193, 0.28);
  border-color: rgba(111, 66, 193, 0.55);
}

.author-ai-disclosure {
  border-left: 3px solid rgba(111, 66, 193, 0.5);
  padding-left: 0.65rem;
}

.author-hero {
  background: var(--zer0-color-bg-elevated, var(--bs-tertiary-bg));
}
.author-hero__avatar {
  border: 3px solid rgba(var(--zer0-color-primary-rgb, var(--bs-primary-rgb)), 0.35);
  box-shadow: var(--zer0-shadow-sm);
}
.author-hero__tagline {
  font-size: 1.05rem;
}

.author-content .author-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.author-content .author-stat {
  flex: 1 1 auto;
  min-width: 5.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  padding: 0.75rem 1rem;
  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;
  color: inherit;
  cursor: pointer;
  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), background-color var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard);
}
.author-content .author-stat:hover {
  transform: translateY(-2px);
  box-shadow: var(--zer0-shadow-md);
  border-color: rgba(var(--zer0-color-primary-rgb, var(--bs-primary-rgb)), 0.5);
}
.author-content .author-stat:focus-visible {
  outline: 2px solid var(--zer0-color-primary, var(--bs-primary));
  outline-offset: 2px;
}
.author-content .author-stat.is-active {
  background: var(--zer0-color-primary, var(--bs-primary));
  border-color: var(--zer0-color-primary, var(--bs-primary));
  color: #fff;
}
.author-content .author-stat__num {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}
.author-content .author-stat__label {
  font-size: 0.8rem;
  white-space: nowrap;
}
.author-content .author-search__icon {
  position: absolute;
  top: 50%;
  left: 0.75rem;
  transform: translateY(-50%);
  color: var(--bs-secondary-color);
  pointer-events: none;
}
.author-content .author-search .form-control {
  padding-left: 2.25rem;
}
.author-content .author-tagcloud {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}
.author-content .author-tag {
  border: 1px solid var(--zer0-color-border, var(--bs-border-color));
  background: transparent;
  color: var(--bs-body-color);
  cursor: pointer;
  transition: background-color var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard), color var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard), border-color var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard);
}
.author-content .author-tag:hover {
  border-color: rgba(var(--zer0-color-primary-rgb, var(--bs-primary-rgb)), 0.6);
}
.author-content .author-tag:focus-visible {
  outline: 2px solid var(--zer0-color-primary, var(--bs-primary));
  outline-offset: 2px;
}
.author-content .author-tag.is-active {
  background: var(--zer0-color-primary, var(--bs-primary));
  border-color: var(--zer0-color-primary, var(--bs-primary));
  color: #fff;
}
@media (prefers-reduced-motion: no-preference) {
  .author-content .author-item:not(.d-none) {
    animation: authorItemIn var(--zer0-motion-duration-base, 220ms) var(--zer0-motion-ease-standard) both;
  }
}

@keyframes authorItemIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.authors-index .author-card-compact {
  width: 100%;
}

.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-dark-block ul.list-unstyled li > a,
.bd-footer .footer-dark-block p > a {
  display: inline-block;
  padding-block: 0.25rem;
}
.bd-footer .footer-dark-block ul.list-inline li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-width: 1.75rem;
  min-height: 1.75rem;
}
.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-x: auto;
  -webkit-overflow-scrolling: touch;
  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;
  }
}
.bd-content :not(pre) > code {
  overflow-wrap: break-word;
  word-break: break-word;
}

.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;
  }
}
.landing-content-body :not(pre) > code {
  overflow-wrap: break-word;
  word-break: break-word;
}

.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;
  }
}
.post-content :not(pre) > code {
  overflow-wrap: break-word;
  word-break: break-word;
}

.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;
  }
}
.note-content :not(pre) > code {
  overflow-wrap: break-word;
  word-break: break-word;
}

.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;
  }
}
.notebook-content :not(pre) > code {
  overflow-wrap: break-word;
  word-break: break-word;
}

.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;
  }
}
.page-content :not(pre) > code {
  overflow-wrap: break-word;
  word-break: break-word;
}

.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;
}

.pf-fab {
  position: fixed;
  bottom: var(--zer0-space-fab-offset, 1rem);
  left: var(--zer0-space-fab-offset, 1rem);
  z-index: var(--zer0-layer-fab-feedback, 1051);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--zer0-space-fab-size, 3.5rem);
  height: var(--zer0-space-fab-size, 3.5rem);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--zer0-color-primary, var(--bs-primary));
  color: #fff;
  font-size: 1.25rem;
  opacity: 0.9;
  box-shadow: var(--zer0-shadow-fab, 0 0.5rem 1rem rgba(0, 0, 0, 0.25));
  transition: opacity var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard, ease), transform var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard, ease);
}
.pf-fab:hover, .pf-fab:focus-visible {
  opacity: 1;
  color: #fff;
  transform: translateY(-2px);
}

.pf-no-scroll {
  overflow: hidden;
}

.pf-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--zer0-layer-feedback-modal, 1096);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity var(--zer0-motion-duration, 180ms) var(--zer0-motion-ease-standard, ease);
}
.pf-overlay[hidden] {
  display: none;
}
.pf-overlay.pf-overlay--open {
  opacity: 1;
}
@media (min-width: 576px) {
  .pf-overlay {
    align-items: center;
    padding: var(--zer0-space-3, 1rem);
  }
}

.pf-dialog {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 40rem;
  max-height: 92vh;
  overflow: hidden;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.15));
  border-radius: 1rem 1rem 0 0;
  transform: translateY(20px);
  transition: transform var(--zer0-motion-duration, 180ms) var(--zer0-motion-ease-standard, ease);
}
.pf-overlay--open .pf-dialog {
  transform: translateY(0);
}
@media (min-width: 576px) {
  .pf-dialog {
    border-radius: 1rem;
  }
}

.pf-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--zer0-space-2, 0.5rem);
  padding: var(--zer0-space-3, 1rem) var(--zer0-space-3, 1rem) var(--zer0-space-2, 0.5rem);
  border-bottom: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
}

.pf-title {
  display: flex;
  align-items: center;
}

.pf-intro {
  font-size: 0.875rem;
  line-height: 1.4;
}

.pf-close {
  flex-shrink: 0;
  color: var(--bs-body-color);
  background: transparent;
  border: 0;
  opacity: 0.6;
}
.pf-close:hover, .pf-close:focus-visible {
  opacity: 1;
}

.pf-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: var(--zer0-space-3, 1rem);
  display: flex;
  flex-direction: column;
  gap: var(--zer0-space-3, 1rem);
}

.pf-field {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}

.pf-legend,
.pf-label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--bs-secondary-color, var(--zer0-color-ink-muted, #6c757d));
  margin-bottom: var(--zer0-space-2, 0.5rem);
}

.pf-help {
  font-size: 0.8125rem;
  margin: 0.35rem 0 0;
}

.pf-types-group {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color, #6c757d);
  margin: var(--zer0-space-2, 0.5rem) 0 0.35rem;
}

.pf-types-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 480px) {
  .pf-types-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.pf-type {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  text-align: left;
  padding: 0.625rem 0.75rem;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.15));
  border-radius: 0.625rem;
  cursor: pointer;
  transition: border-color 120ms ease, background-color 120ms ease;
}
.pf-type:hover {
  border-color: var(--zer0-color-primary, var(--bs-primary));
}
.pf-type:focus-visible {
  outline: 2px solid var(--zer0-color-primary, var(--bs-primary));
  outline-offset: 2px;
}
.pf-type.pf-type--active {
  border-color: var(--zer0-color-primary, var(--bs-primary));
  background: color-mix(in srgb, var(--bs-primary) 10%, transparent);
  box-shadow: inset 0 0 0 1px var(--zer0-color-primary, var(--bs-primary));
}

.pf-type-icon {
  flex-shrink: 0;
  margin-top: 0.1rem;
  font-size: 1rem;
  color: var(--zer0-color-primary, var(--bs-primary));
}

.pf-type-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.pf-type-label {
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.2;
}

.pf-type-desc {
  font-size: 0.78rem;
  line-height: 1.3;
  color: var(--bs-secondary-color, #6c757d);
}

.pf-summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.875rem;
}

.pf-context-count {
  color: var(--bs-secondary-color, #6c757d);
  font-weight: 400;
}

.pf-context-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  font-size: 0.8125rem;
}
.pf-context-list li {
  display: flex;
  gap: 0.5rem;
  padding: 0.15rem 0;
}

.pf-context-key {
  flex: 0 0 4rem;
  color: var(--bs-secondary-color, #6c757d);
}

.pf-context-val {
  min-width: 0;
  word-break: break-word;
}

.pf-logs {
  margin-top: 0.75rem;
}

.pf-check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 500;
}

.pf-logs-preview {
  max-height: 9rem;
  overflow: auto;
  margin: 0.5rem 0 0;
  padding: 0.5rem 0.625rem;
  font-size: 0.72rem;
  line-height: 1.4;
  white-space: pre-wrap;
  word-break: break-word;
  background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.04));
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  border-radius: 0.5rem;
}

.pf-ai-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pf-ai-hint {
  font-size: 0.8125rem;
}

.pf-ai-result {
  margin-top: 0.625rem;
  font-size: 0.875rem;
}

.pf-ai-card {
  padding: 0.75rem 0.875rem;
  background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.04));
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  border-radius: 0.625rem;
}
.pf-ai-card p {
  margin: 0 0 0.5rem;
}
.pf-ai-card p:last-child {
  margin-bottom: 0;
}

.pf-ai-badges .badge {
  margin-right: 0.25rem;
}

.pf-ai-questions {
  margin: 0.25rem 0 0.5rem 1.1rem;
  padding: 0;
}

.pf-ai-labels code {
  font-size: 0.78rem;
}

.pf-ai-error {
  color: var(--bs-danger-text-emphasis, var(--bs-danger));
}

.pf-ai-spinner,
.pf-ai-note i {
  color: var(--zer0-color-primary, var(--bs-primary));
}

.pf-ai-spinner {
  display: inline-block;
  width: 0.85rem;
  height: 0.85rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -0.1rem;
  animation: pf-spin 0.7s linear infinite;
}

@keyframes pf-spin {
  to {
    transform: rotate(360deg);
  }
}
.pf-status:empty {
  display: none;
}

.pf-status {
  font-size: 0.8125rem;
  margin: 0;
  padding: 0.5rem 0.625rem;
  border-radius: 0.5rem;
}
.pf-status.pf-status--ok {
  background: var(--bs-success-bg-subtle, #d1e7dd);
  color: var(--bs-success-text-emphasis, #0a3622);
}
.pf-status.pf-status--warn {
  background: var(--bs-warning-bg-subtle, #fff3cd);
  color: var(--bs-warning-text-emphasis, #664d03);
}
.pf-status.pf-status--pending {
  background: var(--bs-info-bg-subtle, #cff4fc);
  color: var(--bs-info-text-emphasis, #055160);
}
.pf-status a {
  color: inherit;
  text-decoration: underline;
}

.pf-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--zer0-space-2, 0.5rem);
  padding: var(--zer0-space-2, 0.5rem) var(--zer0-space-3, 1rem);
  border-top: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  background: var(--bs-body-bg);
}

.pf-footer-primary {
  display: flex;
  gap: 0.5rem;
}

.pf-copy {
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .pf-fab,
  .pf-overlay,
  .pf-dialog {
    transition: none;
  }
  .pf-ai-spinner {
    animation: none;
  }
}
:root {
  --zer0-book-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia,
    "Times New Roman", serif;
  --zer0-book-font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
  --zer0-book-measure: 42rem;
  --zer0-book-plate-radius: 1rem;
}

.book-cover-frame {
  position: relative;
  display: block;
  aspect-ratio: 3/4;
  overflow: hidden;
  border-radius: 0.5rem 1rem 1rem 0.5rem;
  box-shadow: inset 0.35rem 0 0.5rem -0.35rem rgba(0, 0, 0, 0.45), 0 0.75rem 1.5rem rgba(0, 0, 0, 0.25);
  background-color: var(--bs-secondary-bg);
}
.book-cover-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.book-card .book-cover-frame {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
@media (prefers-reduced-motion: reduce) {
  .book-card .book-cover-frame {
    transition: none;
  }
}
.book-card:hover .book-cover-frame, .book-card:focus-within .book-cover-frame {
  transform: translateY(-0.25rem) rotate(-1deg);
  box-shadow: inset 0.35rem 0 0.5rem -0.35rem rgba(0, 0, 0, 0.45), 0 1.25rem 2rem rgba(0, 0, 0, 0.3);
}

.book-hero .book-hero-title {
  font-family: var(--zer0-book-serif);
  letter-spacing: -0.01em;
}
.book-hero .book-hero-cover {
  max-width: 22rem;
}

.book-toc .book-toc-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.75rem;
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  text-decoration: none;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .book-toc .book-toc-item {
    transition: none;
  }
}
.book-toc .book-toc-item:hover, .book-toc .book-toc-item:focus-visible {
  border-color: var(--bs-primary);
  transform: translateX(0.25rem);
}
.book-toc .book-toc-number {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  font-weight: 700;
  background-color: var(--bs-primary-bg-subtle);
  color: var(--bs-primary-text-emphasis);
}
.book-toc .book-toc-thumb {
  flex: 0 0 auto;
  width: 4.5rem;
  height: 3rem;
  object-fit: cover;
  border-radius: 0.5rem;
}

.book-story-content {
  max-width: var(--zer0-book-measure);
  margin-inline: auto;
  font-family: var(--zer0-book-serif);
  font-size: var(--zer0-book-font-size);
  line-height: 1.8;
}
.book-story-content p {
  margin-bottom: 1.25em;
}
.book-story-content > p:first-of-type::first-letter {
  float: left;
  font-size: 3.2em;
  line-height: 0.85;
  padding-right: 0.12em;
  font-weight: 700;
  color: var(--bs-primary-text-emphasis);
}
.book-story-content > p > img,
.book-story-content > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--zer0-book-plate-radius);
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.2);
}

.book-plate {
  margin: 2rem auto;
  max-width: min(52rem, 100%);
}
.book-plate img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--zer0-book-plate-radius);
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.2);
}
.book-plate figcaption {
  margin-top: 0.5rem;
  text-align: center;
  font-style: italic;
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.book-the-end {
  font-family: var(--zer0-book-serif);
  font-style: italic;
  text-align: center;
  color: var(--bs-secondary-color);
}
.book-the-end::before, .book-the-end::after {
  content: "❦";
  margin-inline: 0.75rem;
  color: var(--bs-primary-text-emphasis);
}

.book-colophon {
  max-width: var(--zer0-book-measure);
  margin-inline: auto;
}
.book-colophon summary {
  cursor: pointer;
  color: var(--bs-secondary-color);
}
.book-colophon summary:hover {
  color: var(--bs-body-color);
}
.book-colophon .book-colophon-prompt {
  font-size: 0.85rem;
  color: var(--bs-secondary-color);
  background-color: var(--bs-tertiary-bg);
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
}

@media print {
  .book-story-nav,
  .book-colophon {
    display: none !important;
  }
  .book-plate img,
  .book-story-content img {
    box-shadow: none;
    break-inside: avoid;
  }
}
.abc-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: center;
  margin-bottom: 2rem;
}
.abc-jump-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  padding: 0.15rem 0.4rem;
  font-family: var(--zer0-book-serif);
  font-weight: 700;
  text-decoration: none;
  color: var(--bs-primary-text-emphasis);
  background-color: var(--bs-primary-bg-subtle);
  border-radius: 0.4rem;
}
.abc-jump-link:hover, .abc-jump-link:focus-visible {
  color: var(--bs-body-bg);
  background-color: var(--bs-primary);
}

.abc-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
  gap: 1.5rem;
  --abc-tint: var(--bs-primary-bg-subtle);
  --abc-badge-bg: var(--bs-primary);
  --abc-badge-ink: var(--bs-body-bg);
}

.abc-letter {
  scroll-margin-top: 5rem;
  text-align: center;
}
.abc-letter-plate {
  position: relative;
  aspect-ratio: 1/1;
  border-radius: var(--zer0-book-plate-radius);
  overflow: hidden;
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.18);
  background-color: var(--abc-tint);
}
.abc-letter-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.abc-letter-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-image: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--abc-tint) 55%, white), var(--abc-tint));
}
.abc-letter-glyph {
  font-family: var(--zer0-book-serif);
  font-weight: 800;
  font-size: clamp(4rem, 10vw, 7rem);
  line-height: 1;
  color: var(--abc-badge-bg);
}
.abc-letter-planned {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--bs-secondary-color);
}
.abc-letter-badge {
  position: absolute;
  left: 0.6rem;
  bottom: 0.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 0.7rem;
  font-family: var(--zer0-book-serif);
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--abc-badge-ink);
  background-color: var(--abc-badge-bg);
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.25);
}
.abc-letter-word {
  font-family: var(--zer0-book-serif);
  font-weight: 700;
  font-size: 1.4rem;
  margin: 0.8rem 0 0.15rem;
  color: var(--bs-emphasis-color);
}
.abc-letter-tagline {
  font-family: var(--zer0-book-serif);
  font-size: 1rem;
  line-height: 1.4;
  color: var(--bs-secondary-color);
  max-width: 22rem;
  margin-inline: auto;
}

.abc-style--isometric-tech-toy {
  --abc-tint: #dceaff;
  --abc-badge-bg: #2b7de9;
  --abc-badge-ink: #fff;
}

.abc-style--chalkboard-doodle {
  --abc-tint: #2f4f45;
  --abc-badge-bg: #f4d35e;
  --abc-badge-ink: #23342d;
}
.abc-style--chalkboard-doodle .abc-letter-glyph {
  color: #f7fbf9;
}
.abc-style--chalkboard-doodle .abc-letter-planned {
  color: rgba(255, 255, 255, 0.7);
}

.abc-style--soft-plush {
  --abc-tint: #ffe6ef;
  --abc-badge-bg: #f48fb1;
  --abc-badge-ink: #5a2436;
}

.abc-style--crayon-primary {
  --abc-tint: #fff3c4;
  --abc-badge-bg: #e23b3b;
  --abc-badge-ink: #fff;
}

.abc-style--paper-cutout {
  --abc-tint: #ffe8d1;
  --abc-badge-bg: #d98b4a;
  --abc-badge-ink: #fff;
}

.abc-style--watercolor-storybook {
  --abc-tint: #eef4e6;
  --abc-badge-bg: #7fa05a;
  --abc-badge-ink: #fff;
}

@media print {
  .abc-jump {
    display: none !important;
  }
  .abc-letter-plate {
    box-shadow: none;
    break-inside: avoid;
  }
}
.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: calc(var(--zer0-space-fab-offset, 1rem) + var(--zer0-space-fab-size, 3.5rem) + var(--zer0-space-fab-gap, 0.75rem));
}
@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.offcanvas-lg,
  #info-section.offcanvas {
    --bs-offcanvas-width: min(21rem, 86vw);
  }
  body:has(#bdNavbar.offcanvas-lg.showing) header.fixed-top,
  body:has(#bdNavbar.offcanvas-lg.show) header.fixed-top,
  body:has(#bdNavbar.offcanvas-lg.hiding) header.fixed-top {
    z-index: 1046;
  }
  #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;
}
@media (max-width: 575.98px) {
  #info-section .nav-tabs .nav-link {
    padding: 0.6rem 0.25rem;
    font-size: 0.8125rem;
  }
  #info-section .nav-tabs .nav-link .bi {
    display: none;
  }
}

.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;
  }
}
#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;
  }
}
#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:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
  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-color);
  background-color: var(--bs-secondary-bg);
  border-radius: 0.5rem;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.obsidian-tag:hover {
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-emphasis-color);
  text-decoration: none;
}
.obsidian-tag:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 1px;
  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-toggle {
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.obsidian-callout .obsidian-callout-toggle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 0.2rem;
}
.obsidian-callout .obsidian-callout-chevron {
  transition: transform 0.2s ease;
}
.obsidian-callout .obsidian-callout-toggle[aria-expanded=false] .obsidian-callout-chevron {
  transform: rotate(-90deg);
}
.obsidian-callout .obsidian-callout-body {
  margin: 0;
}
.obsidian-callout .obsidian-callout-body > :last-child {
  margin-bottom: 0;
}
.obsidian-callout .obsidian-callout-body[hidden] {
  display: none;
}
.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-graph-shell {
  position: relative;
}
.obsidian-graph-shell #obsidian-graph {
  width: 100%;
  height: 82vh;
  min-height: 620px;
  border: 1px solid rgba(var(--bs-border-color-rgb, 222, 226, 230), 0.55);
  border-radius: var(--bs-border-radius-lg, 0.5rem);
  background: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 8px 24px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  position: relative;
  overflow: hidden;
}
[data-bs-theme=dark] .obsidian-graph-shell #obsidian-graph {
  background: rgba(var(--bs-body-bg-rgb, 33, 37, 41), 0.38);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 8px 28px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.obsidian-graph-shell-expanded {
  position: fixed;
  inset: 0;
  z-index: var(--zer0-layer-offcanvas, 1045);
  background: var(--bs-body-bg, #fff);
  padding: 0.75rem;
}

.obsidian-graph-shell-expanded #obsidian-graph,
.obsidian-graph-shell:fullscreen #obsidian-graph {
  height: 100%;
  min-height: 0;
}

.obsidian-graph-shell:fullscreen {
  background: var(--bs-body-bg, #fff);
  padding: 0.75rem;
}

.obsidian-graph-controls {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 20;
  width: min(17.5rem, 100% - 1.5rem);
  max-height: calc(100% - 1.5rem);
  display: flex;
  flex-direction: column;
  background: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.86);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  backdrop-filter: blur(10px) saturate(1.1);
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: var(--bs-border-radius, 0.375rem);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.obsidian-graph-controls .obsidian-graph-controls-toggle {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  font-weight: 600;
  color: var(--bs-body-color, #212529);
  border: 0;
  border-radius: 0;
}
.obsidian-graph-controls .obsidian-graph-controls-toggle:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: -2px;
}
.obsidian-graph-controls .obsidian-graph-controls-chevron {
  transition: transform 0.2s ease;
}
.obsidian-graph-controls .obsidian-graph-controls-toggle[aria-expanded=true] .obsidian-graph-controls-chevron {
  transform: rotate(180deg);
}
.obsidian-graph-controls .obsidian-graph-controls-body {
  overflow-y: auto;
  border-top: 1px solid var(--bs-border-color, #dee2e6);
}
.obsidian-graph-controls .accordion {
  --bs-accordion-bg: transparent;
  font-size: 0.875rem;
}
.obsidian-graph-controls .accordion-button {
  font-size: 0.875rem;
  font-weight: 600;
}
.obsidian-graph-controls .form-label {
  margin-bottom: 0.125rem;
  color: var(--bs-secondary-color, #6c757d);
}
.obsidian-graph-controls .form-range {
  margin-bottom: 0.375rem;
}

.obsidian-graph-collections {
  max-height: 12.5rem;
  overflow-y: auto;
}
.obsidian-graph-collections .obsidian-graph-collection-filter {
  margin-bottom: 0.125rem;
}
.obsidian-graph-collections .obsidian-graph-collection-filter .form-check-label {
  width: 100%;
  cursor: pointer;
}
.obsidian-graph-collections .obsidian-graph-collection-filter .swatch {
  display: inline-block;
  flex: 0 0 auto;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}
.obsidian-graph-collections .obsidian-graph-collection-filter .badge {
  font-size: 0.7rem;
}

.obsidian-graph-zoombar {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 20;
  border-radius: var(--bs-border-radius, 0.375rem);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.obsidian-graph-zoombar > .btn {
  background: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.88);
  color: var(--bs-body-color, #212529);
  border: 1px solid var(--bs-border-color, #dee2e6);
  line-height: 1;
}
.obsidian-graph-zoombar > .btn:hover, .obsidian-graph-zoombar > .btn:focus-visible {
  background: var(--bs-tertiary-bg, #f8f9fa);
}
.obsidian-graph-zoombar > .btn[aria-pressed=true] {
  background: rgba(var(--bs-primary-rgb), 0.12);
  color: var(--bs-primary);
}

.obsidian-graph-preview {
  position: absolute;
  z-index: 30;
  width: min(17rem, 100% - 1.5rem);
  pointer-events: none;
  background: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.94);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid var(--bs-border-color, #dee2e6);
}
.obsidian-graph-preview[hidden] {
  display: none;
}
.obsidian-graph-preview .obsidian-graph-preview-swatch {
  display: inline-block;
  flex: 0 0 auto;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}
.obsidian-graph-preview .obsidian-graph-preview-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--bs-secondary-color, #6c757d);
}

#obsidian-graph-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
#obsidian-graph-stats .badge {
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.35rem 0.6rem;
}

.obsidian-graph-status {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color, #6c757d);
  min-height: 1.25rem;
  margin: 0.5rem 0 0;
}

.obsidian-graph-tips {
  margin-top: 0.75rem;
  padding: 0.625rem 0.75rem;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color, #6c757d);
  background: var(--bs-tertiary-bg, #f8f9fa);
  border-left: 3px solid var(--bs-primary, #0d6efd);
  border-radius: 0.25rem;
}
.obsidian-graph-tips strong {
  color: var(--bs-body-color, #212529);
}

@media (max-width: 767.98px) {
  .obsidian-graph-shell {
    display: flex;
    flex-direction: column;
  }
  .obsidian-graph-shell #obsidian-graph {
    height: 62vh;
    min-height: 420px;
  }
  .obsidian-graph-controls {
    position: static;
    order: -1;
    width: 100%;
    max-height: none;
    margin-bottom: 0.5rem;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--bs-body-bg, #fff);
  }
  .obsidian-graph-controls .obsidian-graph-controls-body {
    max-height: 45vh;
  }
}
#obsidianLocalGraphFab.obsidian-local-graph-fab {
  position: fixed;
  left: var(--zer0-space-fab-offset, 1rem);
  right: auto;
  bottom: calc(var(--zer0-space-fab-offset, 1rem) + var(--zer0-space-fab-size, 3.5rem) + var(--zer0-space-fab-gap, 0.75rem));
  z-index: var(--zer0-layer-fab-local-graph);
}
#obsidianLocalGraphFab.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%;
}

html {
  overflow-x: clip;
}

* {
  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;
}

.breadcrumbs .breadcrumb-item > a {
  display: inline-block;
  padding-block: 0.25rem;
  margin-block: -0.25rem;
}

.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;
}

.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 .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;
  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 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.5rem;
  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;
}
@media (pointer: coarse) {
  .copy {
    min-height: 2rem;
  }
}

.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));
  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;
}

/*# sourceMappingURL=main.css.map */