/* PrimeVue-style tokens (generated from node.yaml). */
:root {
  --p-white: #FFFFFF;
  --p-blue-100: #E8EFF5;
  --p-blue-200: #C2D7E5;
  --p-blue-300: #8AB0CB;
  --p-blue-400: #4F88B2;
  --p-blue-50: #F3F7FA;
  --p-blue-500: #156198;
  --p-blue-600: #0B4774;
  --p-blue-700: #093A5F;
  --p-blue-800: #072D4A;
  --p-blue-900: #052036;
  --p-blue-950: #031422;
  --p-primary-100: #E8EFF5;
  --p-primary-200: #C2D7E5;
  --p-primary-300: #8AB0CB;
  --p-primary-400: #4F88B2;
  --p-primary-50: #F3F7FA;
  --p-primary-500: #156198;
  --p-primary-600: #0B4774;
  --p-primary-700: #093A5F;
  --p-primary-800: #072D4A;
  --p-primary-900: #052036;
  --p-primary-950: #031422;
  --p-red-100: #fee2e2;
  --p-red-200: #fecaca;
  --p-red-300: #fca5a5;
  --p-red-400: #f87171;
  --p-red-50: #fef2f2;
  --p-red-500: #ef4444;
  --p-red-600: #dc2626;
  --p-red-700: #b91c1c;
  --p-red-800: #991b1b;
  --p-red-900: #7f1d1d;
  --p-red-950: #450a0a;
  --p-stone-100: #f5f5f4;
  --p-stone-200: #e7e5e4;
  --p-stone-300: #d6d3d1;
  --p-stone-400: #a8a29e;
  --p-stone-50: #fafaf9;
  --p-stone-500: #78716c;
  --p-stone-600: #57534e;
  --p-stone-700: #44403c;
  --p-stone-800: #292524;
  --p-stone-900: #1c1917;
  --p-stone-950: #0c0a09;
  --p-dark-background-page: #031422;
  --p-dark-background-primary: #031422;
  --p-dark-background-secondary: #052036;
  --p-dark-border-subtle: #093A5F;
  --p-dark-content-background: #E8EFF5;
  --p-dark-overlay-select-background: #E8EFF5;
  --p-dark-primary-active-color: #C2D7E5;
  --p-dark-primary-color: #4F88B2;
  --p-dark-primary-contrast-color: #E8EFF5;
  --p-dark-primary-hover-color: #8AB0CB;
  --p-dark-surface-100: #052036;
  --p-dark-surface-200: #072D4A;
  --p-dark-surface-300: #093A5F;
  --p-dark-surface-400: #0B4774;
  --p-dark-surface-50: #031422;
  --p-dark-surface-500: #156198;
  --p-dark-surface-600: #4F88B2;
  --p-dark-surface-700: #8AB0CB;
  --p-dark-surface-800: #C2D7E5;
  --p-dark-surface-900: #E8EFF5;
  --p-dark-surface-950: #F3F7FA;
  --p-dark-text-action: #4F88B2;
  --p-dark-text-action-hover: #8AB0CB;
  --p-dark-text-body: #E8EFF5;
  --p-dark-text-color: #E8EFF5;
  --p-dark-text-on-action: #E8EFF5;
  --p-dark-text-secondary-heading: #C2D7E5;
  --p-dark-text-subtle: #8AB0CB;
  --p-background-page: #fafaf9;
  --p-background-primary: #fafaf9;
  --p-background-secondary: #f5f5f4;
  --p-border-subtle: #d6d3d1;
  --p-content-background: #fafaf9;
  --p-overlay-select-background: #fafaf9;
  --p-primary-active-color: #093A5F;
  --p-primary-color: #156198;
  --p-primary-contrast-color: #ffffff;
  --p-primary-hover-color: #0B4774;
  --p-surface-100: #f5f5f4;
  --p-surface-200: #e7e5e4;
  --p-surface-300: #d6d3d1;
  --p-surface-400: #a8a29e;
  --p-surface-50: #fafaf9;
  --p-surface-500: #78716c;
  --p-surface-600: #57534e;
  --p-surface-700: #44403c;
  --p-surface-800: #292524;
  --p-surface-900: #1c1917;
  --p-surface-950: #0c0a09;
  --p-text-action: #156198;
  --p-text-action-hover: #0B4774;
  --p-text-body: #1c1917;
  --p-text-color: #1c1917;
  --p-text-on-action: #ffffff;
  --p-text-secondary-heading: #292524;
  --p-text-subtle: #44403c;
  --p-focus-ring-style: dashed;
  --p-border-radius-md: 6px;
  --p-font-family: Montserrat, Helvetica, Arial, sans-serif;
  --p-font-line-height-body: 1.6rem;
  --p-font-line-height-h1: 44px;
  --p-font-line-height-h2: 28px;
  --p-font-line-height-h3: 24px;
  --p-font-line-height-h4: 20px;
  --p-font-line-height-h5: 18px;
  --p-font-line-height-h6: 16px;
  --p-font-margin-h1: "0.75rem 0 0.75rem 0";
  --p-font-margin-h2: "0.625rem 0 0.625rem 0";
  --p-font-margin-h3: "0.5rem 0 0.5rem 0";
  --p-font-margin-h4: "0.5rem 0 0.5rem 0";
  --p-font-margin-h5: "0.375rem 0 0.375rem 0";
  --p-font-margin-h6: "0.375rem 0 0.375rem 0";
  --p-font-size-body: 1rem;
  --p-font-size-h1: 30px;
  --p-font-size-h2: 1.75rem;
  --p-font-size-h3: 1.5rem;
  --p-font-size-h4: 1.25rem;
  --p-font-size-h5: 1.125rem;
  --p-font-size-h6: 1rem;
  --p-fonts-default-line-height-body: 1.6rem;
  --p-fonts-default-line-height-h1: 44px;
  --p-fonts-default-line-height-h2: 28px;
  --p-fonts-default-line-height-h3: 24px;
  --p-fonts-default-line-height-h4: 20px;
  --p-fonts-default-line-height-h5: 18px;
  --p-fonts-default-line-height-h6: 16px;
  --p-fonts-default-margin-h1: "0.75rem 0 0.75rem 0";
  --p-fonts-default-margin-h2: "0.625rem 0 0.625rem 0";
  --p-fonts-default-margin-h3: "0.5rem 0 0.5rem 0";
  --p-fonts-default-margin-h4: "0.5rem 0 0.5rem 0";
  --p-fonts-default-margin-h5: "0.375rem 0 0.375rem 0";
  --p-fonts-default-margin-h6: "0.375rem 0 0.375rem 0";
  --p-fonts-default-size-body: 1rem;
  --p-fonts-default-size-h1: 30px;
  --p-fonts-default-size-h2: 1.75rem;
  --p-fonts-default-size-h3: 1.5rem;
  --p-fonts-default-size-h4: 1.25rem;
  --p-fonts-default-size-h5: 1.125rem;
  --p-fonts-default-size-h6: 1rem;
  --p-fonts-montserrat-family: "Montserrat, Helvetica, Arial, sans-serif";
}

/* Dark colorScheme — map --p-* to semantic.colorScheme.dark (no color-scheme UA hint) */
html.doc-theme-dark,
html.app-dark {
  --p-background-page: var(--p-dark-background-page);
  --p-background-primary: var(--p-dark-background-primary);
  --p-background-secondary: var(--p-dark-background-secondary);
  --p-border-subtle: var(--p-dark-border-subtle);
  --p-content-background: var(--p-dark-content-background);
  --p-overlay-select-background: var(--p-dark-overlay-select-background);
  --p-primary-active-color: var(--p-dark-primary-active-color);
  --p-primary-color: var(--p-dark-primary-color);
  --p-primary-contrast-color: var(--p-dark-primary-contrast-color);
  --p-primary-hover-color: var(--p-dark-primary-hover-color);
  --p-surface-100: var(--p-dark-surface-100);
  --p-surface-200: var(--p-dark-surface-200);
  --p-surface-300: var(--p-dark-surface-300);
  --p-surface-400: var(--p-dark-surface-400);
  --p-surface-50: var(--p-dark-surface-50);
  --p-surface-500: var(--p-dark-surface-500);
  --p-surface-600: var(--p-dark-surface-600);
  --p-surface-700: var(--p-dark-surface-700);
  --p-surface-800: var(--p-dark-surface-800);
  --p-surface-900: var(--p-dark-surface-900);
  --p-surface-950: var(--p-dark-surface-950);
  --p-text-action: var(--p-dark-text-action);
  --p-text-action-hover: var(--p-dark-text-action-hover);
  --p-text-body: var(--p-dark-text-body);
  --p-text-color: var(--p-dark-text-color);
  --p-text-on-action: var(--p-dark-text-on-action);
  --p-text-secondary-heading: var(--p-dark-text-secondary-heading);
  --p-text-subtle: var(--p-dark-text-subtle);
}


/* Generated doc export skin (theme --p-* tokens; fallbacks = token defaults) */
body.doc-layout-single {
  --bs-body-font-family: var(
    --p-font-family,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif
  );
  --bs-heading-font-family: var(--bs-body-font-family);
  color: var(--p-text-body, var(--p-surface-900, #212529));
  background-color: var(--p-background-page, var(--p-surface-50, #fff));
}
body.doc-layout-single:not(.doc-has-hero) {
  padding-top: 0 !important;
}
body.doc-layout-single header.doc-site-header.navbar {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.doc-site-header {
  font-family: var(--p-font-family, var(--bs-body-font-family));
}
.doc-site-header .doc-nav-inner,
.doc-site-header .navbar-brand.doc-brand-link,
.doc-site-header .doc-nav-trigger {
  font-family: var(--p-font-family, var(--bs-body-font-family));
}
.doc-site-header .navbar-brand.doc-brand-link,
.doc-site-header .doc-nav-trigger {
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.14em;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  display: inline-flex;
  align-items: center;
}
.doc-site-header .doc-nav-trigger {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: inherit;
  text-transform: uppercase;
}
.doc-site-header .doc-nav-trigger.dropdown-toggle::after {
  vertical-align: 0.1em;
}
.doc-site-header--solid {
  position: sticky;
  top: 0;
  z-index: 1055;
  background-color: var(--p-background-primary, var(--p-surface-50, #fff));
  color: var(--p-text-color, var(--p-surface-900, #212529));
  border-bottom: 1px solid var(--p-border-subtle, var(--p-surface-300, #dee2e6));
}
body.doc-has-hero .doc-site-header--overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1055;
  background-color: transparent !important;
  border-bottom: none;
  box-shadow: none;
}
html.doc-hero-scheme-dark body.doc-has-hero:not(.doc-scrolled) .doc-site-header--overlay {
  color: var(--p-text-on-action, var(--p-primary-contrast-color, #ffffff));
  --bs-navbar-color: var(--p-text-on-action, var(--p-primary-contrast-color, #ffffff));
  --bs-navbar-hover-color: var(--p-text-on-action, var(--p-primary-contrast-color, #ffffff));
  --bs-navbar-active-color: var(--p-text-on-action, var(--p-primary-contrast-color, #ffffff));
  --bs-navbar-brand-color: var(--p-text-on-action, var(--p-primary-contrast-color, #ffffff));
  --bs-navbar-brand-hover-color: var(--p-text-on-action, var(--p-primary-contrast-color, #ffffff));
  --bs-navbar-toggler-border-color: color-mix(in srgb, var(--p-text-on-action, var(--p-primary-contrast-color, #ffffff)) 45%, transparent);
}
html.doc-hero-scheme-dark body.doc-has-hero:not(.doc-scrolled) .doc-site-header--overlay .navbar-toggler-icon {
  filter: invert(1) brightness(1.1);
}
html.doc-hero-scheme-light body.doc-has-hero:not(.doc-scrolled) .doc-site-header--overlay {
  color: var(--p-text-color, #212529);
  --bs-navbar-color: var(--p-text-color, #212529);
  --bs-navbar-hover-color: var(--p-text-color, #212529);
  --bs-navbar-active-color: var(--p-text-color, #212529);
  --bs-navbar-brand-color: var(--p-text-color, #212529);
  --bs-navbar-brand-hover-color: var(--p-text-color, #212529);
  --bs-navbar-toggler-border-color: color-mix(in srgb, var(--p-text-color, #212529) 22%, transparent);
}
body.doc-scrolled .doc-site-header--overlay {
  background-color: var(--p-background-primary) !important;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--p-border-subtle) 65%, transparent);
  backdrop-filter: none;
  color: var(--p-text-color);
  --bs-navbar-bg: var(--p-background-primary);
  --bs-navbar-color: var(--p-text-color);
  --bs-navbar-hover-color: var(--p-text-color);
  --bs-navbar-active-color: var(--p-text-color);
  --bs-navbar-brand-color: var(--p-text-color);
  --bs-navbar-brand-hover-color: var(--p-text-color);
  --bs-navbar-toggler-border-color: color-mix(in srgb, var(--p-text-color) 22%, transparent);
}
body.doc-scrolled .doc-site-header--overlay .navbar-toggler-icon {
  filter: none;
}
html.doc-theme-dark body.doc-scrolled .doc-site-header--overlay .navbar-toggler-icon {
  filter: invert(1) brightness(1.1);
}
body.doc-has-hero .doc-hero-viewport {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
}
.doc-hero-bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.doc-hero-viewport.doc-hero-bg-black {
  background-color: #000;
}
.doc-hero-viewport.doc-hero-bg-white {
  background-color: #fff;
}
.doc-hero-viewport-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.doc-hero-viewport-content {
  position: relative;
  z-index: 2;
  padding: 6rem 1rem 4rem;
}
.doc-hero-heading {
  font-family: var(--p-font-family, var(--bs-body-font-family));
  font-weight: 200;
  font-size: clamp(2.5rem, 8vw, 4.5rem);
  line-height: 1.1;
  margin-bottom: 0.5rem;
}
.doc-hero-tagline {
  font-family: var(--p-font-family, var(--bs-body-font-family));
  font-weight: 200;
  font-size: clamp(1.1rem, 3vw, 1.75rem);
  line-height: 1.35;
  margin-bottom: 0;
  color: var(--p-text-subtle);
}
html.doc-hero-scheme-dark .doc-hero-heading,
html.doc-hero-scheme-dark .doc-hero-tagline {
  color: var(--p-text-on-action, var(--p-primary-contrast-color, #ffffff));
}
html.doc-hero-scheme-light .doc-hero-heading {
  color: var(--p-text-color, #212529);
}
html.doc-hero-scheme-light .doc-hero-tagline {
  color: var(--p-text-subtle, #495057);
}
.doc-section-heading,
main.doc-main--doc-branch .doc-section-heading {
  font-family: var(--p-font-family, var(--bs-body-font-family));
  font-weight: 300;
  color: var(--p-text-secondary-heading, var(--p-surface-800, #343a40));
}
/* Alternating section surfaces from theme (page / secondary → surface-50 / surface-100). */
.doc-section {
  background-color: var(--p-background-page, var(--p-surface-50, #fff));
  color: var(--p-text-body, var(--p-surface-900, #212529));
}
.doc-section--alt {
  background-color: var(--p-background-secondary, var(--p-surface-100, #f8f9fa));
}
.doc-card {
  color: var(--p-text-body, var(--p-surface-900, #212529));
}
.doc-section-card-text a,
.doc-card a {
  color: var(--p-text-action, var(--p-primary-color, #0d6efd));
  text-decoration: none;
}
.doc-section-card-text a:hover,
.doc-section-card-text a:focus,
.doc-card a:hover,
.doc-card a:focus {
  color: var(--p-text-action-hover, var(--p-primary-hover-color, #0a58ca));
  text-decoration: none;
}
.doc-site-footer {
  background-color: var(--p-background-primary, var(--p-surface-50, #fff));
  color: var(--p-text-subtle, var(--p-surface-700, #495057));
  border-top: 1px solid var(--p-border-subtle, var(--p-surface-300, #dee2e6));
}
.doc-footer-link {
  color: var(--p-text-action, var(--p-primary-color, #0d6efd));
}
.doc-footer-link:hover {
  color: var(--p-text-action-hover, var(--p-primary-hover-color, #0a58ca));
}
.doc-section .doc-section-inner img,
.doc-section.doc-section--full-width img {
  border-radius: 8px;
}
.doc-section .doc-section-card-inner > .row {
  align-items: flex-start;
}
