@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-logo-red: #a11111;
  --zer0-logo-yellow: #ffe900;
  --zer0-logo-teal: #376986;
  --zer0-logo-blue: #007bff;
  --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-radius-sm: 0.25rem;
  --zer0-radius: 0.375rem;
  --zer0-radius-lg: 0.5rem;
  --zer0-radius-xl: 0.75rem;
  --zer0-radius-pill: 50rem;
  --zer0-radius-circle: 50%;
}

: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-text-display-4: clamp(2.5rem, 6vw, 3.5rem);
  --zer0-text-display-5: clamp(2rem, 5vw, 3rem);
  --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: #1e4c82;
  --bs-dropdown-link-active-bg: #346182;
}
[data-bs-theme="wizard"] .btn-secondary {
  --bs-btn-bg: #083781;
  --bs-btn-border-color: rgba(255, 255, 255, 0.25);
  --bs-btn-hover-bg: #072d69;
  --bs-btn-hover-border-color: rgba(255, 255, 255, 0.25);
  --bs-btn-active-bg: #052351;
  --bs-btn-active-border-color: rgba(255, 255, 255, 0.5);
  --bs-btn-focus-border-color: rgba(255, 255, 255, 0.5);
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.2);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.zer0-bg-body {
  position: relative;
  isolation: isolate;
}
.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::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):not(.badge) {
  color: var(--bs-link-color);
}
[data-theme-skin="air"] a:not(.btn):not(.badge):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):not(.badge) {
  color: var(--bs-link-color);
}
[data-theme-skin="aqua"] a:not(.btn):not(.badge):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):not(.badge) {
  color: var(--bs-link-color);
}
[data-theme-skin="dirt"] a:not(.btn):not(.badge):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):not(.badge) {
  color: var(--bs-link-color);
}
[data-theme-skin="neon"] a:not(.btn):not(.badge):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):not(.badge) {
  color: var(--bs-link-color);
}
[data-theme-skin="mint"] a:not(.btn):not(.badge):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):not(.badge) {
  color: var(--bs-link-color);
}
[data-theme-skin="plum"] a:not(.btn):not(.badge):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):not(.badge) {
  color: var(--bs-link-color);
}
[data-theme-skin="sunrise"] a:not(.btn):not(.badge):hover {
  color: var(--bs-link-hover-color);
}
[data-theme-skin="sunrise"] .card:not(.skin-card) {
  background-color: var(--zer0-color-bg-elevated);
  border-color: var(--zer0-color-border);
}
[data-theme-skin="sunrise"] .list-group-item.active {
  background-color: #ff6b35;
  border-color: #ff6b35;
}
[data-theme-skin="sunrise"] .list-group-item-action:hover:not(.active) {
  color: #f7c59f;
}
[data-theme-skin="sunrise"] .form-control:focus,
[data-theme-skin="sunrise"] .form-select:focus,
[data-theme-skin="sunrise"] .form-check-input:focus {
  border-color: #ff6b35;
  box-shadow: var(--zer0-shadow-focus);
}
[data-theme-skin="sunrise"] .form-check-input:checked {
  background-color: #ff6b35;
  border-color: #ff6b35;
}
[data-theme-skin="sunrise"] .page-link {
  color: #ff6b35;
}
[data-theme-skin="sunrise"] .page-item.active .page-link {
  background-color: #ff6b35;
  border-color: #ff6b35;
}
[data-theme-skin="sunrise"] .breadcrumb-item.active {
  color: #ff6b35;
}
[data-theme-skin="sunrise"] .progress-bar {
  background-color: #ff6b35;
}
[data-theme-skin="sunrise"] pre:not(.highlight) {
  border-color: rgba(var(--bs-primary-rgb), 0.22);
}
[data-theme-skin="sunrise"] pre:not(.highlight):hover {
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}
[data-theme-skin="sunrise"] .navbar .nav-link.active,
[data-theme-skin="sunrise"] .navbar .nav-link.show {
  color: #ff6b35;
}
[data-theme-skin="sunrise"] .text-primary {
  color: #ff6b35 !important;
}
[data-theme-skin="sunrise"] .border-primary {
  border-color: #ff6b35 !important;
}
[data-theme-skin="sunrise"] .link-primary {
  color: #ff6b35 !important;
}
[data-theme-skin="sunrise"][data-bs-theme="dark"] {
  --bs-link-color: #ffa87a;
  --zer0-color-link: #ffa87a;
  --bs-link-hover-color: #ffd0b0;
  --zer0-color-link-hover: #ffd0b0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bd-intro-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--zer0-space-2);
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  .bd-intro-actions {
    width: auto;
    flex-shrink: 0;
  }
}
.bd-intro-actions .btn {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.bd-intro-actions .bd-intro-action-link.btn::after {
  content: "";
  display: inline-block;
  width: .555em;
  flex-shrink: 0;
  visibility: hidden;
}

.bd-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: .125rem 0 .125rem .75rem;
  color: inherit;
  text-decoration: none;
  border-left: 0.125rem solid transparent;
}

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

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

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

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

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

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

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

.bd-footer {
  overflow: visible;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#main-content:focus {
  outline: none;
}

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

.cookie-consent-banner__inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-block: 0.5rem;
}
@media (min-width: 768px) {
  .cookie-consent-banner__inner {
    flex-direction: row;
    align-items: center;
    gap: 1rem;
  }
}

.cookie-consent-banner__text {
  line-height: 1.35;
}
@media (min-width: 768px) {
  .cookie-consent-banner__text {
    flex: 1 1 auto;
    min-width: 0;
  }
}

.cookie-consent-banner__actions {
  display: flex;
  gap: 0.5rem;
}
.cookie-consent-banner__actions .btn {
  flex: 1 1 0;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .cookie-consent-banner__actions {
    flex: 0 0 auto;
  }
  .cookie-consent-banner__actions .btn {
    flex: 0 0 auto;
  }
}

#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: var(--zer0-radius);
  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;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  color: var(--bs-body-color);
}
.bd-footer .powered-by-link:hover, .bd-footer .powered-by-link:focus-visible {
  text-decoration: none;
  color: var(--bs-link-hover-color);
}
.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,
.bd-footer .footer-dark-block ul.list-inline li > button {
  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;
  }
}
.bd-footer .footer-inline-button {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  vertical-align: baseline;
  text-align: inherit;
  cursor: pointer;
}
@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: .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: .875rem;
  line-height: 1.4;
}

.pf-close {
  flex-shrink: 0;
  color: var(--bs-body-color);
  background: transparent;
  border: 0;
  opacity: .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: .8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--bs-secondary-color, var(--zer0-color-ink-muted, #6c757d));
  margin-bottom: var(--zer0-space-2, 0.5rem);
}

.pf-help {
  font-size: .8125rem;
  margin: .35rem 0 0;
}

.pf-types-group {
  font-size: .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: .5rem;
}
@media (min-width: 480px) {
  .pf-types-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.pf-type {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  text-align: left;
  padding: .625rem .75rem;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.15));
  border-radius: .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: .1rem;
  font-size: 1rem;
  color: var(--zer0-color-primary, var(--bs-primary));
}

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

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

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

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

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

.pf-context-list {
  list-style: none;
  margin: .5rem 0 0;
  padding: 0;
  font-size: .8125rem;
}
.pf-context-list li {
  display: flex;
  gap: .5rem;
  padding: .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: .75rem;
}

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

.pf-logs-preview {
  max-height: 9rem;
  overflow: auto;
  margin: .5rem 0 0;
  padding: .5rem .625rem;
  font-size: .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: .5rem;
}

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

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

.pf-ai-result {
  margin-top: .625rem;
  font-size: .875rem;
}

.pf-ai-card {
  padding: .75rem .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: .625rem;
}
.pf-ai-card p {
  margin: 0 0 .5rem;
}
.pf-ai-card p:last-child {
  margin-bottom: 0;
}

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

.pf-ai-questions {
  margin: .25rem 0 .5rem 1.1rem;
  padding: 0;
}

.pf-ai-labels code {
  font-size: .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: .85rem;
  height: .85rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -.1rem;
  animation: pf-spin .7s linear infinite;
}

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

.pf-status {
  font-size: .8125rem;
  margin: 0;
  padding: .5rem .625rem;
  border-radius: .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: .5rem;
}

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

@media (prefers-reduced-motion: reduce) {
  .pf-fab,
  .pf-overlay,
  .pf-dialog {
    transition: none;
  }

  .pf-ai-spinner {
    animation: none;
  }
}
.page-views {
  display: inline-flex;
  align-items: baseline;
  gap: .25rem;
  white-space: nowrap;
}
.page-views[hidden] {
  display: none !important;
}
.page-views__count {
  font-variant-numeric: tabular-nums;
}
.page-views__sep {
  display: inline;
}

: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;
  }
}
:root {
  --zer0-recipe-accent: var(--bs-primary);
  --zer0-recipe-surface: var(--bs-tertiary-bg);
  --zer0-recipe-radius: 0.75rem;
  --zer0-recipe-measure: 34rem;
}

.recipe-header {
  margin-bottom: 1.5rem;
}

.recipe-eyebrow {
  margin-bottom: 0.35rem;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
}
.recipe-eyebrow a {
  color: inherit;
  text-decoration: none;
}
.recipe-eyebrow a:hover, .recipe-eyebrow a:focus-visible {
  color: var(--zer0-recipe-accent);
  text-decoration: underline;
}

.recipe-title {
  margin-bottom: 0.5rem;
}

.recipe-description {
  max-width: 46rem;
}

.recipe-hero-figure {
  margin: 1.5rem 0 0;
}
.recipe-hero-figure img {
  width: 100%;
  height: auto;
  border-radius: var(--zer0-recipe-radius);
}

.recipe-headnote {
  max-width: 46rem;
  margin-bottom: 1.5rem;
}

.recipe-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0 0 1.25rem;
  padding: 0.875rem 1.125rem;
  background-color: var(--zer0-recipe-surface);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--zer0-recipe-radius);
}

.recipe-meta-item {
  min-width: 6rem;
}
.recipe-meta-item dt {
  margin-bottom: 0.1rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
}
.recipe-meta-item dd {
  margin-bottom: 0;
  font-weight: 600;
}

.recipe-meta-item--total dd {
  color: var(--zer0-recipe-accent);
}

.recipe-difficulty {
  font-weight: 600;
}
.recipe-difficulty--easy {
  color: var(--bs-success-text-emphasis);
}
.recipe-difficulty--intermediate {
  color: var(--bs-warning-text-emphasis);
}
.recipe-difficulty--advanced {
  color: var(--bs-danger-text-emphasis);
}

.recipe-scaler {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin-bottom: 1.5rem;
  padding: 0.75rem 1.125rem;
  background-color: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--zer0-recipe-radius);
}
.recipe-scaler[hidden] {
  display: none;
}

.recipe-scaler-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.recipe-scaler-group--reset {
  margin-inline-start: auto;
}

.recipe-scaler-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
}

.recipe-scaler-stepper {
  width: auto;
}
.recipe-scaler-stepper .form-control {
  max-width: 5rem;
}

.recipe-noscript {
  margin-bottom: 1.5rem;
}

.recipe-qty {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

[data-scaled='true'] .recipe-qty {
  color: var(--zer0-recipe-accent);
}

.recipe-temp {
  white-space: nowrap;
}

.recipe-section-heading {
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--bs-border-color);
}

.recipe-ingredients {
  max-width: var(--zer0-recipe-measure);
  margin-bottom: 2rem;
}

.recipe-ingredient-group-title {
  margin: 1.25rem 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--bs-secondary-color);
}

.recipe-ingredient-list {
  margin-bottom: 0;
}

.recipe-ingredient {
  padding: 0.3rem 0;
  border-bottom: 1px solid var(--bs-border-color-translucent);
}
.recipe-ingredient:last-child {
  border-bottom: 0;
}
.recipe-ingredient .form-check-input {
  margin-top: 0.35rem;
}
.recipe-ingredient .form-check-label {
  cursor: pointer;
}

.recipe-ingredient--done .form-check-label {
  text-decoration: line-through;
  opacity: 0.55;
}

.recipe-ingredient--optional .recipe-ingredient-name {
  font-style: italic;
}

.recipe-ingredient-prep {
  color: var(--bs-secondary-color);
}

.recipe-ingredient-note {
  margin-left: 1.5rem;
}

.recipe-ingredient-badge {
  font-size: 0.65rem;
  vertical-align: middle;
}

.recipe-equipment {
  max-width: var(--zer0-recipe-measure);
  margin-bottom: 2rem;
}

.recipe-equipment-list li {
  padding: 0.15rem 0;
  color: var(--bs-body-color);
}

.recipe-steps {
  margin-bottom: 2rem;
}

.recipe-steps-section-title {
  margin: 1.5rem 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--bs-secondary-color);
}

.recipe-step-list {
  padding-left: 1.35rem;
  margin-bottom: 0;
}

.recipe-step {
  margin-bottom: 1.25rem;
  padding-left: 0.35rem;
}
.recipe-step::marker {
  font-weight: 700;
  color: var(--zer0-recipe-accent);
}
.recipe-step p:last-child {
  margin-bottom: 0;
}

.recipe-step-title {
  margin-bottom: 0.2rem;
  font-weight: 600;
}

.recipe-step-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  margin: 0.4rem 0 0;
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.recipe-step-figure {
  margin: 0.75rem 0 0;
}
.recipe-step-figure img {
  max-width: 100%;
  height: auto;
}

.recipe-step-note {
  margin: 0.4rem 0 0;
  padding-left: 0.75rem;
  border-left: 3px solid var(--bs-border-color);
  color: var(--bs-secondary-color);
}

.recipe-ratio {
  margin-bottom: 2rem;
}

.recipe-ratio-intro {
  max-width: 46rem;
}

.recipe-ratio-table td,
.recipe-ratio-table th {
  font-variant-numeric: tabular-nums;
}
.recipe-ratio-table tfoot {
  border-top: 2px solid var(--bs-border-color);
  font-weight: 600;
}

.recipe-notes {
  max-width: 46rem;
  margin-bottom: 2rem;
}

.recipe-notes-list li {
  margin-bottom: 0.5rem;
}

.recipe-nutrition {
  margin-bottom: 2rem;
}

.recipe-nutrition-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));
  gap: 0.75rem;
  margin-bottom: 0;
}

.recipe-nutrition-item {
  padding: 0.6rem 0.75rem;
  background-color: var(--zer0-recipe-surface);
  border-radius: calc(var(--zer0-recipe-radius) / 1.5);
  text-align: center;
}
.recipe-nutrition-item dt {
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
}
.recipe-nutrition-item dd {
  margin-bottom: 0;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.recipe-card {
  height: 100%;
  overflow: hidden;
  background-color: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--zer0-recipe-radius);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .recipe-card {
    transition: none;
  }
}
.recipe-card:hover, .recipe-card:focus-within {
  transform: translateY(-0.2rem);
  box-shadow: var(--bs-box-shadow, 0 0.5rem 1rem rgba(0, 0, 0, 0.15));
}

.recipe-card-media {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background-color: var(--bs-secondary-bg);
}
.recipe-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.recipe-card-body {
  padding: 0.875rem 1rem 1rem;
}

.recipe-card-title {
  margin-bottom: 0.35rem;
}

.recipe-card-description {
  margin-bottom: 0.5rem;
}

.recipe-card-facts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.recipe-course {
  scroll-margin-top: 5rem;
}

.cookbook-header {
  margin-bottom: 2rem;
}

.cookbook-cover img {
  width: 100%;
  height: auto;
  border-radius: 0.35rem 0.75rem 0.75rem 0.35rem;
  box-shadow: inset 0.35rem 0 0.5rem -0.35rem rgba(0, 0, 0, 0.4), 0 0.6rem 1.25rem rgba(0, 0, 0, 0.2);
}

.cookbook-about {
  max-width: 46rem;
  margin-bottom: 2rem;
}

.cookbook-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2rem;
}

@media print {
  .recipe-scaler,
  .recipe-noscript {
    display: none !important;
  }

  .recipe-ingredient .form-check-input {
    box-shadow: none;
  }

  .recipe-step {
    break-inside: avoid;
  }

  .recipe-card {
    box-shadow: none;
  }
}
.wizard-stepper-wrap {
  top: 1.5rem;
}

.wizard-stepper {
  gap: 0.25rem;
}

.wizard-step {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.625rem 0.75rem;
  min-height: 44px;
  text-align: left;
  color: var(--zer0-color-ink-muted);
  background: none;
  border: 0;
  border-radius: var(--zer0-radius-sm, 0.375rem);
  transition: background-color 0.15s ease, color 0.15s ease;
}
.wizard-step:hover:not(:disabled) {
  color: var(--zer0-color-ink, inherit);
  background: var(--zer0-color-bg-muted);
}
.wizard-step:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}
.wizard-step.is-locked, .wizard-step:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.wizard-step.is-active {
  font-weight: 600;
  color: var(--zer0-color-ink, inherit);
  background: var(--zer0-color-bg-muted);
}
.wizard-step.is-active .wizard-step-marker {
  color: #fff;
  background: var(--bs-primary);
  border-color: var(--bs-primary);
}
.wizard-step.is-done .wizard-step-marker {
  color: var(--bs-success, #198754);
  border-color: var(--bs-success, #198754);
}

.wizard-step-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  font-size: 0.9rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 50%;
}

.wizard-step-text {
  min-width: 0;
}

.wizard-step-label {
  display: block;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.wizard-draft-chip {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: var(--bs-success, #198754);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.wizard-draft-chip.is-visible {
  visibility: visible;
  opacity: 1;
}

.wizard-progress .progress-bar {
  transition: width 0.3s ease;
}

.wizard-panes {
  display: grid;
  min-height: 26rem;
  min-width: 0;
}
.wizard-panes.tab-content > .tab-pane {
  display: flex;
  flex-direction: column;
  grid-area: 1 / 1;
  min-width: 0;
  visibility: hidden;
  pointer-events: none;
}
.wizard-panes.tab-content > .tab-pane.active {
  visibility: visible;
  pointer-events: auto;
}
.wizard-panes > .tab-pane > .card {
  display: flex;
  flex: 1 1 auto;
}
.wizard-panes > .tab-pane > .card > .card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.wizard-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: auto;
  padding-top: 1rem;
}
.wizard-nav .btn {
  white-space: nowrap;
}

.wizard-choice {
  min-height: 3.5rem;
  white-space: normal;
}

.wizard-check .form-check-label {
  cursor: pointer;
}

.wizard-cmd {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
  margin-top: 0.25rem;
  padding: 0.25rem 0.25rem 0.25rem 0.6rem;
  font-size: 0.8rem;
  background: var(--zer0-color-bg-muted, var(--bs-tertiary-bg));
  border: 1px solid var(--bs-border-color);
  border-radius: var(--zer0-radius-sm, 0.375rem);
}
.wizard-cmd code {
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  white-space: nowrap;
  color: inherit;
  background: none;
}
.wizard-cmd .btn {
  flex-shrink: 0;
  padding: 0 0.35rem;
  line-height: 1;
  color: var(--zer0-color-ink-muted);
}
.wizard-cmd.d-inline-flex {
  display: inline-flex;
  vertical-align: middle;
  max-width: 100%;
  margin: 0 0.15rem;
}

.wizard-panes .card,
.wizard-panes .card-body,
.sb-manual-steps li,
.prereq-item .min-w-0 {
  min-width: 0;
}

.prereq-list {
  max-height: 30rem;
  overflow-y: auto;
}

.sb-steps li {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
}
.sb-steps li > div {
  flex: 1 1 auto;
  min-width: 0;
}

.sb-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #fff;
  background: var(--bs-primary);
  border-radius: 50%;
}

.sb-connect-status .btn {
  flex-shrink: 0;
  white-space: nowrap;
}
.sb-connect-status .sb-status-detail {
  overflow-wrap: anywhere;
}
.sb-connect-status .sb-status-dot {
  display: inline-block;
  flex-shrink: 0;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: var(--bs-secondary);
}
.sb-connect-status[data-state="online"] .sb-status-dot {
  background: var(--bs-success);
  box-shadow: 0 0 0 4px rgba(25, 135, 84, 0.2);
}
.sb-connect-status[data-state="offline"] .sb-status-dot {
  background: var(--bs-warning);
}
.sb-connect-status[data-state="checking"] .sb-status-dot {
  animation: sbPulse 1.2s ease-in-out infinite;
}

@keyframes sbPulse {
  0%, 100% {
    opacity: 0.35;
  }
  50% {
    opacity: 1;
  }
}
.nav-editor .nav-row .nav-title {
  flex: 1 1 32%;
}
.nav-editor .nav-row .nav-url {
  flex: 1 1 40%;
}
.nav-editor .nav-row .nav-icon {
  flex: 0 1 24%;
}

.skin-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  padding: 0.6rem;
  cursor: pointer;
  border: 2px solid var(--bs-border-color);
  border-radius: var(--zer0-radius-md, 0.5rem);
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.skin-card:hover {
  transform: translateY(-1px);
}
.skin-card .skin-swatch {
  display: block;
  height: 2.5rem;
  border-radius: var(--zer0-radius-sm, 0.375rem);
  background: linear-gradient(135deg, var(--sw-a) 0%, var(--sw-a) 45%, var(--sw-b) 55%, var(--sw-b) 100%);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.skin-card .skin-name {
  font-weight: 600;
  font-size: 0.9rem;
}
.skin-card .skin-mood {
  font-size: 0.72rem;
  color: var(--zer0-color-ink-muted);
}

.btn-check:checked + .skin-card {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.2);
}

.btn-check:focus-visible + .skin-card {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}

.palette-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  width: 5.25rem;
  padding: 0.4rem;
  cursor: pointer;
  border: 2px solid var(--bs-border-color);
  border-radius: var(--zer0-radius-md, 0.5rem);
  font-size: 0.72rem;
  text-align: center;
}
.palette-card .palette-swatches {
  display: flex;
  width: 100%;
  height: 1.4rem;
  overflow: hidden;
  border-radius: var(--zer0-radius-sm, 0.375rem);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.palette-card .palette-swatches > span {
  flex: 1 1 0;
}
.palette-card .palette-swatches .palette-swatch-skin {
  background: linear-gradient(90deg, var(--bs-primary) 0 34%, var(--bs-secondary) 34% 67%, var(--zer0-color-accent, var(--bs-info)) 67%);
}
.palette-card .palette-swatches--custom {
  align-items: center;
  justify-content: center;
  background: var(--zer0-color-bg-muted, var(--bs-tertiary-bg));
}

.btn-check:checked + .palette-card {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.2);
}

.btn-check:focus-visible + .palette-card {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}

.font-preview {
  font-size: 1rem;
  line-height: 1.3;
  transition: font-family 0.15s ease;
}

.pages-planner .page-row .page-collection {
  flex: 0 0 32%;
}
.pages-planner .page-row .page-title {
  flex: 1 1 45%;
}

.pages-planner .page-row + .page-row {
  margin-top: 0.4rem;
}

.wizard-integrations .form-switch .form-check-input {
  width: 2.5em;
}

.wizard-terminal {
  max-height: 18rem;
  margin: 0;
  padding: 0.75rem;
  overflow: auto;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d8dee9;
  background: #1b1f24;
  border-radius: var(--zer0-radius-sm, 0.375rem);
  white-space: pre-wrap;
  word-break: break-word;
}

.prereq-item .prereq-state-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 50%;
  color: var(--zer0-color-ink-muted);
  transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}
.prereq-item[data-state="ok"] .prereq-state-icon, .prereq-item[data-state="manual"] .prereq-state-icon {
  color: #fff;
  background: var(--bs-success);
  border-color: var(--bs-success);
}
.prereq-item[data-state="fail"] .prereq-state-icon {
  color: #fff;
  background: var(--bs-danger);
  border-color: var(--bs-danger);
}
.prereq-item .prereq-output {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.prereq-item .prereq-details summary {
  cursor: pointer;
  color: var(--bs-link-color);
}

.wizard-side {
  top: 1.5rem;
  max-height: calc(100vh - 3rem);
  overflow-y: auto;
  scrollbar-width: thin;
}

.sb-panel .card-header {
  background: var(--zer0-color-bg-muted, var(--bs-tertiary-bg));
}
.sb-panel[data-state="online"] .card-header {
  border-bottom: 2px solid var(--bs-success);
}

.sb-messages {
  min-height: 9rem;
  max-height: 22rem;
  overflow-y: auto;
  scroll-behavior: smooth;
}

.sb-message--user {
  display: flex;
  justify-content: flex-end;
}
.sb-message--user .sb-bubble {
  max-width: 88%;
  color: #fff;
  background: var(--bs-primary);
  word-wrap: break-word;
}

.sb-message--assistant .sb-bubble {
  max-width: 92%;
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  word-wrap: break-word;
}
.sb-message--assistant .sb-bubble .sb-li {
  display: block;
  padding-left: 0.25rem;
}
.sb-message--assistant .sb-bubble .sb-code {
  margin: 0.35rem 0;
  padding: 0.5rem;
  font-size: 0.72rem;
  color: #d8dee9;
  background: #1b1f24;
  border-radius: var(--zer0-radius-sm, 0.375rem);
  overflow-x: auto;
  white-space: pre;
}

.sb-card {
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color);
  border-left: 3px solid var(--bs-primary);
}
.sb-card .sb-card-meta {
  overflow-wrap: anywhere;
}
.sb-card .sb-card-list {
  max-height: 9rem;
  padding-left: 1.1rem;
  overflow-y: auto;
  font-family: var(--bs-font-monospace);
  font-size: 0.72rem;
}
.sb-card--resolved {
  opacity: 0.75;
}
.sb-card--accepted {
  border-left-color: var(--bs-success);
}
.sb-card--declined {
  border-left-color: var(--bs-secondary);
}
.sb-card--result {
  border-left-color: var(--bs-info);
}

.sb-chips .sb-chip {
  font-size: 0.72rem;
  text-align: left;
  white-space: normal;
}

.sb-composer textarea {
  resize: none;
  min-height: 2.4rem;
}

.sb-typing span {
  display: inline-block;
  font-weight: bold;
  font-size: 1.2em;
  animation: sbTyping 1.4s infinite;
}
.sb-typing span:nth-child(2) {
  animation-delay: 0.2s;
}
.sb-typing span:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes sbTyping {
  0%, 60%, 100% {
    opacity: 0.3;
    transform: translateY(0);
  }
  30% {
    opacity: 1;
    transform: translateY(-4px);
  }
}
.wizard-file-tabs {
  gap: 0.25rem;
  scrollbar-width: thin;
}
.wizard-file-tabs .wizard-file-tab {
  flex-shrink: 0;
  padding: 0.2rem 0.6rem;
  font-size: 0.72rem;
  font-family: var(--bs-font-monospace);
  white-space: nowrap;
}
.wizard-file-tabs .wizard-file-tab.is-overridden::after {
  content: "•";
  margin-left: 0.25rem;
  color: var(--bs-warning);
}

.wizard-preview-code {
  max-height: 38vh;
  margin-bottom: 0;
  overflow: auto;
  font-size: 0.74rem;
  line-height: 1.45;
}

.wizard-preview-live {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (max-width: 991.98px) {
  .wizard-side {
    max-height: none;
    overflow: visible;
  }

  .wizard-preview-code {
    max-height: 20rem;
  }

  .sb-messages {
    max-height: 16rem;
  }

  .wizard-stepper {
    flex-direction: row !important;
    flex-wrap: wrap;
  }

  .wizard-step {
    width: auto;
    flex: 1 1 auto;
  }

  .wizard-progress {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sb-typing span,
  .sb-connect-status .sb-status-dot,
  .skin-card,
  .wizard-progress .progress-bar {
    animation: none !important;
    transition: none !important;
  }
}
.sb-provider-card.is-pinned-out {
  opacity: 0.45;
}
.sb-provider-card .sb-provider-state {
  flex-shrink: 0;
  font-size: 0.65rem;
}

.sb-credential input[type="password"] {
  font-family: var(--bs-font-monospace);
  letter-spacing: 0.06em;
}
.sb-credential .input-group .btn {
  white-space: nowrap;
}

.sb-connect-status[data-state="partial"] .sb-status-dot {
  background: var(--bs-info);
  box-shadow: 0 0 0 4px rgba(13, 202, 240, 0.2);
}

.sb-mode-badge {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

#sb-stop {
  white-space: nowrap;
}

.sb-card .sb-diff {
  max-height: 8rem;
  margin: 0;
  padding: 0.4rem 0.5rem;
  overflow: auto;
  font-size: 0.68rem;
  line-height: 1.4;
  color: #d8dee9;
  background: #1b1f24;
  border-radius: var(--zer0-radius-sm, 0.375rem);
  white-space: pre-wrap;
  word-break: break-word;
}

.sb-card .sb-image-thumb {
  display: block;
  max-width: 100%;
  max-height: 12rem;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--zer0-radius-sm, 0.375rem);
}

.zer0-diagram {
  --zer0-diagram-surface: color-mix(in srgb, var(--zer0-color-bg-elevated) 55%, var(--bs-body-bg));
  --zer0-diagram-padding: var(--zer0-space-3);
  position: relative;
  margin: var(--zer0-space-4) 0;
  padding: 0;
  background: var(--zer0-diagram-surface);
  border: 1px solid var(--zer0-color-border);
  border-radius: var(--zer0-radius-lg);
  box-shadow: var(--zer0-shadow-xs);
  overflow: hidden;
  transition: border-color var(--zer0-motion-duration-base) var(--zer0-motion-ease-standard), box-shadow var(--zer0-motion-duration-base) var(--zer0-motion-ease-standard);
}
.zer0-diagram:hover, .zer0-diagram:focus-within {
  border-color: color-mix(in srgb, var(--zer0-color-primary) 35%, var(--zer0-color-border));
  box-shadow: var(--zer0-shadow-sm);
}
.zer0-diagram__toolbar {
  position: absolute;
  top: var(--zer0-space-2);
  right: var(--zer0-space-2);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  padding: 0.125rem;
  background: color-mix(in srgb, var(--bs-body-bg) 88%, transparent);
  border: 1px solid var(--zer0-color-border-translucent);
  border-radius: var(--zer0-radius-pill);
  box-shadow: var(--zer0-shadow-sm);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity var(--zer0-motion-duration-fast) var(--zer0-motion-ease-standard);
}
@media (hover: none) {
  .zer0-diagram__toolbar {
    position: static;
    display: flex;
    justify-content: flex-end;
    margin: var(--zer0-space-2) var(--zer0-space-2) 0 auto;
    width: fit-content;
    max-width: calc(100% - 2 * var(--zer0-space-2));
    opacity: 1;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
.zer0-diagram:hover .zer0-diagram__toolbar, .zer0-diagram:focus-within .zer0-diagram__toolbar, .zer0-diagram__toolbar:focus-within, .zer0-diagram__toolbar--static {
  opacity: 1;
}
.zer0-diagram__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  color: var(--zer0-color-ink-muted);
  background: transparent;
  border: 0;
  border-radius: var(--zer0-radius-circle);
  line-height: 1;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background-color var(--zer0-motion-duration-fast) var(--zer0-motion-ease-standard), color var(--zer0-motion-duration-fast) var(--zer0-motion-ease-standard);
}
.zer0-diagram__btn:hover:not(:disabled) {
  color: var(--zer0-color-ink);
  background: var(--zer0-color-bg-muted);
}
.zer0-diagram__btn:focus-visible {
  outline: 2px solid var(--zer0-color-primary);
  outline-offset: 1px;
  color: var(--zer0-color-ink);
}
.zer0-diagram__btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.zer0-diagram__btn.is-success {
  color: var(--zer0-color-success);
}
.zer0-diagram__btn.is-failure {
  color: var(--zer0-color-danger);
}
@media (hover: none) and (pointer: coarse) {
  .zer0-diagram__btn {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.zer0-diagram__sep {
  width: 1px;
  height: 1.125rem;
  margin: 0 0.125rem;
  background: var(--zer0-color-border);
}
.zer0-diagram__zoom {
  min-width: 2.5rem;
  padding: 0 0.25rem;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  text-align: center;
  color: var(--zer0-color-ink-muted);
}
.zer0-diagram__zoom[hidden] {
  display: none;
}
.zer0-diagram__viewport {
  position: relative;
  max-height: min(80vh, 60rem);
  padding: var(--zer0-diagram-padding);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  outline: none;
}
.zer0-diagram__viewport:focus-visible {
  box-shadow: inset 0 0 0 2px var(--zer0-color-primary);
  border-radius: var(--zer0-radius-lg);
}
.zer0-diagram__viewport.is-zoomed {
  cursor: grab;
}
.zer0-diagram__viewport.is-panning {
  cursor: grabbing;
  user-select: none;
}
.zer0-diagram__canvas {
  display: block;
  width: 100%;
}
.zer0-diagram__svg, .zer0-diagram__canvas > svg {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 100%;
}
.zer0-diagram__caption {
  padding: 0 var(--zer0-space-3) var(--zer0-space-3);
  font-size: 0.875rem;
  color: var(--zer0-color-ink-muted);
  text-align: center;
}
.zer0-diagram__caption[hidden] {
  display: none;
}
.zer0-diagram__skeleton {
  min-height: 8rem;
  border-radius: var(--zer0-radius);
}
.zer0-diagram.has-error {
  border-color: color-mix(in srgb, var(--zer0-color-warning) 55%, var(--zer0-color-border));
}
.zer0-diagram__error {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--zer0-space-3);
  align-items: flex-start;
  padding: var(--zer0-space-3);
  color: var(--bs-warning-text-emphasis, var(--zer0-color-ink));
  background: var(--bs-warning-bg-subtle, var(--zer0-color-bg-elevated));
  border-left: 0.25rem solid var(--zer0-color-warning);
  border-radius: var(--zer0-radius);
}
.zer0-diagram__error > .bi {
  font-size: 1.25rem;
  line-height: 1;
  padding-top: 0.125rem;
  color: var(--zer0-color-warning);
}
.zer0-diagram__error-body {
  min-width: 0;
}
.zer0-diagram__error-title {
  margin: 0 0 0.25rem;
  font-weight: var(--zer0-font-weight-semibold, 600);
}
.zer0-diagram__error-message {
  margin: 0 0 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  white-space: pre-wrap;
  word-break: break-word;
  background: color-mix(in srgb, var(--bs-body-bg) 60%, transparent);
  border: 0;
  border-radius: var(--zer0-radius-sm);
}
.zer0-diagram__error-hint {
  margin: 0;
  font-size: 0.875rem;
}
.zer0-diagram__source {
  margin-top: var(--zer0-space-3);
  font-size: 0.875rem;
}
.zer0-diagram__source > summary {
  cursor: pointer;
  color: var(--zer0-color-ink-muted);
}
.zer0-diagram__source pre {
  margin: 0.5rem 0 0;
  padding: var(--zer0-space-3);
  max-height: 20rem;
  overflow: auto;
  background: var(--zer0-color-code-bg);
  border: 1px solid var(--zer0-color-border);
  border-radius: var(--zer0-radius);
  font-size: 0.8125rem;
}
@media print {
  .zer0-diagram {
    border: 0;
    box-shadow: none;
    background: transparent;
    break-inside: avoid;
  }
  .zer0-diagram .zer0-diagram__toolbar {
    display: none;
  }
  .zer0-diagram .zer0-diagram__viewport {
    max-height: none;
    overflow: visible;
  }
}

.zer0-diagram-lightbox {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
}
.zer0-diagram-lightbox::backdrop {
  background: rgba(0, 0, 0, 0.6);
}
.zer0-diagram-lightbox__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.zer0-diagram-lightbox__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--zer0-space-3);
  padding: var(--zer0-space-2) var(--zer0-space-3);
  border-bottom: 1px solid var(--zer0-color-border);
  background: var(--zer0-color-bg-elevated);
}
.zer0-diagram-lightbox__title {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: var(--zer0-font-weight-semibold, 600);
}
.zer0-diagram-lightbox .zer0-diagram__toolbar--static {
  position: static;
  flex: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.zer0-diagram-lightbox__viewport {
  flex: 1 1 auto;
  max-height: none;
  padding: var(--zer0-space-4);
}
.zer0-diagram-lightbox .zer0-diagram__btn--close {
  margin-left: 0.25rem;
  color: var(--zer0-color-ink);
}

.zer0-diagram-lightbox-open {
  overflow: hidden;
}

.js:not(.zer0-diagram-unavailable) pre:has(> code.language-mermaid) {
  min-height: 8rem;
  color: transparent;
  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%;
  border-radius: var(--zer0-radius-lg);
  animation: zer0-skeleton-shimmer 1.5s ease-in-out infinite, zer0-diagram-reveal 0s linear 8s forwards;
}
.js:not(.zer0-diagram-unavailable) pre:has(> code.language-mermaid) > code {
  color: inherit;
}

@keyframes zer0-diagram-reveal {
  to {
    color: inherit;
    animation: none;
  }
}
.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: var(--zer0-radius-xl);
  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: var(--zer0-radius-circle);
  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: none;
}
.bd-toc-fab .btn.bd-toc-toggle:active {
  transform: translateY(1px);
}

.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: none;
}
.bd-sidebar-fab .btn.bd-sidebar-toggle:active {
  transform: translateY(1px);
}

.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-toggler.navbar-toggler-labeled {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  width: auto;
}
.navbar-toggler.navbar-toggler-labeled .navbar-toggler-text {
  font-size: 0.9375rem;
  line-height: 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);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transform: none;
}
.navbar-utility-controls .nav-search-button:active,
.navbar-utility-controls .nav-settings-button:active {
  transform: translateY(1px);
  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;
}

@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: 51rem) {
    #bdNavbar .navbar-nav {
      gap: 0.125rem;
    }

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

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

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

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

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

    #bdNavbar .nav-item:not(.nav-hover-dropdown) > .nav-link:hover,
    #bdNavbar .nav-hover-dropdown:hover > .nav-link:first-child {
      background-color: var(--bs-tertiary-bg);
      border-radius: 0.375rem;
    }

    #bdNavbar .nav-hover-dropdown {
      position: relative;
    }

    #bdNavbar .nav-hover-dropdown > .nav-link:first-child {
      border-radius: 0.375rem;
      padding-right: 1.5rem;
    }

    #bdNavbar .nav-hover-dropdown > .dropdown-toggle-split {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 1.5rem;
      min-width: 1.5rem;
      min-height: 1.5rem;
      margin: 0 !important;
      padding: 0;
      background-color: transparent;
      border: 0;
      border-radius: 0 0.375rem 0.375rem 0;
    }

    #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: transparent !important;
    }
  }
  @container bd-nav (max-width: 50.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);
    }

    .nav-hover-dropdown .dropdown-toggle-split {
      padding: var(--zer0-space-1) var(--zer0-space-2);
    }
  }
}
@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;
  }

  body:has(#info-section.offcanvas.showing) header.fixed-top,
  body:has(#info-section.offcanvas.show) header.fixed-top,
  body:has(#info-section.offcanvas.hiding) header.fixed-top {
    z-index: 1030;
  }

  #info-section.offcanvas.showing,
  #info-section.offcanvas.show,
  #info-section.offcanvas.hiding {
    z-index: 1047;
  }

  #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);
  }
  #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;
}
.nav-hover-dropdown .dropdown-item:hover {
  background-color: var(--bs-tertiary-bg);
}
.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-lang-panel .nav-lang-options {
  --bs-list-group-border-radius: 0.375rem;
}
.nav-lang-panel .nav-lang-options .list-group-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.75rem;
  min-height: 44px;
  font-size: 0.9375rem;
}
.nav-lang-panel .nav-lang-options .nav-lang-code {
  flex-shrink: 0;
  min-width: 2.25rem;
  padding: 0.05rem 0.35rem;
  font-family: var(--zer0-font-mono);
  font-size: 0.7rem;
  line-height: 1.4;
  text-align: center;
  color: var(--zer0-color-ink-muted);
  background: var(--zer0-color-bg-muted);
  border-radius: var(--zer0-radius-sm);
}
.nav-lang-panel .nav-lang-options .nav-lang-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-lang-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.nav-lang-item.is-current {
  font-weight: 600;
  color: var(--zer0-color-ink, inherit);
  background: var(--zer0-color-bg-muted);
}
.nav-lang-item.is-untranslated .nav-lang-name {
  color: var(--zer0-color-ink-muted);
}

.nav-lang-check {
  flex-shrink: 0;
  margin-left: auto;
}

.nav-lang-mark {
  flex-shrink: 0;
  margin-left: auto;
  color: var(--zer0-color-ink-muted);
}

.nav-lang-auto {
  flex-shrink: 0;
  padding: 0.05rem 0.3rem;
  font-family: var(--zer0-font-mono);
  font-size: 0.625rem;
  line-height: 1.4;
  text-transform: lowercase;
  color: var(--zer0-color-ink-muted);
  background: var(--zer0-color-bg-muted);
  border-radius: var(--zer0-radius-sm);
}

.nav-lang-note {
  margin: 0;
  padding: 0.25rem 0.75rem 0.125rem;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--zer0-color-ink-muted);
  white-space: normal;
}

.nav-lang-divider {
  margin: 0.5rem 0 0.25rem;
  opacity: 0.15;
}

.nav-lang-toggle .nav-lang-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 2.375rem;
  padding: 0;
  line-height: 1;
}
.nav-lang-toggle .nav-lang-button::after {
  display: none;
}
.nav-lang-toggle .nav-lang-menu {
  min-width: 0;
  max-width: 220px;
}
.nav-lang-toggle .nav-lang-menu .nav-lang-item {
  overflow: hidden;
}
.nav-lang-toggle .nav-lang-menu .nav-lang-item.is-current {
  color: var(--zer0-color-ink, inherit);
}
.nav-lang-toggle .nav-lang-menu .nav-lang-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.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 {
  display: inline-block;
}

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

#navbar .nav-search-kbd {
  align-items: center;
  margin-left: 0.1rem;
  padding: 0.05rem 0.35rem;
  font-family: var(--zer0-font-mono);
  font-size: 0.7rem;
  line-height: 1.4;
  color: var(--zer0-color-ink-muted);
  background: var(--zer0-color-bg-muted);
  border-radius: var(--zer0-radius-sm);
}

#navbar .navbar-main {
  max-width: var(--zer0-navbar-max-width, 100%);
  margin-inline: auto;
  padding-inline: clamp(0.75rem, 1.5vw, 1.5rem);
}

@media (min-width: 992px) {
  #navbar .navbar-main {
    display: grid !important;
    grid-template-columns: minmax(var(--zer0-navbar-side-min, 9rem), auto) minmax(0, 1fr) minmax(var(--zer0-navbar-side-min, 9rem), auto);
    align-items: center;
    column-gap: 0.75rem;
    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: 30cqi;
    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 {
    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;
  }

  @container navbar-main (min-width: 86rem) {
    #navbar .navbar-home-links {
      display: inline-flex !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;
  }
}
@media (max-width: 991.98px) and (max-width: 575.98px) {
  #navbar .site-title-text {
    font-size: 1rem;
  }

  #navbar .navbar-brand-group > .navbar-brand {
    margin-right: 0;
  }
}
@media (max-width: 991.98px) and (max-width: 374.98px) {
  #navbar .site-title-text {
    font-size: 0.9375rem;
  }
}
@media (max-width: 991.98px) {
  #navbar .navbar-toggler {
    width: 2.5rem;
    height: 2.5rem;
  }

  #navbar .navbar-toggler.navbar-toggler-labeled {
    width: auto;
    min-width: 2.5rem;
    flex-shrink: 0;
  }

  #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, calc(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, calc(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;
  }
}
.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;
}

.featured-hero img {
  aspect-ratio: 3 / 2;
}

.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: var(--zer0-radius-circle);
  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: var(--zer0-radius-circle);
  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: var(--zer0-radius-lg);
    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: var(--zer0-radius);
    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: var(--zer0-radius-sm);
}

.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: var(--zer0-radius-lg);
    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;
}

.code-block-header > .button,
.code-block-header > button:not(.copy),
pre.highlight > .button,
pre.highlight > button:not(.copy) {
  display: inline-block;
  padding: 0 var(--zer0-space-3);
  border-radius: var(--zer0-radius-sm);
  border: 1px solid var(--zer0-color-border);
  font-size: var(--zer0-text-sm);
  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;
}
