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

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

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

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

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

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

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

/* ========================================================================== Variables ========================================================================== */
/* ========================================================================== Variables ========================================================================== */
[data-bs-theme="wizard"] { --bs-body-color: var(--bs-white); --bs-body-color-rgb: to-rgb(#fff); --bs-body-bg: var(--bs-blue); --bs-body-bg-rgb: to-rgb(#0d6efd); --bs-tertiary-bg: #346182; }
[data-bs-theme="wizard"] .dropdown-menu { --bs-dropdown-bg: #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) { color: var(--bs-link-color); }
[data-theme-skin="air"] a:not(.btn):hover { color: var(--bs-link-hover-color); }
[data-theme-skin="air"] .card:not(.skin-card) { background-color: var(--zer0-color-bg-elevated); border-color: var(--zer0-color-border); }
[data-theme-skin="air"] .list-group-item.active { background-color: #6fa8dc; border-color: #6fa8dc; }
[data-theme-skin="air"] .list-group-item-action:hover:not(.active) { color: #b8d4e3; }
[data-theme-skin="air"] .form-control:focus, [data-theme-skin="air"] .form-select:focus, [data-theme-skin="air"] .form-check-input:focus { border-color: #6fa8dc; box-shadow: var(--zer0-shadow-focus); }
[data-theme-skin="air"] .form-check-input:checked { background-color: #6fa8dc; border-color: #6fa8dc; }
[data-theme-skin="air"] .page-link { color: #6fa8dc; }
[data-theme-skin="air"] .page-item.active .page-link { background-color: #6fa8dc; border-color: #6fa8dc; }
[data-theme-skin="air"] .breadcrumb-item.active { color: #6fa8dc; }
[data-theme-skin="air"] .progress-bar { background-color: #6fa8dc; }
[data-theme-skin="air"] pre:not(.highlight) { border-color: rgba(var(--bs-primary-rgb), 0.22); }
[data-theme-skin="air"] pre:not(.highlight):hover { border-color: rgba(var(--bs-primary-rgb), 0.4); }
[data-theme-skin="air"] .navbar .nav-link.active, [data-theme-skin="air"] .navbar .nav-link.show { color: #6fa8dc; }
[data-theme-skin="air"] .text-primary { color: #6fa8dc !important; }
[data-theme-skin="air"] .border-primary { border-color: #6fa8dc !important; }
[data-theme-skin="air"] .link-primary { color: #6fa8dc !important; }
[data-theme-skin="air"][data-bs-theme="dark"] { --bs-link-color: #b8d4e3; --zer0-color-link: #b8d4e3; --bs-link-hover-color: #d6eaf4; --zer0-color-link-hover: #d6eaf4; }

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (max-width: 991.98px) { .bd-links-nav { font-size: 0.875rem; } }
@media (max-width: 991.98px) { .bd-links-nav { -moz-column-count: 2; column-count: 2; -moz-column-gap: 1.5rem; column-gap: 1.5rem; }
  .bd-links-nav .bd-links-group { -moz-column-break-inside: avoid; break-inside: avoid; }
  .bd-links-nav .bd-links-span-all { -moz-column-span: all; column-span: all; } }
.bd-links-link { padding: .1875rem .5rem; margin-top: .125rem; margin-left: 1.125rem; color: var(--bs-body-color); text-decoration: none; }

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

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

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

@media (min-width: 1200px) { .container-xxl.bd-layout { max-width: var(--zer0-layout-max-width-xl); } }
@media (min-width: 1400px) { .container-xxl.bd-layout { max-width: var(--zer0-layout-max-width-xxl); } }
@media (min-width: 992px) { .bd-layout { display: grid; grid-template-areas: "sidebar main"; grid-template-columns: var(--zer0-sidebar-width) minmax(0, 1fr); gap: 1.5rem; transition: grid-template-columns var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease), gap var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease); }
  .bd-layout.bd-layout--no-sidebar { grid-template-areas: "main"; grid-template-columns: minmax(0, 1fr); }
  .bd-layout.bd-layout--sidebar-collapsed, html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) { grid-template-columns: var(--zer0-sidebar-rail-width, 2.25rem) minmax(0, 1fr); gap: 0.5rem; }
  .bd-layout.bd-layout--sidebar-collapsed .bd-sidebar, html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) .bd-sidebar { overflow: visible; }
  .bd-layout.bd-layout--sidebar-collapsed .bd-sidebar .offcanvas-body > *:not(.bd-sidebar-desktop-header), html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) .bd-sidebar .offcanvas-body > *:not(.bd-sidebar-desktop-header) { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--zer0-motion-duration-fast, 0.2s) var(--zer0-motion-ease-standard, ease), visibility 0s linear var(--zer0-motion-duration-fast, 0.2s); }
  .bd-layout.bd-layout--sidebar-collapsed .bd-sidebar-desktop-header > strong, html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) .bd-sidebar-desktop-header > strong { display: none !important; }
  .bd-layout.bd-layout--sidebar-collapsed .bd-sidebar-desktop-header, html.bd-sidebar-pref-hidden .bd-layout:not(.bd-layout--no-sidebar) .bd-sidebar-desktop-header { justify-content: center !important; margin-bottom: 0 !important; }
  .bd-sidebar .offcanvas-body > *:not(.bd-sidebar-desktop-header) { transition: opacity var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease), visibility 0s linear 0s; } }
.bd-sidebar { grid-area: sidebar; }

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

@media (max-width: 991.98px) { .bd-main { max-width: 760px; margin-inline: auto; } }
@media (min-width: 768px) { .bd-main { display: grid; grid-template-areas: "intro" "toc" "content"; grid-template-rows: auto auto 1fr; gap: inherit; } }
@media (min-width: 992px) { .bd-main { grid-template-areas: "intro   toc" "content toc"; grid-template-rows: auto 1fr; grid-template-columns: minmax(0, 1fr) var(--zer0-sidebar-toc-width); transition: grid-template-columns var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease); }
  .bd-main.bd-main--no-toc, html.bd-toc-pref-hidden .bd-main:has(.bd-toc) { grid-template-areas: "intro   toc" "content toc"; grid-template-rows: auto 1fr; grid-template-columns: minmax(0, 1fr) var(--zer0-sidebar-toc-rail-width, 2.25rem); }
  .bd-main.bd-main--no-toc .bd-toc, html.bd-toc-pref-hidden .bd-main:has(.bd-toc) .bd-toc { overflow: visible; }
  .bd-main.bd-main--no-toc #TableOfContents > *:not(:first-child), html.bd-toc-pref-hidden .bd-main:has(.bd-toc) #TableOfContents > *:not(:first-child) { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--zer0-motion-duration-fast, 0.2s) var(--zer0-motion-ease-standard, ease), visibility 0s linear var(--zer0-motion-duration-fast, 0.2s); }
  .bd-main.bd-main--no-toc #TableOfContents > div:first-child > strong, html.bd-toc-pref-hidden .bd-main:has(.bd-toc) #TableOfContents > div:first-child > strong { display: none !important; }
  .bd-main.bd-main--no-toc #TableOfContents > div:first-child, html.bd-toc-pref-hidden .bd-main:has(.bd-toc) #TableOfContents > div:first-child { justify-content: center !important; margin-bottom: 0 !important; }
  .bd-toc #TableOfContents > *:not(:first-child) { transition: opacity var(--zer0-motion-duration-base, 0.3s) var(--zer0-motion-ease-standard, ease), visibility 0s linear 0s; } }
@media (min-width: 992px) and (prefers-reduced-motion: reduce) { .bd-layout, .bd-main, .bd-sidebar .offcanvas-body > *:not(.bd-sidebar-desktop-header), #TableOfContents > *:not(:first-child) { transition: none !important; } }
.bd-intro { grid-area: intro; --bd-intro-min-height: clamp(11rem, 24vw, 16rem); display: flex; flex-direction: column; min-height: var(--bd-intro-min-height); padding: var(--zer0-space-4) var(--zer0-space-3); color: #fff; border-radius: calc(var(--bs-border-radius-lg, 0.5rem) + 0.125rem); overflow: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (hover: none) and (pointer: coarse) { .post-navigation .post-nav-card:hover { transform: none; } }
.author-inline { vertical-align: baseline; }
.author-inline__avatar { flex: 0 0 auto; }
.author-inline__link { transition: color var(--zer0-motion-duration-fast, 120ms) var(--zer0-motion-ease-standard); }
.author-inline__link:hover .author-name, .author-inline__link:focus-visible .author-name { text-decoration: underline; text-underline-offset: 2px; }
.author-inline__link:focus-visible { outline: 2px solid var(--zer0-color-primary, var(--bs-primary)); outline-offset: 2px; border-radius: 0.25rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.search-modal .modal-content { border-radius: 0.75rem; }

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

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

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

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

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

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

.folder { cursor: pointer; }

.pf-fab { position: fixed; bottom: var(--zer0-space-fab-offset, 1rem); left: var(--zer0-space-fab-offset, 1rem); z-index: var(--zer0-layer-fab-feedback, 1051); display: inline-flex; align-items: center; justify-content: center; width: var(--zer0-space-fab-size, 3.5rem); height: var(--zer0-space-fab-size, 3.5rem); padding: 0; border: 0; border-radius: 50%; background-color: var(--zer0-color-primary, var(--bs-primary)); color: #fff; font-size: 1.25rem; opacity: .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; } }
:root { --zer0-book-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif; --zer0-book-font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem); --zer0-book-measure: 42rem; --zer0-book-plate-radius: 1rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print { .abc-jump { display: none !important; }
  .abc-letter-plate { box-shadow: none; break-inside: avoid; } }
.landing-section { padding-block: var(--zer0-space-section); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (max-width: 768px) { .notebook-content { font-size: 0.95rem; }
  .notebook-content h1 { font-size: 1.75rem; }
  .notebook-content h2 { font-size: 1.5rem; }
  .notebook-content h3 { font-size: 1.25rem; }
  .notebook-content h4 { font-size: 1.1rem; }
  .notebook-content pre { font-size: 0.8rem; }
  .notebook-content table { display: block; overflow-x: auto; white-space: nowrap; }
  .notebook-footer .related-notebooks .col-md-4 { margin-bottom: 1rem; }
  .notebook-navigation .pagination { flex-direction: column; gap: 0.5rem; }
  .notebook-navigation .pagination .page-item { width: 100%; }
  .notebook-navigation .pagination .page-item .page-link { width: 100%; text-align: center; } }
@media print { .notebook-article .notebook-footer, .notebook-article .share-buttons, .notebook-article .notebook-comments, .notebook-article .notebook-navigation { display: none; } }
@media (prefers-color-scheme: dark) { .notebook-content .highlight, .notebook-content pre { background-color: var(--bs-dark-bg-subtle); border-color: var(--bs-border-color-translucent); }
  .jp-OutputArea, .output-area, .cell-output { background-color: var(--bs-dark-bg-subtle); }
  .jp-OutputArea.error, .output-area.error, .cell-output.error { background-color: rgba(220, 53, 69, 0.1); } }
.nav-tree { font-size: 0.875rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 992px) { @container navbar-main (max-width: 75rem) { #navbar .navbar-utility-controls .nav-link-text { display: none !important; } }
  @container navbar-main (max-width: 45.99rem) { #navbar .navbar-utility-controls { gap: 0.25rem; }
    #navbar .navbar-utility-controls .nav-search-button, #navbar .navbar-utility-controls .nav-settings-button { padding: 0.625rem; min-width: 44px; min-height: 44px; } } }
@media (max-width: 991.98px) { .navbar-utility-controls { gap: 0.25rem; }
  .navbar-utility-controls .nav-search-button { padding: 0.625rem; width: 48px; height: 48px; }
  .navbar-utility-controls .nav-link-text { display: none !important; } }
@media (min-width: 992px) { #bdNavbar { position: static !important; transform: none !important; visibility: visible !important; background: transparent !important; border: none !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; z-index: 1; }
  #bdNavbar .offcanvas-header { display: none !important; }
  #bdNavbar .offcanvas-body { padding: 0 !important; min-width: 0; width: 100%; max-width: 100%; overflow: visible; }
  #bdNavbar .bd-navbar-nav-viewport { width: 100%; max-width: 100%; min-width: 0; overflow: visible; container-type: inline-size; container-name: bd-nav; }
  #bdNavbar .navbar-nav { flex-direction: row !important; flex-wrap: nowrap !important; gap: 0.375rem; width: 100%; max-width: 100%; min-width: 0; margin-inline: 0; justify-content: center; justify-content: safe center; }
  #bdNavbar .nav-item { position: relative; min-width: 0; flex: 0 1 auto; }
  .nav-hover-dropdown { position: relative; flex-wrap: nowrap !important; min-width: 0; flex: 0 1 auto; }
  .nav-hover-dropdown > .nav-link:first-child { display: flex; align-items: center; gap: 0.375rem; min-width: 0; flex: 1 1 auto; overflow: hidden; }
  .nav-hover-dropdown > .dropdown-toggle-split { flex-shrink: 0; }
  #bdNavbar .nav-item > .nav-link:not(.dropdown-toggle-split) { display: flex; align-items: center; gap: 0.375rem; min-width: 0; max-width: 100%; overflow: hidden; }
  #bdNavbar .nav-link i { flex-shrink: 0; }
  #bdNavbar .nav-link { border-radius: 0.375rem; transition: all 0.2s ease-in-out; }
  #bdNavbar .nav-link:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.1); }
  .nav-hover-dropdown > .dropdown-menu { position: absolute; top: calc(100% + 0.25rem) !important; left: 0; margin-top: 0 !important; min-width: 14rem; max-width: min(22rem, 100dvw - 1.5rem); z-index: 1050; border-radius: 0.5rem; box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.175); border: 1px solid var(--bs-border-color-translucent); }
  .nav-hover-dropdown > .dropdown-menu.dropdown-menu-end { left: auto; right: 0; }
  .nav-hover-dropdown .dropdown-menu { opacity: 0; visibility: hidden; transform: translateY(-0.5rem); transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s ease-in-out; display: block !important; }
  .nav-hover-dropdown .dropdown-menu.show { opacity: 1; visibility: visible; transform: translateY(0); }
  .nav-hover-dropdown .dropdown-toggle-split { padding-left: var(--zer0-space-1); padding-right: var(--zer0-space-1); }
  .nav-hover-dropdown .dropdown-toggle-split[aria-expanded="true"]::after { transform: rotate(180deg); }
  @container bd-nav (min-width: 38rem) { #bdNavbar .navbar-nav { gap: 0.125rem; }
    #bdNavbar .nav-link { padding: 0.375rem 0.5rem; }
    #bdNavbar .nav-link .nav-link-text { display: inline !important; margin-left: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: opacity 0.15s ease-in-out; }
    #bdNavbar .nav-item, #bdNavbar .nav-hover-dropdown { flex: 0 1 auto; min-width: 0; }
    #bdNavbar .nav-item > .nav-link:not(.dropdown-toggle-split), #bdNavbar .nav-hover-dropdown > .nav-link:first-child { flex: 1 1 auto; min-width: 0; max-width: 100%; overflow: hidden; gap: 0.25rem; }
    #bdNavbar .nav-link i { margin-right: 0; font-size: 1rem; transition: transform 0.15s ease-in-out; }
    #bdNavbar .nav-link:hover { background-color: var(--bs-tertiary-bg); border-radius: 0.375rem; }
    #bdNavbar .nav-link:hover i { transform: scale(1.1); }
    .nav-hover-dropdown > .nav-link { border-top-right-radius: 0; border-bottom-right-radius: 0; }
    .nav-hover-dropdown > .dropdown-toggle-split { border-top-left-radius: 0; border-bottom-left-radius: 0; min-width: 1.25rem; min-height: 0; width: 1.25rem; padding-left: 0.125rem; padding-right: 0.125rem; margin-left: 0 !important; } }
  @container bd-nav (max-width: 37.99rem) { #bdNavbar .nav-link .nav-link-text { display: none !important; }
    #bdNavbar .nav-link i { margin-right: 0 !important; font-size: 1.15rem; }
    #bdNavbar .navbar-nav { gap: 0.125rem; }
    #bdNavbar .nav-link { padding: 0.625rem 0.75rem; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0.375rem; transition: all 0.2s ease-in-out; }
    #bdNavbar .nav-item > .nav-link:not(.dropdown-toggle-split), #bdNavbar .nav-hover-dropdown > .nav-link:first-child { justify-content: center; flex: 0 0 auto; max-width: none; overflow: visible; }
    #bdNavbar .nav-item, #bdNavbar .nav-hover-dropdown { flex: 0 0 auto; min-width: auto; }
    #bdNavbar .nav-hover-dropdown > .nav-link:first-child { flex: 0 0 auto; overflow: visible; }
    #bdNavbar .nav-link:hover { background-color: var(--bs-tertiary-bg); transform: translateY(-1px); }
    .nav-hover-dropdown .dropdown-toggle-split { padding: var(--zer0-space-1) var(--zer0-space-2); }
    .nav-hover-dropdown .dropdown-toggle-split::after { transition: transform 0.2s ease-in-out; }
    .nav-hover-dropdown .dropdown-toggle-split:hover::after { transform: translateY(2px); } } }
@media (max-width: 991.98px) { #bdNavbar.offcanvas-lg, #info-section.offcanvas { --bs-offcanvas-width: min(21rem, 86vw); }
  body:has(#bdNavbar.offcanvas-lg.showing) header.fixed-top, body:has(#bdNavbar.offcanvas-lg.show) header.fixed-top, body:has(#bdNavbar.offcanvas-lg.hiding) header.fixed-top { z-index: 1046; }
  #bdNavbar .bd-navbar-nav-viewport { display: contents; }
  #bdNavbar .navbar-nav { flex-direction: column !important; }
  #bdNavbar .nav-item { margin-bottom: 0; }
  .nav-hover-dropdown { flex-wrap: wrap !important; justify-content: flex-start !important; }
  .nav-hover-dropdown > .nav-link:first-child { flex: 1 1 auto !important; }
  .nav-hover-dropdown > .dropdown-toggle-split { flex: 0 0 auto; }
  .nav-hover-dropdown > .dropdown-toggle-split::after { transition: transform 0.3s ease-in-out; }
  .nav-hover-dropdown > .dropdown-toggle-split.show::after, .nav-hover-dropdown > .dropdown-toggle-split[aria-expanded="true"]::after { transform: rotate(180deg); }
  #bdNavbar .nav-hover-dropdown .dropdown-menu { padding: var(--zer0-space-0) var(--zer0-space-0) var(--zer0-space-0) var(--zer0-space-3); }
  .nav-hover-dropdown .dropdown-menu { position: static !important; float: none; flex-basis: 100% !important; width: 100%; margin-top: 0; border: none; box-shadow: none; background-color: var(--bs-tertiary-bg); padding-left: var(--zer0-space-3); max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-in-out, padding 0.35s cubic-bezier(0.4, 0, 0.2, 1); padding-top: 0; padding-bottom: 0; display: block !important; }
  .nav-hover-dropdown .dropdown-menu.show { max-height: 600px; opacity: 1; padding-top: var(--zer0-space-0); padding-bottom: var(--zer0-space-0); }
  #bdNavbar .nav-link:not(.dropdown-toggle-split) { padding: var(--zer0-space-1) var(--zer0-space-3); min-height: 40px; display: flex; align-items: center; gap: var(--zer0-space-2); border-radius: 0.375rem; transition: background-color 0.2s ease-in-out; }
  #bdNavbar .nav-link:not(.dropdown-toggle-split):active { background-color: var(--bs-tertiary-bg); transform: scale(0.98); }
  #bdNavbar .nav-link:not(.dropdown-toggle-split):focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
  #bdNavbar .dropdown-item, #bdNavbar .nav-hover-dropdown .dropdown-item { padding: var(--zer0-space-1) var(--zer0-space-3); min-height: 40px; margin-bottom: 0; display: flex; align-items: center; border-radius: 0.375rem; transition: all 0.2s ease-in-out; }
  #bdNavbar .dropdown-item:last-child, #bdNavbar .nav-hover-dropdown .dropdown-item:last-child { margin-bottom: 0; }
  #bdNavbar .dropdown-item:active, #bdNavbar .nav-hover-dropdown .dropdown-item:active { transform: scale(0.98); }
  #bdNavbar .offcanvas-header { border-bottom: 2px solid var(--bs-border-color); padding: 1.25rem 1rem; }
  #bdNavbar .offcanvas-header .offcanvas-title { font-size: 1.125rem; font-weight: 600; color: var(--bs-emphasis-color); }
  #bdNavbar .offcanvas-header .btn-close { width: 48px; height: 48px; padding: 0; border-radius: 0.375rem; transition: all 0.2s ease-in-out; }
  #bdNavbar .offcanvas-header .btn-close:hover { background-color: var(--bs-tertiary-bg); transform: rotate(90deg); }
  #bdNavbar .offcanvas-header .btn-close:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
  #bdNavbar .offcanvas-body { padding: var(--zer0-space-1) var(--zer0-space-3); }
  #bdNavbar .navbar-nav { gap: 0; } }
.nav-link[aria-current="page"] { color: var(--bs-primary); font-weight: 600; position: relative; }
.nav-link[aria-current="page"]::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60%; height: 2px; background-color: var(--bs-primary); border-radius: 2px; }

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

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

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

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

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

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

@media (max-width: 767.98px) { .site-title-text { max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }
@media (max-width: 575.98px) { .site-title-text { max-width: 50vw; } }
@media (max-width: 375px) { .site-title-text { max-width: 40vw; } }
#info-section .nav-tabs { border-bottom: 2px solid var(--bs-border-color); }
#info-section .nav-tabs .nav-link { border: none; border-bottom: 3px solid transparent; color: var(--bs-secondary-color); padding: 0.75rem 1rem; font-weight: 500; transition: color 0.2s ease, border-color 0.2s ease; }
#info-section .nav-tabs .nav-link:hover { color: var(--bs-primary); border-bottom-color: var(--bs-primary-bg-subtle); }
#info-section .nav-tabs .nav-link.active { color: var(--bs-primary); border-bottom-color: var(--bs-primary); background: transparent; }
#info-section .tab-content { padding-top: 1rem; }
@media (max-width: 575.98px) { #info-section .nav-tabs .nav-link { padding: 0.6rem 0.25rem; font-size: 0.8125rem; }
  #info-section .nav-tabs .nav-link .bi { display: none; } }

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

@media (min-width: 1200px) { .nav-tooltip { display: none !important; } }
@media (max-width: 991.98px) { .nav-tooltip { display: none !important; } }
#navbar a.navbar-brand { flex-shrink: 0; }

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

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

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

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

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

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

@media (min-width: 992px) { #navbar .navbar-main { display: grid !important; grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto; align-items: center; column-gap: 0.5rem; row-gap: 0.25rem; flex-wrap: unset !important; container-type: inline-size; container-name: navbar-main; }
  #navbar .navbar-main-start { grid-column: 1; display: flex; align-items: center; gap: 0.375rem; min-width: 0; max-width: none; flex-shrink: 1; }
  #navbar #bdNavbar { grid-column: 2; width: 100%; max-width: 100%; min-width: 0; justify-self: stretch; }
  #navbar .navbar-utility-controls { grid-column: 3; justify-self: end; flex-shrink: 0; min-width: 0; max-width: max-content; display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 0.25rem; padding-left: 0.25rem; }
  #navbar .navbar-utility-controls .nav-search-button, #navbar .navbar-utility-controls .nav-settings-button { flex: 0 1 auto; min-width: 0; padding-left: 0.5rem; padding-right: 0.5rem; }
  #navbar .navbar-brand-group { display: inline-flex; align-items: center; flex-shrink: 0; flex-wrap: nowrap; gap: 0.375rem; min-width: 0; }
  #navbar .navbar-home-links { flex-shrink: 0; display: none; }
  #navbar .site-title, #navbar .site-subtitle { flex-shrink: 1; min-width: 0; }
  #navbar .site-title { flex: 1 1 auto; overflow: hidden; }
  #navbar .site-title .site-title-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; max-width: none; }
  #navbar .site-subtitle .site-subtitle-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; vertical-align: bottom; max-width: none; }
  @container navbar-main (min-width: 80rem) { #navbar .navbar-home-links { display: inline-flex !important; } }
  @container navbar-main (max-width: 68rem) { #navbar .site-subtitle { display: none !important; } }
  @container navbar-main (max-width: 50rem) { #navbar .site-title .site-title-text { max-width: 100%; } } }
#navbar.navbar-hidden { transform: translateY(-100%) !important; }

@media (prefers-reduced-motion: reduce) { #navbar { transition: none !important; } }
@media (max-width: 991.98px) { #navbar .navbar-main { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding-left: 0.5rem; padding-right: 0.5rem; }
  #navbar .navbar-main-start { flex: 1 1 auto; min-width: 0; }
  #navbar .navbar-brand-group { flex: 0 1 auto; min-width: 0; }
  #navbar .site-title { flex: 1 1 auto; min-width: 0; }
  #navbar .site-title .nav-link { padding: 0; min-height: 2.5rem; align-items: center; }
  #navbar .site-title-text { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
  #navbar .navbar-toggler { width: 2.5rem; height: 2.5rem; }
  #navbar .nav-search-button { width: 2.5rem; height: 2.5rem; padding: 0; justify-content: center; } }
#bdSidebar .offcanvas-header, #tocContents .offcanvas-header, #obsidianLocalGraphPanel .offcanvas-header { border-bottom: 2px solid var(--bs-border-color); padding: 1.25rem 1rem; }

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

@media (max-width: 991.98px) { #bdSidebar .offcanvas-header .btn-close, #tocContents .offcanvas-header .btn-close, #obsidianLocalGraphPanel .offcanvas-header .btn-close { width: 48px; height: 48px; padding: 0; border-radius: 0.375rem; transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out; }
  #bdSidebar .offcanvas-header .btn-close:hover, #tocContents .offcanvas-header .btn-close:hover, #obsidianLocalGraphPanel .offcanvas-header .btn-close:hover { background-color: var(--bs-tertiary-bg); }
  #bdSidebar .offcanvas-header .btn-close:focus-visible, #tocContents .offcanvas-header .btn-close:focus-visible, #obsidianLocalGraphPanel .offcanvas-header .btn-close:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
  #tocContents .offcanvas-body, #obsidianLocalGraphPanel .offcanvas-body { padding: 1rem; }
  #bdSidebar .offcanvas-body { padding-left: 1rem; padding-right: 1rem; padding-bottom: 1rem; } }
@media (min-width: 992px) { #bdSidebar .offcanvas-body { flex-direction: column; align-items: stretch; width: 100%; }
  #bdSidebar .offcanvas-body > .bd-sidebar-desktop-header { flex-shrink: 0; width: 100%; } }
.wiki-link { text-decoration: none; border-bottom: 1px dashed currentColor; font-weight: 500; }
.wiki-link:hover { text-decoration: underline; border-bottom-color: transparent; }
.wiki-link:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; border-bottom-color: transparent; }
.wiki-link[aria-current="page"] { background-color: rgba(var(--bs-primary-rgb), 0.08); padding: 0 0.15rem; border-radius: 0.2rem; }

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

.obsidian-tag { display: inline-block; padding: 0.05rem 0.45rem; margin: 0 0.1rem; font-size: 0.85em; font-weight: 500; color: var(--bs-secondary-color); background-color: var(--bs-secondary-bg); border-radius: 0.5rem; text-decoration: none; transition: background-color 0.15s ease, color 0.15s ease; }
.obsidian-tag:hover { background-color: var(--bs-tertiary-bg); color: var(--bs-emphasis-color); text-decoration: none; }
.obsidian-tag:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 1px; text-decoration: none; }

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

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

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

.obsidian-callout { border-left-width: 4px; border-left-style: solid; margin: 1.25rem 0; padding: 0.85rem 1rem; }
.obsidian-callout .obsidian-callout-title { font-weight: 600; margin-bottom: 0.4rem; display: flex; align-items: center; }
.obsidian-callout .obsidian-callout-toggle { width: 100%; padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.obsidian-callout .obsidian-callout-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 0.2rem; }
.obsidian-callout .obsidian-callout-chevron { transition: transform 0.2s ease; }
.obsidian-callout .obsidian-callout-toggle[aria-expanded="false"] .obsidian-callout-chevron { transform: rotate(-90deg); }
.obsidian-callout .obsidian-callout-body { margin: 0; }
.obsidian-callout .obsidian-callout-body > :last-child { margin-bottom: 0; }
.obsidian-callout .obsidian-callout-body[hidden] { display: none; }
.obsidian-callout[data-collapsed="true"] .obsidian-callout-body { display: none; }

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

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

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

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

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

@media (max-width: 575.98px) { .obsidian-local-graph-panel { --bs-offcanvas-width: min(100vw, 24rem); }
  .obsidian-local-graph-widget #obsidian-local-graph { height: 58vh; min-height: 18rem; } }
html, body { max-width: 100%; }

html { overflow-x: clip; }

* { box-sizing: border-box; }

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

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

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

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

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

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

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

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

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

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

.toc nav a { color: inherit; }

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

.toc nav a code { font: inherit; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (max-width: 768px) { .bg-primary .display-4 { font-size: 2rem; }
  .bg-primary .lead { font-size: 1rem; }
  .btn-lg { padding: 0.625rem 1.25rem; font-size: 1rem; }
  .card { margin-bottom: 1rem; }
  .card:hover { transform: translateY(-4px); }
  .btn:hover { transform: none; } }
img { transition: opacity 0.3s ease; }
img[loading="lazy"] { opacity: 0; }
img[loading="lazy"].loaded { opacity: 1; }

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

.table { transition: all 0.3s ease; }
.table tbody tr { transition: background-color 0.2s ease; }
.table tbody tr:hover { background-color: rgba(var(--bs-primary-rgb), 0.05); }

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

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

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

.container-xl { position: relative; }

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

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

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

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

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

@keyframes ripple-animation { to { transform: scale(4); opacity: 0; } }
@media (max-width: 991.98px) { .navbar-collapse { background-color: var(--bs-body-bg); border-radius: 0.5rem; margin-top: 1rem; padding: 1rem; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }
  .navbar-nav .nav-link { padding: 0.75rem 1rem; border-radius: 0.375rem; transition: all 0.2s ease; }
  .navbar-nav .nav-link:hover { background-color: rgba(var(--bs-primary-rgb), 0.1); } }
@media (max-width: 768px) { .bg-primary { padding: 2rem 0 !important; }
  .bg-primary .display-4 { font-size: 1.75rem; line-height: 1.3; }
  .bg-primary .lead { font-size: 0.95rem; }
  .bg-primary .btn-lg { width: 100%; margin-bottom: 0.5rem; }
  .row.g-4 > * { margin-bottom: 1rem; }
  pre { font-size: 0.8rem; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  pre:not(.highlight) { padding: var(--zer0-space-2); }
  .highlight:not(pre) pre, pre.highlight { padding: 0; } }
@media (hover: none) and (pointer: coarse) { .btn, .card, a { min-height: 44px; min-width: 44px; }
  .card:hover { transform: none; }
  .btn:hover { transform: none; } }
*:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; border-radius: 0.25rem; }

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

@media (max-width: 768px) { .table-responsive { border-radius: 0.5rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  .table { font-size: 0.875rem; }
  .table th, .table td { padding: 0.5rem; } }
.badge { font-weight: 500; letter-spacing: 0.025em; padding: 0.35em 0.65em; }

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

@media print { .btn, .card:hover, .navbar, .footer { box-shadow: none !important; transform: none !important; }
  a[href^="#"]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #666; } }
.badge-beginner { background-color: var(--zer0-color-success, #198754) !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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