{"version":3,"sources":["adminlte-docs.css","../../src/scss/adminlte-docs.scss","../../src/scss/mixins/_animations.scss","../../src/scss/_docs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../node_modules/bootstrap/scss/mixins/_transition.scss"],"names":[],"mappings":"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","file":"adminlte-docs.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n *   AdminLTE v4.0.4 — documentation styles\n *   Styles for the documentation and FAQ pages only (body.docs-page /\n *   body.faq-page). Applications never need this file; it is loaded by the\n *   docs pages in addition to adminlte.css.\n */\n@keyframes flipInX {\n  0% {\n    opacity: 0;\n    transition-timing-function: ease-in;\n    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n  }\n  40% {\n    transition-timing-function: ease-in;\n    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n  }\n  60% {\n    opacity: 1;\n    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n  }\n  80% {\n    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n  }\n  100% {\n    transform: perspective(400px);\n  }\n}\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n@keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@keyframes shake {\n  0% {\n    transform: translate(2px, 1px) rotate(0deg);\n  }\n  10% {\n    transform: translate(-1px, -2px) rotate(-2deg);\n  }\n  20% {\n    transform: translate(-3px, 0) rotate(3deg);\n  }\n  30% {\n    transform: translate(0, 2px) rotate(0deg);\n  }\n  40% {\n    transform: translate(1px, -1px) rotate(1deg);\n  }\n  50% {\n    transform: translate(-1px, 2px) rotate(-1deg);\n  }\n  60% {\n    transform: translate(-3px, 1px) rotate(0deg);\n  }\n  70% {\n    transform: translate(2px, 1px) rotate(-2deg);\n  }\n  80% {\n    transform: translate(-1px, -1px) rotate(4deg);\n  }\n  90% {\n    transform: translate(2px, 2px) rotate(0deg);\n  }\n  100% {\n    transform: translate(1px, -2px) rotate(-1deg);\n  }\n}\n@keyframes wobble {\n  0% {\n    transform: none;\n  }\n  15% {\n    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n  }\n  30% {\n    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n  }\n  45% {\n    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n  }\n  60% {\n    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n  }\n  75% {\n    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n  }\n  100% {\n    transform: none;\n  }\n}\n.astro-code {\n  padding: 0.75rem;\n  border-radius: 0.375rem;\n}\n\n.docs-page .app-content > .container-fluid {\n  max-width: 60rem;\n}\n@media (min-width: 1400px) {\n  .docs-page .app-content > .container-fluid {\n    max-width: 64rem;\n  }\n}\n.docs-page .card > .card-body {\n  padding: 1.5rem;\n  font-size: 1rem;\n  line-height: 1.7;\n  color: var(--bs-body-color);\n}\n@media (min-width: 768px) {\n  .docs-page .card > .card-body {\n    padding: 2.5rem;\n  }\n}\n.docs-page .card > .card-body h1,\n.docs-page .card > .card-body h2,\n.docs-page .card > .card-body h3,\n.docs-page .card > .card-body h4,\n.docs-page .card > .card-body h5,\n.docs-page .card > .card-body h6,\n.docs-page .card > .card-body .h1,\n.docs-page .card > .card-body .h2,\n.docs-page .card > .card-body .h3,\n.docs-page .card > .card-body .h4,\n.docs-page .card > .card-body .h5,\n.docs-page .card > .card-body .h6 {\n  margin-top: 2em;\n  margin-bottom: 0.5em;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--bs-emphasis-color);\n  scroll-margin-top: 4rem;\n}\n.docs-page .card > .card-body h1:first-child,\n.docs-page .card > .card-body h2:first-child,\n.docs-page .card > .card-body h3:first-child,\n.docs-page .card > .card-body h4:first-child,\n.docs-page .card > .card-body h5:first-child,\n.docs-page .card > .card-body h6:first-child,\n.docs-page .card > .card-body .h1:first-child,\n.docs-page .card > .card-body .h2:first-child,\n.docs-page .card > .card-body .h3:first-child,\n.docs-page .card > .card-body .h4:first-child,\n.docs-page .card > .card-body .h5:first-child,\n.docs-page .card > .card-body .h6:first-child {\n  margin-top: 0;\n}\n.docs-page .card > .card-body h2,\n.docs-page .card > .card-body .h2 {\n  padding-bottom: 0.35em;\n  font-size: 1.75rem;\n  border-bottom: 1px solid var(--bs-border-color);\n}\n.docs-page .card > .card-body h3,\n.docs-page .card > .card-body .h3 {\n  font-size: 1.4rem;\n}\n.docs-page .card > .card-body h4,\n.docs-page .card > .card-body .h4 {\n  font-size: 1.2rem;\n}\n.docs-page .card > .card-body h5,\n.docs-page .card > .card-body .h5 {\n  padding-top: 1.5em;\n  margin-top: 2.5em;\n  font-size: 1.3rem;\n  border-top: 1px solid var(--bs-border-color);\n}\n.docs-page .card > .card-body h5:first-child,\n.docs-page .card > .card-body .h5:first-child {\n  padding-top: 0;\n  border-top: 0;\n}\n.docs-page .card > .card-body h6,\n.docs-page .card > .card-body .h6 {\n  margin-top: 1.75em;\n  font-size: 1.08rem;\n  color: var(--bs-emphasis-color);\n}\n.docs-page .card > .card-body p,\n.docs-page .card > .card-body ul,\n.docs-page .card > .card-body ol,\n.docs-page .card > .card-body dl,\n.docs-page .card > .card-body blockquote,\n.docs-page .card > .card-body table {\n  margin-bottom: 1.1rem;\n}\n.docs-page .card > .card-body ul,\n.docs-page .card > .card-body ol {\n  padding-left: 1.5rem;\n}\n.docs-page .card > .card-body ul li,\n.docs-page .card > .card-body ol li {\n  margin-bottom: 0.35rem;\n}\n.docs-page .card > .card-body ul ul,\n.docs-page .card > .card-body ul ol,\n.docs-page .card > .card-body ol ul,\n.docs-page .card > .card-body ol ol {\n  margin-top: 0.35rem;\n  margin-bottom: 0;\n}\n.docs-page .card > .card-body h2 + p,\n.docs-page .card > .card-body h3 + p,\n.docs-page .card > .card-body h5 + p {\n  margin-top: 0;\n}\n.docs-page .card > .card-body p code,\n.docs-page .card > .card-body li code,\n.docs-page .card > .card-body td code,\n.docs-page .card > .card-body th code,\n.docs-page .card > .card-body h2 code,\n.docs-page .card > .card-body h3 code,\n.docs-page .card > .card-body h4 code,\n.docs-page .card > .card-body h5 code,\n.docs-page .card > .card-body h6 code {\n  padding: 0.15em 0.4em;\n  font-size: 0.875em;\n  color: var(--bs-emphasis-color);\n  background: var(--bs-tertiary-bg);\n  border: 1px solid var(--bs-border-color);\n  border-radius: 0.25rem;\n}\n.docs-page .card > .card-body pre.astro-code,\n.docs-page .card > .card-body pre {\n  padding: 1rem 1.25rem;\n  margin-top: 1.25rem;\n  margin-bottom: 1.5rem;\n  overflow-x: auto;\n  font-size: 0.875rem;\n  line-height: 1.6;\n  border-radius: 0.375rem;\n}\n.docs-page .card > .card-body pre.astro-code code,\n.docs-page .card > .card-body pre code {\n  padding: 0;\n  background: transparent;\n  border: 0;\n}\n.docs-page .card > .card-body table {\n  width: 100%;\n  margin-top: 1.25rem;\n  margin-bottom: 1.5rem;\n  overflow: hidden;\n  font-size: 0.95rem;\n  border-collapse: collapse;\n  border: 1px solid var(--bs-border-color);\n  border-radius: 0.25rem;\n}\n.docs-page .card > .card-body table th,\n.docs-page .card > .card-body table td {\n  padding: 0.65rem 0.9rem;\n  text-align: left;\n  vertical-align: top;\n  border-bottom: 1px solid var(--bs-border-color);\n}\n.docs-page .card > .card-body table th {\n  font-weight: 600;\n  color: var(--bs-emphasis-color);\n  background: var(--bs-tertiary-bg);\n}\n.docs-page .card > .card-body table tr:last-child td {\n  border-bottom: 0;\n}\n.docs-page .card > .card-body table code {\n  white-space: nowrap;\n}\n.docs-page .card > .card-body blockquote {\n  padding: 0.85rem 1.1rem;\n  margin-top: 1.25rem;\n  color: var(--bs-emphasis-color);\n  background: var(--bs-info-bg-subtle);\n  border-left: 4px solid var(--bs-info-border-subtle);\n  border-radius: 0.25rem;\n}\n.docs-page .card > .card-body blockquote p:last-child {\n  margin-bottom: 0;\n}\n.docs-page .card > .card-body blockquote code {\n  background: rgba(0, 0, 0, 0.05);\n}\n.docs-page .card > .card-body a:not(.btn):not(.nav-link) {\n  color: var(--bs-primary);\n  text-decoration: underline;\n  text-decoration-thickness: 1px;\n  text-underline-offset: 3px;\n}\n.docs-page .card > .card-body a:not(.btn):not(.nav-link):hover {\n  text-decoration-thickness: 2px;\n}\n.docs-page .card > .card-body hr {\n  margin: 2.5rem 0;\n  border: 0;\n  border-top: 1px solid var(--bs-border-color);\n  opacity: 1;\n}\n.docs-page .card > .card-body > p:first-child,\n.docs-page .card > .card-body > p:first-of-type {\n  margin-bottom: 2rem;\n  font-size: 1.125rem;\n  line-height: 1.6;\n  color: var(--bs-body-color);\n}\n.docs-page .card > .card-body details.faq-item {\n  margin-bottom: 0.5rem;\n  overflow: hidden;\n  background: var(--bs-body-bg);\n  border: 1px solid var(--bs-border-color);\n  border-radius: 0.375rem;\n  transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .docs-page .card > .card-body details.faq-item {\n    transition: none;\n  }\n}\n.docs-page .card > .card-body details.faq-item:hover {\n  border-color: var(--bs-primary-border-subtle);\n}\n.docs-page .card > .card-body details.faq-item[open] {\n  background: var(--bs-body-bg);\n  border-color: var(--bs-primary-border-subtle);\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);\n}\n.docs-page .card > .card-body details.faq-item summary {\n  position: relative;\n  padding: 0.9rem 3rem 0.9rem 1.1rem;\n  font-size: 1rem;\n  font-weight: 600;\n  color: var(--bs-emphasis-color);\n  list-style: none;\n  cursor: pointer;\n  user-select: none;\n  transition: color 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .docs-page .card > .card-body details.faq-item summary {\n    transition: none;\n  }\n}\n.docs-page .card > .card-body details.faq-item summary::-webkit-details-marker {\n  display: none;\n}\n.docs-page .card > .card-body details.faq-item summary::marker {\n  content: \"\";\n}\n.docs-page .card > .card-body details.faq-item summary:hover {\n  color: var(--bs-primary);\n}\n.docs-page .card > .card-body details.faq-item summary::after {\n  position: absolute;\n  top: 50%;\n  right: 1.1rem;\n  display: inline-block;\n  width: 0.55rem;\n  height: 0.55rem;\n  margin-top: -0.4rem;\n  content: \"\";\n  border-right: 2px solid currentcolor;\n  border-bottom: 2px solid currentcolor;\n  opacity: 0.55;\n  transform: rotate(45deg);\n  transition: transform 0.2s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .docs-page .card > .card-body details.faq-item summary::after {\n    transition: none;\n  }\n}\n.docs-page .card > .card-body details.faq-item[open] > summary {\n  color: var(--bs-primary);\n  border-bottom: 1px solid var(--bs-border-color);\n}\n.docs-page .card > .card-body details.faq-item[open] > summary::after {\n  margin-top: -0.15rem;\n  opacity: 1;\n  transform: rotate(-135deg);\n}\n.docs-page .card > .card-body details.faq-item > *:not(summary) {\n  padding-right: 1.1rem;\n  padding-left: 1.1rem;\n}\n.docs-page .card > .card-body details.faq-item > *:not(summary):first-of-type {\n  padding-top: 1rem;\n}\n.docs-page .card > .card-body details.faq-item > *:not(summary):last-child {\n  padding-bottom: 1rem;\n}\n.docs-page .card > .card-body details.faq-item p,\n.docs-page .card > .card-body details.faq-item ul,\n.docs-page .card > .card-body details.faq-item ol {\n  margin-bottom: 0.65rem;\n}\n.docs-page .card > .card-body details.faq-item > *:last-child p:last-child,\n.docs-page .card > .card-body details.faq-item > p:last-child,\n.docs-page .card > .card-body details.faq-item > ul:last-child,\n.docs-page .card > .card-body details.faq-item > ol:last-child {\n  margin-bottom: 0;\n}\n.docs-page .card > .card-body details.faq-item pre.astro-code,\n.docs-page .card > .card-body details.faq-item pre {\n  margin-right: 0;\n  margin-left: 0;\n}\n.docs-page[data-bs-theme=dark] .card > .card-body blockquote code, [data-bs-theme=dark] .docs-page .card > .card-body blockquote code {\n  background: rgba(255, 255, 255, 0.08);\n}\n\n.faq-page .app-content > .container-fluid {\n  max-width: 64rem;\n}\n@media (min-width: 1400px) {\n  .faq-page .app-content > .container-fluid {\n    max-width: 72rem;\n  }\n}\n.faq-page .faq-hero {\n  position: relative;\n  padding: 3rem 1.5rem 2.5rem;\n  margin-top: 1rem;\n  overflow: hidden;\n  background: radial-gradient(ellipse at top left, rgba(var(--bs-primary-rgb), 0.12), transparent 60%), radial-gradient(ellipse at bottom right, rgba(var(--bs-info-rgb), 0.1), transparent 65%), var(--bs-body-bg);\n  border: 1px solid var(--bs-border-color);\n  border-radius: 1rem;\n}\n.faq-page .faq-hero-eyebrow {\n  display: inline-flex;\n  gap: 0.4rem;\n  align-items: center;\n  padding: 0.35rem 0.85rem;\n  margin-bottom: 1rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: var(--bs-primary);\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n  background: var(--bs-primary-bg-subtle);\n  border: 1px solid var(--bs-primary-border-subtle);\n  border-radius: 50rem;\n}\n.faq-page .faq-hero-eyebrow .bi {\n  font-size: 0.9rem;\n}\n.faq-page .faq-hero-title {\n  margin: 0 0 0.5rem;\n  font-size: 2.25rem;\n  font-weight: 700;\n  line-height: 1.15;\n  color: var(--bs-emphasis-color);\n}\n@media (min-width: 768px) {\n  .faq-page .faq-hero-title {\n    font-size: 2.75rem;\n  }\n}\n.faq-page .faq-hero-lead {\n  max-width: 36rem;\n  margin: 0 auto 1.75rem;\n  font-size: 1.05rem;\n  line-height: 1.55;\n  color: var(--bs-secondary-color);\n}\n.faq-page .faq-search {\n  position: relative;\n  max-width: 32rem;\n  margin: 0 auto;\n}\n.faq-page .faq-search .form-control {\n  height: 3rem;\n  padding-right: 3rem;\n  padding-left: 3rem;\n  font-size: 1rem;\n  background: var(--bs-body-bg);\n  border-radius: 50rem;\n  transition: box-shadow 0.15s ease, border-color 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .faq-page .faq-search .form-control {\n    transition: none;\n  }\n}\n.faq-page .faq-search .form-control:focus {\n  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.15);\n}\n.faq-page .faq-search-icon {\n  position: absolute;\n  top: 50%;\n  left: 1.2rem;\n  color: var(--bs-secondary-color);\n  pointer-events: none;\n  transform: translateY(-50%);\n}\n.faq-page .faq-search-clear {\n  position: absolute;\n  top: 50%;\n  right: 0.65rem;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 2rem;\n  height: 2rem;\n  padding: 0;\n  color: var(--bs-secondary-color);\n  background: var(--bs-tertiary-bg);\n  border: 0;\n  transform: translateY(-50%);\n  border-radius: 50%;\n  transition: background 0.15s ease, color 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .faq-page .faq-search-clear {\n    transition: none;\n  }\n}\n.faq-page .faq-search-clear:hover {\n  color: var(--bs-body-color);\n  background: var(--bs-secondary-bg);\n}\n.faq-page .faq-empty-state {\n  max-width: 32rem;\n  padding: 1rem;\n  margin: 1.5rem auto 0;\n  font-size: 0.95rem;\n  color: var(--bs-secondary-color);\n  background: var(--bs-tertiary-bg);\n  border-radius: 0.375rem;\n}\n.faq-page .faq-empty-state .bi {\n  margin-right: 0.35rem;\n}\n.faq-page .faq-chips {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.5rem;\n  justify-content: center;\n}\n.faq-page .faq-chip {\n  display: inline-flex;\n  gap: 0.45rem;\n  align-items: center;\n  padding: 0.45rem 0.85rem;\n  font-size: 0.875rem;\n  font-weight: 500;\n  color: var(--bs-body-color);\n  text-decoration: none;\n  background: var(--bs-body-bg);\n  border: 1px solid var(--bs-border-color);\n  border-radius: 50rem;\n  transition: transform 0.15s ease, border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .faq-page .faq-chip {\n    transition: none;\n  }\n}\n.faq-page .faq-chip:hover {\n  color: var(--bs-emphasis-color);\n  background: var(--bs-tertiary-bg);\n  transform: translateY(-1px);\n}\n.faq-page .faq-chip .bi {\n  font-size: 1rem;\n}\n.faq-page .faq-chip-count {\n  padding: 0 0.45rem;\n  font-size: 0.7rem;\n  font-weight: 600;\n  color: var(--bs-secondary-color);\n  background: var(--bs-tertiary-bg);\n  border-radius: 50rem;\n}\n.faq-page .faq-chip-primary:hover {\n  color: var(--bs-primary-text-emphasis);\n  background: var(--bs-primary-bg-subtle);\n  border-color: var(--bs-primary-border-subtle);\n}\n.faq-page .faq-chip-primary:hover .faq-chip-count {\n  color: var(--bs-primary-text-emphasis);\n  background: rgba(0, 0, 0, 0.06);\n}\n.faq-page .faq-chip-info:hover {\n  color: var(--bs-info-text-emphasis);\n  background: var(--bs-info-bg-subtle);\n  border-color: var(--bs-info-border-subtle);\n}\n.faq-page .faq-chip-info:hover .faq-chip-count {\n  color: var(--bs-info-text-emphasis);\n  background: rgba(0, 0, 0, 0.06);\n}\n.faq-page .faq-chip-warning:hover {\n  color: var(--bs-warning-text-emphasis);\n  background: var(--bs-warning-bg-subtle);\n  border-color: var(--bs-warning-border-subtle);\n}\n.faq-page .faq-chip-warning:hover .faq-chip-count {\n  color: var(--bs-warning-text-emphasis);\n  background: rgba(0, 0, 0, 0.06);\n}\n.faq-page .faq-chip-success:hover {\n  color: var(--bs-success-text-emphasis);\n  background: var(--bs-success-bg-subtle);\n  border-color: var(--bs-success-border-subtle);\n}\n.faq-page .faq-chip-success:hover .faq-chip-count {\n  color: var(--bs-success-text-emphasis);\n  background: rgba(0, 0, 0, 0.06);\n}\n.faq-page .faq-chip-danger:hover {\n  color: var(--bs-danger-text-emphasis);\n  background: var(--bs-danger-bg-subtle);\n  border-color: var(--bs-danger-border-subtle);\n}\n.faq-page .faq-chip-danger:hover .faq-chip-count {\n  color: var(--bs-danger-text-emphasis);\n  background: rgba(0, 0, 0, 0.06);\n}\n.faq-page .faq-chip-secondary:hover {\n  color: var(--bs-secondary-text-emphasis);\n  background: var(--bs-secondary-bg-subtle);\n  border-color: var(--bs-secondary-border-subtle);\n}\n.faq-page .faq-chip-secondary:hover .faq-chip-count {\n  color: var(--bs-secondary-text-emphasis);\n  background: rgba(0, 0, 0, 0.06);\n}\n.faq-page .faq-section {\n  margin-bottom: 2.5rem;\n  scroll-margin-top: 5rem;\n}\n.faq-page .faq-section-header {\n  display: flex;\n  gap: 1rem;\n  align-items: center;\n  padding: 1rem 1.25rem;\n  margin-bottom: 1rem;\n  background: var(--bs-body-bg);\n  border: 1px solid var(--bs-border-color);\n  border-left: 4px solid var(--bs-primary);\n  border-radius: 0.375rem;\n}\n.faq-page .faq-section-icon {\n  display: inline-flex;\n  flex-shrink: 0;\n  align-items: center;\n  justify-content: center;\n  width: 2.75rem;\n  height: 2.75rem;\n  font-size: 1.35rem;\n  color: var(--bs-primary);\n  background: var(--bs-primary-bg-subtle);\n  border-radius: 0.375rem;\n}\n.faq-page .faq-section-title {\n  margin: 0;\n  font-size: 1.4rem;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--bs-emphasis-color);\n}\n.faq-page .faq-section-count {\n  margin: 0.1rem 0 0;\n  font-size: 0.8rem;\n  color: var(--bs-secondary-color);\n}\n.faq-page .faq-section-primary {\n  border-left-color: var(--bs-primary);\n}\n.faq-page .faq-section-primary .faq-section-icon {\n  color: var(--bs-primary-text-emphasis);\n  background: var(--bs-primary-bg-subtle);\n}\n.faq-page .faq-section-info {\n  border-left-color: var(--bs-info);\n}\n.faq-page .faq-section-info .faq-section-icon {\n  color: var(--bs-info-text-emphasis);\n  background: var(--bs-info-bg-subtle);\n}\n.faq-page .faq-section-warning {\n  border-left-color: var(--bs-warning);\n}\n.faq-page .faq-section-warning .faq-section-icon {\n  color: var(--bs-warning-text-emphasis);\n  background: var(--bs-warning-bg-subtle);\n}\n.faq-page .faq-section-success {\n  border-left-color: var(--bs-success);\n}\n.faq-page .faq-section-success .faq-section-icon {\n  color: var(--bs-success-text-emphasis);\n  background: var(--bs-success-bg-subtle);\n}\n.faq-page .faq-section-danger {\n  border-left-color: var(--bs-danger);\n}\n.faq-page .faq-section-danger .faq-section-icon {\n  color: var(--bs-danger-text-emphasis);\n  background: var(--bs-danger-bg-subtle);\n}\n.faq-page .faq-section-secondary {\n  border-left-color: var(--bs-secondary);\n}\n.faq-page .faq-section-secondary .faq-section-icon {\n  color: var(--bs-secondary-text-emphasis);\n  background: var(--bs-secondary-bg-subtle);\n}\n.faq-page .faq-section-items .faq-item {\n  margin-bottom: 0.5rem;\n  overflow: hidden;\n  background: var(--bs-body-bg);\n  border: 1px solid var(--bs-border-color);\n  border-radius: 0.375rem;\n  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .faq-page .faq-section-items .faq-item {\n    transition: none;\n  }\n}\n.faq-page .faq-section-items .faq-item:hover {\n  border-color: var(--bs-primary-border-subtle);\n  transform: translateX(2px);\n}\n.faq-page .faq-section-items .faq-item[open] {\n  border-color: var(--bs-primary-border-subtle);\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n  transform: none;\n}\n.faq-page .faq-section-items .faq-item summary {\n  display: flex;\n  gap: 0.85rem;\n  align-items: center;\n  padding: 1rem 1.25rem;\n  font-size: 1rem;\n  font-weight: 500;\n  color: var(--bs-emphasis-color);\n  list-style: none;\n  cursor: pointer;\n  user-select: none;\n}\n.faq-page .faq-section-items .faq-item summary::-webkit-details-marker {\n  display: none;\n}\n.faq-page .faq-section-items .faq-item summary::marker {\n  content: \"\";\n}\n.faq-page .faq-section-items .faq-item summary::after {\n  content: none;\n}\n.faq-page .faq-section-items .faq-item .faq-q-icon {\n  display: inline-flex;\n  flex-shrink: 0;\n  align-items: center;\n  justify-content: center;\n  width: 1.75rem;\n  height: 1.75rem;\n  font-size: 0.85rem;\n  color: var(--bs-primary);\n  background: var(--bs-primary-bg-subtle);\n  border-radius: 50%;\n}\n.faq-page .faq-section-items .faq-item .faq-q-text {\n  flex-grow: 1;\n}\n.faq-page .faq-section-items .faq-item .faq-q-chevron {\n  flex-shrink: 0;\n  color: var(--bs-secondary-color);\n  transition: transform 0.2s ease, color 0.2s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .faq-page .faq-section-items .faq-item .faq-q-chevron {\n    transition: none;\n  }\n}\n.faq-page .faq-section-items .faq-item[open] .faq-q-chevron {\n  color: var(--bs-primary);\n  transform: rotate(180deg);\n}\n.faq-page .faq-section-items .faq-item[open] summary {\n  color: var(--bs-primary);\n  border-bottom: 1px solid var(--bs-border-color);\n}\n.faq-page .faq-section-items .faq-item .faq-answer {\n  padding: 1.1rem 1.25rem 1.1rem 3.85rem;\n  font-size: 0.95rem;\n  line-height: 1.65;\n  color: var(--bs-body-color);\n}\n.faq-page .faq-section-items .faq-item .faq-answer p:last-child,\n.faq-page .faq-section-items .faq-item .faq-answer ul:last-child,\n.faq-page .faq-section-items .faq-item .faq-answer ol:last-child,\n.faq-page .faq-section-items .faq-item .faq-answer pre:last-child {\n  margin-bottom: 0;\n}\n.faq-page .faq-section-items .faq-item .faq-answer a {\n  color: var(--bs-primary);\n  text-decoration: underline;\n  text-underline-offset: 2px;\n}\n.faq-page .faq-section-items .faq-item .faq-answer a:hover {\n  text-decoration-thickness: 2px;\n}\n.faq-page .faq-section-items .faq-item .faq-answer code {\n  padding: 0.12em 0.35em;\n  font-size: 0.875em;\n  color: var(--bs-emphasis-color);\n  background: var(--bs-tertiary-bg);\n  border: 1px solid var(--bs-border-color);\n  border-radius: 0.25rem;\n}\n.faq-page .faq-section-items .faq-item .faq-answer pre.astro-code,\n.faq-page .faq-section-items .faq-item .faq-answer pre {\n  padding: 0.85rem 1rem;\n  margin-top: 0.75rem;\n  margin-bottom: 0.75rem;\n  overflow-x: auto;\n  font-size: 0.85rem;\n  line-height: 1.55;\n  border-radius: 0.25rem;\n}\n.faq-page .faq-section-items .faq-item .faq-answer pre.astro-code code,\n.faq-page .faq-section-items .faq-item .faq-answer pre code {\n  padding: 0;\n  background: transparent;\n  border: 0;\n}\n.faq-page .faq-cta {\n  padding: 2.5rem 1.5rem;\n  text-align: center;\n  background: radial-gradient(ellipse at top, rgba(var(--bs-primary-rgb), 0.08), transparent 60%), var(--bs-body-bg);\n  border: 1px solid var(--bs-border-color);\n  border-radius: 1rem;\n}\n.faq-page .faq-cta-icon {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 3.5rem;\n  height: 3.5rem;\n  margin-bottom: 1rem;\n  font-size: 1.6rem;\n  color: var(--bs-primary);\n  background: var(--bs-primary-bg-subtle);\n  border-radius: 50%;\n}\n.faq-page .faq-cta h2 {\n  margin: 0 0 0.5rem;\n  font-size: 1.5rem;\n  font-weight: 600;\n  color: var(--bs-emphasis-color);\n}\n.faq-page .faq-cta p {\n  max-width: 32rem;\n  margin: 0 auto 1.5rem;\n  color: var(--bs-secondary-color);\n}\n.faq-page .faq-cta-actions {\n  display: inline-flex;\n  flex-wrap: wrap;\n  gap: 0.5rem;\n  justify-content: center;\n}\n\n/*# sourceMappingURL=adminlte-docs.css.map */\n","/*!\n *   AdminLTE v4.0.4 — documentation styles\n *   Styles for the documentation and FAQ pages only (body.docs-page /\n *   body.faq-page). Applications never need this file; it is loaded by the\n *   docs pages in addition to adminlte.css.\n */\n\n// Bootstrap Configuration\n// ---------------------------------------------------\n@import \"bootstrap/scss/functions\";\n@import \"bootstrap-overrides\";\n@import \"bootstrap/scss/variables\";\n@import \"bootstrap/scss/variables-dark\";\n@import \"bootstrap/scss/maps\";\n@import \"bootstrap/scss/mixins\";\n\n// AdminLTE Configuration\n// ---------------------------------------------------\n@import \"variables\";\n@import \"variables-dark\";\n@import \"mixins\";\n\n// Documentation styles\n// ---------------------------------------------------\n@import \"docs\";\n","//\n// Mixins: Animation\n//\n\n\n@keyframes flipInX {\n  0% {\n    opacity: 0;\n    transition-timing-function: ease-in;\n    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n  }\n\n  40% {\n    transition-timing-function: ease-in;\n    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n  }\n\n  60% {\n    opacity: 1;\n    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n  }\n\n  80% {\n    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n  }\n\n  100% {\n    transform: perspective(400px);\n  }\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n@keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n\n  to {\n    opacity: 0;\n  }\n}\n\n@keyframes shake {\n  0% {\n    transform: translate(2px, 1px) rotate(0deg);\n  }\n  10% {\n    transform: translate(-1px, -2px) rotate(-2deg);\n  }\n  20% {\n    transform: translate(-3px, 0) rotate(3deg);\n  }\n  30% {\n    transform: translate(0, 2px) rotate(0deg);\n  }\n  40% {\n    transform: translate(1px, -1px) rotate(1deg);\n  }\n  50% {\n    transform: translate(-1px, 2px) rotate(-1deg);\n  }\n  60% {\n    transform: translate(-3px, 1px) rotate(0deg);\n  }\n  70% {\n    transform: translate(2px, 1px) rotate(-2deg);\n  }\n  80% {\n    transform: translate(-1px, -1px) rotate(4deg);\n  }\n  90% {\n    transform: translate(2px, 2px) rotate(0deg);\n  }\n  100% {\n    transform: translate(1px, -2px) rotate(-1deg);\n  }\n}\n\n@keyframes wobble {\n  0% {\n    transform: none;\n  }\n\n  15% {\n    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n  }\n\n  30% {\n    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n  }\n\n  45% {\n    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n  }\n\n  60% {\n    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n  }\n\n  75% {\n    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n  }\n\n  100% {\n    transform: none;\n  }\n}\n","//\n// Component: Docs\n//\n// Visual treatment for documentation pages. Body class `.docs-page` opts in.\n// Demo pages are not affected.\n//\n\n// Inline code blocks rendered by MDX (Astro highlight default class)\n.astro-code {\n  padding: .75rem;\n  @include border-radius($border-radius);\n}\n\n.docs-page {\n  // Constrain the docs card to a comfortable reading width.\n  // Tables and code blocks inside can still scroll horizontally if needed.\n  .app-content > .container-fluid {\n    max-width: 60rem; // ~960px\n\n    @include media-breakpoint-up(xxl) {\n      max-width: 64rem;\n    }\n  }\n\n  //\n  // Card body — breathing room + prose typography.\n  // Only applied inside docs content cards so demo-page card content\n  // stays unchanged.\n  //\n  .card > .card-body {\n    padding: 1.5rem;\n    font-size: 1rem;\n    line-height: 1.7;\n    color: var(--#{$prefix}body-color);\n\n    @include media-breakpoint-up(md) {\n      padding: 2.5rem;\n    }\n\n    //\n    // Heading hierarchy. The MDX content in src/html/components/docs/ uses\n    // ##### (h5) as the dominant section heading and ###### (h6) as a\n    // sub-heading (most visible in FAQ.mdx, where h5 is a topic and h6 is\n    // a question). Style h5 as a major section and h6 as a sub-section so\n    // the visual hierarchy matches the semantic one.\n    //\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6,\n    .h1,\n    .h2,\n    .h3,\n    .h4,\n    .h5,\n    .h6 {\n      margin-top: 2em;\n      margin-bottom: .5em;\n      font-weight: 600;\n      line-height: 1.3;\n      color: var(--#{$prefix}emphasis-color);\n      scroll-margin-top: 4rem; // anchor-link friendly\n\n      &:first-child {\n        margin-top: 0;\n      }\n    }\n\n    h2,\n    .h2 {\n      padding-bottom: .35em;\n      font-size: 1.75rem;\n      border-bottom: 1px solid var(--#{$prefix}border-color);\n    }\n\n    h3,\n    .h3 {\n      font-size: 1.4rem;\n    }\n\n    h4,\n    .h4 {\n      font-size: 1.2rem;\n    }\n\n    // h5 is the dominant section heading across docs MDX files. Give it\n    // a visible separator above so sections are easy to scan.\n    h5,\n    .h5 {\n      padding-top: 1.5em;\n      margin-top: 2.5em;\n      font-size: 1.3rem;\n      border-top: 1px solid var(--#{$prefix}border-color);\n\n      &:first-child {\n        padding-top: 0;\n        border-top: 0;\n      }\n    }\n\n    // h6 is the sub-section / FAQ question style. Smaller than h5 but\n    // still distinctly heading-like, with a touch of accent colour to\n    // separate from body text.\n    h6,\n    .h6 {\n      margin-top: 1.75em;\n      font-size: 1.08rem;\n      color: var(--#{$prefix}emphasis-color);\n    }\n\n    //\n    // Paragraphs and lists.\n    //\n    p,\n    ul,\n    ol,\n    dl,\n    blockquote,\n    table {\n      margin-bottom: 1.1rem;\n    }\n\n    ul,\n    ol {\n      padding-left: 1.5rem;\n\n      li {\n        margin-bottom: .35rem;\n      }\n\n      // Tighter nested lists\n      ul,\n      ol {\n        margin-top: .35rem;\n        margin-bottom: 0;\n      }\n    }\n\n    // Lead-style first paragraph (just after a heading)\n    h2 + p,\n    h3 + p,\n    h5 + p {\n      margin-top: 0;\n    }\n\n    //\n    // Inline code — pill style that complements MDX's syntax-highlighted blocks.\n    //\n    p code,\n    li code,\n    td code,\n    th code,\n    h2 code,\n    h3 code,\n    h4 code,\n    h5 code,\n    h6 code {\n      padding: .15em .4em;\n      font-size: .875em;\n      color: var(--#{$prefix}emphasis-color);\n      background: var(--#{$prefix}tertiary-bg);\n      border: 1px solid var(--#{$prefix}border-color);\n      @include border-radius($border-radius-sm);\n    }\n\n    //\n    // Code blocks.\n    //\n    pre.astro-code,\n    pre {\n      padding: 1rem 1.25rem;\n      margin-top: 1.25rem;\n      margin-bottom: 1.5rem;\n      overflow-x: auto;\n      font-size: .875rem;\n      line-height: 1.6;\n      @include border-radius($border-radius);\n\n      code {\n        padding: 0;\n        background: transparent;\n        border: 0;\n      }\n    }\n\n    //\n    // Tables — reference-doc styling with hairline borders.\n    //\n    table {\n      width: 100%;\n      margin-top: 1.25rem;\n      margin-bottom: 1.5rem;\n      overflow: hidden;\n      font-size: .95rem;\n      border-collapse: collapse;\n      border: 1px solid var(--#{$prefix}border-color);\n      @include border-radius($border-radius-sm);\n\n      th,\n      td {\n        padding: .65rem .9rem;\n        text-align: left;\n        vertical-align: top;\n        border-bottom: 1px solid var(--#{$prefix}border-color);\n      }\n\n      th {\n        font-weight: 600;\n        color: var(--#{$prefix}emphasis-color);\n        background: var(--#{$prefix}tertiary-bg);\n      }\n\n      tr:last-child td {\n        border-bottom: 0;\n      }\n\n      code {\n        white-space: nowrap;\n      }\n    }\n\n    //\n    // Blockquotes used as info callouts.\n    //\n    blockquote {\n      padding: .85rem 1.1rem;\n      margin-top: 1.25rem;\n      color: var(--#{$prefix}emphasis-color);\n      background: var(--#{$prefix}info-bg-subtle);\n      border-left: 4px solid var(--#{$prefix}info-border-subtle);\n      @include border-radius($border-radius-sm);\n\n      p:last-child {\n        margin-bottom: 0;\n      }\n\n      code {\n        background: rgba(0, 0, 0, .05);\n      }\n    }\n\n    //\n    // Prose links — stand out more than Bootstrap defaults.\n    //\n    a:not(.btn):not(.nav-link) {\n      color: var(--#{$prefix}primary);\n      text-decoration: underline;\n      text-decoration-thickness: 1px;\n      text-underline-offset: 3px;\n\n      &:hover {\n        text-decoration-thickness: 2px;\n      }\n    }\n\n    //\n    // Horizontal rule — used as additional section separator.\n    //\n    hr {\n      margin: 2.5rem 0;\n      border: 0;\n      border-top: 1px solid var(--#{$prefix}border-color);\n      opacity: 1;\n    }\n\n    //\n    // Lead paragraph — the first paragraph in any doc is a summary.\n    // Visually heavier so it functions as a deck.\n    //\n    > p:first-child,\n    > p:first-of-type {\n      margin-bottom: 2rem;\n      font-size: 1.125rem;\n      line-height: 1.6;\n      color: var(--#{$prefix}body-color);\n    }\n\n    //\n    // FAQ / disclosure accordion — uses native <details>/<summary>.\n    // Add `.faq-item` to <details> to opt in.\n    //\n    details.faq-item {\n      margin-bottom: .5rem;\n      overflow: hidden;\n      background: var(--#{$prefix}body-bg);\n      border: 1px solid var(--#{$prefix}border-color);\n      @include border-radius($border-radius);\n      @include transition(border-color .15s ease, box-shadow .15s ease);\n\n      &:hover {\n        border-color: var(--#{$prefix}primary-border-subtle);\n      }\n\n      &[open] {\n        background: var(--#{$prefix}body-bg);\n        border-color: var(--#{$prefix}primary-border-subtle);\n        box-shadow: 0 1px 3px rgba(0, 0, 0, .04);\n      }\n\n      summary {\n        position: relative;\n        padding: .9rem 3rem .9rem 1.1rem;\n        font-size: 1rem;\n        font-weight: 600;\n        color: var(--#{$prefix}emphasis-color);\n        list-style: none;\n        cursor: pointer;\n        user-select: none;\n        @include transition(color .15s ease);\n\n        // Hide the default disclosure triangle in Webkit/Blink\n        &::-webkit-details-marker {\n          display: none;\n        }\n\n        // Hide the marker in modern Firefox too\n        &::marker {\n          content: \"\";\n        }\n\n        &:hover {\n          color: var(--#{$prefix}primary);\n        }\n\n        // Right-side chevron, rotates on open\n        &::after {\n          position: absolute;\n          top: 50%;\n          right: 1.1rem;\n          display: inline-block;\n          width: .55rem;\n          height: .55rem;\n          margin-top: -.4rem;\n          content: \"\";\n          border-right: 2px solid currentcolor;\n          border-bottom: 2px solid currentcolor;\n          opacity: .55;\n          transform: rotate(45deg);\n          @include transition(transform .2s ease);\n        }\n      }\n\n      &[open] > summary {\n        color: var(--#{$prefix}primary);\n        border-bottom: 1px solid var(--#{$prefix}border-color);\n\n        &::after {\n          margin-top: -.15rem;\n          opacity: 1;\n          transform: rotate(-135deg);\n        }\n      }\n\n      // Content (everything after <summary>) gets the inner padding\n      > *:not(summary) {\n        padding-right: 1.1rem;\n        padding-left: 1.1rem;\n      }\n\n      > *:not(summary):first-of-type {\n        padding-top: 1rem;\n      }\n\n      > *:not(summary):last-child {\n        padding-bottom: 1rem;\n      }\n\n      // Tighten paragraphs/lists inside an FAQ answer\n      p,\n      ul,\n      ol {\n        margin-bottom: .65rem;\n      }\n\n      > *:last-child p:last-child,\n      > p:last-child,\n      > ul:last-child,\n      > ol:last-child {\n        margin-bottom: 0;\n      }\n\n      // Code blocks inside an FAQ answer get a less-distracting bg\n      pre.astro-code,\n      pre {\n        margin-right: 0;\n        margin-left: 0;\n      }\n    }\n  }\n\n  // Dark-mode tweak: blockquote info bg needs more contrast on dark\n  &[data-bs-theme=\"dark\"],\n  [data-bs-theme=\"dark\"] & {\n    .card > .card-body blockquote code {\n      background: rgba(255, 255, 255, .08);\n    }\n  }\n}\n\n//\n// FAQ page — custom layout that breaks out of the standard docs card\n// to give the FAQ a more distinctive visual identity. Opt in via\n// body.faq-page (set in pages/docs/faq.astro).\n//\n\n.faq-page {\n  // The FAQ doesn't use the standard card wrapper used by other docs,\n  // so the container can stretch wider for the chip strip and section\n  // grid.\n  .app-content > .container-fluid {\n    max-width: 64rem;\n\n    @include media-breakpoint-up(xxl) {\n      max-width: 72rem;\n    }\n  }\n\n  // --- Hero -------------------------------------------------------------\n  .faq-hero {\n    position: relative;\n    padding: 3rem 1.5rem 2.5rem;\n    margin-top: 1rem;\n    overflow: hidden;\n    background: radial-gradient(ellipse at top left, rgba(var(--#{$prefix}primary-rgb), .12), transparent 60%), radial-gradient(ellipse at bottom right, rgba(var(--#{$prefix}info-rgb), .1), transparent 65%), var(--#{$prefix}body-bg);\n    border: 1px solid var(--#{$prefix}border-color);\n    @include border-radius($border-radius-xl);\n  }\n\n  .faq-hero-eyebrow {\n    display: inline-flex;\n    gap: .4rem;\n    align-items: center;\n    padding: .35rem .85rem;\n    margin-bottom: 1rem;\n    font-size: .75rem;\n    font-weight: 600;\n    color: var(--#{$prefix}primary);\n    text-transform: uppercase;\n    letter-spacing: .08em;\n    background: var(--#{$prefix}primary-bg-subtle);\n    border: 1px solid var(--#{$prefix}primary-border-subtle);\n    @include border-radius(50rem);\n\n    .bi {\n      font-size: .9rem;\n    }\n  }\n\n  .faq-hero-title {\n    margin: 0 0 .5rem;\n    font-size: 2.25rem;\n    font-weight: 700;\n    line-height: 1.15;\n    color: var(--#{$prefix}emphasis-color);\n\n    @include media-breakpoint-up(md) {\n      font-size: 2.75rem;\n    }\n  }\n\n  .faq-hero-lead {\n    max-width: 36rem;\n    margin: 0 auto 1.75rem;\n    font-size: 1.05rem;\n    line-height: 1.55;\n    color: var(--#{$prefix}secondary-color);\n  }\n\n  .faq-search {\n    position: relative;\n    max-width: 32rem;\n    margin: 0 auto;\n\n    .form-control {\n      height: 3rem;\n      padding-right: 3rem;\n      padding-left: 3rem;\n      font-size: 1rem;\n      background: var(--#{$prefix}body-bg);\n      @include border-radius(50rem);\n      @include transition(box-shadow .15s ease, border-color .15s ease);\n\n      &:focus {\n        box-shadow: 0 0 0 .25rem rgba(var(--#{$prefix}primary-rgb), .15);\n      }\n    }\n  }\n\n  .faq-search-icon {\n    position: absolute;\n    top: 50%;\n    left: 1.2rem;\n    color: var(--#{$prefix}secondary-color);\n    pointer-events: none;\n    transform: translateY(-50%);\n  }\n\n  .faq-search-clear {\n    position: absolute;\n    top: 50%;\n    right: .65rem;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 2rem;\n    height: 2rem;\n    padding: 0;\n    color: var(--#{$prefix}secondary-color);\n    background: var(--#{$prefix}tertiary-bg);\n    border: 0;\n    transform: translateY(-50%);\n    @include border-radius(50%);\n    @include transition(background .15s ease, color .15s ease);\n\n    &:hover {\n      color: var(--#{$prefix}body-color);\n      background: var(--#{$prefix}secondary-bg);\n    }\n  }\n\n  .faq-empty-state {\n    max-width: 32rem;\n    padding: 1rem;\n    margin: 1.5rem auto 0;\n    font-size: .95rem;\n    color: var(--#{$prefix}secondary-color);\n    background: var(--#{$prefix}tertiary-bg);\n    @include border-radius($border-radius);\n\n    .bi {\n      margin-right: .35rem;\n    }\n  }\n\n  // --- Section nav chips ------------------------------------------------\n  .faq-chips {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: center;\n  }\n\n  .faq-chip {\n    display: inline-flex;\n    gap: .45rem;\n    align-items: center;\n    padding: .45rem .85rem;\n    font-size: .875rem;\n    font-weight: 500;\n    color: var(--#{$prefix}body-color);\n    text-decoration: none;\n    background: var(--#{$prefix}body-bg);\n    border: 1px solid var(--#{$prefix}border-color);\n    @include border-radius(50rem);\n    @include transition(transform .15s ease, border-color .15s ease, background-color .15s ease, color .15s ease);\n\n    &:hover {\n      color: var(--#{$prefix}emphasis-color);\n      background: var(--#{$prefix}tertiary-bg);\n      transform: translateY(-1px);\n    }\n\n    .bi {\n      font-size: 1rem;\n    }\n  }\n\n  .faq-chip-count {\n    padding: 0 .45rem;\n    font-size: .7rem;\n    font-weight: 600;\n    color: var(--#{$prefix}secondary-color);\n    background: var(--#{$prefix}tertiary-bg);\n    @include border-radius(50rem);\n  }\n\n  // Per-section chip accent on hover/active\n  @each $tone in (primary, info, warning, success, danger, secondary) {\n    .faq-chip-#{$tone}:hover {\n      color: var(--#{$prefix}#{$tone}-text-emphasis);\n      background: var(--#{$prefix}#{$tone}-bg-subtle);\n      border-color: var(--#{$prefix}#{$tone}-border-subtle);\n\n      .faq-chip-count {\n        color: var(--#{$prefix}#{$tone}-text-emphasis);\n        background: rgba(0, 0, 0, .06);\n      }\n    }\n  }\n\n  // --- Sections ---------------------------------------------------------\n  .faq-section {\n    margin-bottom: 2.5rem;\n    scroll-margin-top: 5rem;\n  }\n\n  .faq-section-header {\n    display: flex;\n    gap: 1rem;\n    align-items: center;\n    padding: 1rem 1.25rem;\n    margin-bottom: 1rem;\n    background: var(--#{$prefix}body-bg);\n    border: 1px solid var(--#{$prefix}border-color);\n    border-left: 4px solid var(--#{$prefix}primary);\n    @include border-radius($border-radius);\n  }\n\n  .faq-section-icon {\n    display: inline-flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: 2.75rem;\n    height: 2.75rem;\n    font-size: 1.35rem;\n    color: var(--#{$prefix}primary);\n    background: var(--#{$prefix}primary-bg-subtle);\n    @include border-radius($border-radius);\n  }\n\n  .faq-section-title {\n    margin: 0;\n    font-size: 1.4rem;\n    font-weight: 600;\n    line-height: 1.2;\n    color: var(--#{$prefix}emphasis-color);\n  }\n\n  .faq-section-count {\n    margin: .1rem 0 0;\n    font-size: .8rem;\n    color: var(--#{$prefix}secondary-color);\n  }\n\n  // Per-section tone accents\n  @each $tone in (primary, info, warning, success, danger, secondary) {\n    .faq-section-#{$tone} {\n      border-left-color: var(--#{$prefix}#{$tone});\n\n      .faq-section-icon {\n        color: var(--#{$prefix}#{$tone}-text-emphasis);\n        background: var(--#{$prefix}#{$tone}-bg-subtle);\n      }\n    }\n  }\n\n  // --- FAQ items (override the generic .docs-page details styling) ------\n  .faq-section-items .faq-item {\n    margin-bottom: .5rem;\n    overflow: hidden;\n    background: var(--#{$prefix}body-bg);\n    border: 1px solid var(--#{$prefix}border-color);\n    @include border-radius($border-radius);\n    @include transition(border-color .15s ease, box-shadow .15s ease, transform .15s ease);\n\n    &:hover {\n      border-color: var(--#{$prefix}primary-border-subtle);\n      transform: translateX(2px);\n    }\n\n    &[open] {\n      border-color: var(--#{$prefix}primary-border-subtle);\n      box-shadow: 0 2px 8px rgba(0, 0, 0, .04);\n      transform: none;\n    }\n\n    summary {\n      display: flex;\n      gap: .85rem;\n      align-items: center;\n      padding: 1rem 1.25rem;\n      font-size: 1rem;\n      font-weight: 500;\n      color: var(--#{$prefix}emphasis-color);\n      list-style: none;\n      cursor: pointer;\n      user-select: none;\n\n      &::-webkit-details-marker {\n        display: none;\n      }\n\n      &::marker {\n        content: \"\";\n      }\n\n      &::after {\n        content: none; // disable the generic chevron, we use our own\n      }\n    }\n\n    .faq-q-icon {\n      display: inline-flex;\n      flex-shrink: 0;\n      align-items: center;\n      justify-content: center;\n      width: 1.75rem;\n      height: 1.75rem;\n      font-size: .85rem;\n      color: var(--#{$prefix}primary);\n      background: var(--#{$prefix}primary-bg-subtle);\n      @include border-radius(50%);\n    }\n\n    .faq-q-text {\n      flex-grow: 1;\n    }\n\n    .faq-q-chevron {\n      flex-shrink: 0;\n      color: var(--#{$prefix}secondary-color);\n      @include transition(transform .2s ease, color .2s ease);\n    }\n\n    &[open] .faq-q-chevron {\n      color: var(--#{$prefix}primary);\n      transform: rotate(180deg);\n    }\n\n    &[open] summary {\n      color: var(--#{$prefix}primary);\n      border-bottom: 1px solid var(--#{$prefix}border-color);\n    }\n\n    .faq-answer {\n      padding: 1.1rem 1.25rem 1.1rem 3.85rem; // align with the question text (icon + gap)\n      font-size: .95rem;\n      line-height: 1.65;\n      color: var(--#{$prefix}body-color);\n\n      p:last-child,\n      ul:last-child,\n      ol:last-child,\n      pre:last-child {\n        margin-bottom: 0;\n      }\n\n      a {\n        color: var(--#{$prefix}primary);\n        text-decoration: underline;\n        text-underline-offset: 2px;\n\n        &:hover {\n          text-decoration-thickness: 2px;\n        }\n      }\n\n      code {\n        padding: .12em .35em;\n        font-size: .875em;\n        color: var(--#{$prefix}emphasis-color);\n        background: var(--#{$prefix}tertiary-bg);\n        border: 1px solid var(--#{$prefix}border-color);\n        @include border-radius($border-radius-sm);\n      }\n\n      pre.astro-code,\n      pre {\n        padding: .85rem 1rem;\n        margin-top: .75rem;\n        margin-bottom: .75rem;\n        overflow-x: auto;\n        font-size: .85rem;\n        line-height: 1.55;\n        @include border-radius($border-radius-sm);\n\n        code {\n          padding: 0;\n          background: transparent;\n          border: 0;\n        }\n      }\n    }\n  }\n\n  // --- CTA footer -------------------------------------------------------\n  .faq-cta {\n    padding: 2.5rem 1.5rem;\n    text-align: center;\n    background: radial-gradient(ellipse at top, rgba(var(--#{$prefix}primary-rgb), .08), transparent 60%), var(--#{$prefix}body-bg);\n    border: 1px solid var(--#{$prefix}border-color);\n    @include border-radius($border-radius-xl);\n  }\n\n  .faq-cta-icon {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 3.5rem;\n    height: 3.5rem;\n    margin-bottom: 1rem;\n    font-size: 1.6rem;\n    color: var(--#{$prefix}primary);\n    background: var(--#{$prefix}primary-bg-subtle);\n    @include border-radius(50%);\n  }\n\n  .faq-cta h2 {\n    margin: 0 0 .5rem;\n    font-size: 1.5rem;\n    font-weight: 600;\n    color: var(--#{$prefix}emphasis-color);\n  }\n\n  .faq-cta p {\n    max-width: 32rem;\n    margin: 0 auto 1.5rem;\n    color: var(--#{$prefix}secondary-color);\n  }\n\n  .faq-cta-actions {\n    display: inline-flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: center;\n  }\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if type-of($value) == number {\n      $return: append($return, max($value, 0));\n    } @else {\n      $return: append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n  }\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $max: map-get($breakpoints, $name);\n  @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n"]}