/* Responsive images with minimum size */
.md-typeset img {
  min-width: 600px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.5rem auto;
}

/* Responsive images on mobile */
@media screen and (max-width: 768px) {
  .md-typeset img {
    min-width: 100%;
    max-width: 100%;
    width: 100%;
  }
}

/* Responsive videos */
.md-typeset video {
  min-width: 600px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.5rem auto;
  background-color: #000;
  width: 100%;
}

.md-typeset video[controls] {
  width: 100%;
}

/* Ensure videos load properly */
.md-typeset video source {
  display: block;
}

/* Video loading states */
.md-typeset video:not([src]) {
  background-color: #f5f5f5;
}

[data-md-color-scheme="slate"] .md-typeset video:not([src]) {
  background-color: #1e1e1e;
}

@media screen and (max-width: 768px) {
  .md-typeset video {
    min-width: 100%;
    max-width: 100%;
    width: 100%;
  }
}

@keyframes heart {
  0%,
  40%,
  80%,
  100% {
    transform: scale(1);
  }

  20%,
  60% {
    transform: scale(1.15);
  }
}

.heart {
  animation: heart 1000ms infinite;
  color: #e91e63;
}

.experimental {
  color: rgb(124, 77, 255);
}

:root {
  --md-success-invert-color: #fff;
  --md-success-color: #107c10;
}

:root {
  --md-admonition-icon--experimental: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M8 8.807V3.5h-.563a.75.75 0 0 1 0-1.5h9.125a.75.75 0 0 1 0 1.5H16v5.307l5.125 9.301c.964 1.75-.302 3.892-2.299 3.892H5.174c-1.998 0-3.263-2.142-2.3-3.892L8 8.807zM14.5 3.5h-5V9a.75.75 0 0 1-.093.362L7.127 13.5h9.746l-2.28-4.138A.75.75 0 0 1 14.5 9V3.5zM4.189 18.832 6.3 15h11.4l2.111 3.832a1.125 1.125 0 0 1-.985 1.668H5.174a1.125 1.125 0 0 1-.985-1.668z"/></svg>');
  --md-admonition-icon--learn: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M12.292 2.06v-.001l11.25 4.75a.749.749 0 0 1 0 1.382L19 10.108V15a.75.75 0 0 1-.11.391h-.001a2.84 2.84 0 0 1-.392.482c-.249.256-.625.58-1.163.896-1.08.638-2.776 1.23-5.334 1.23-.673 0-1.286-.041-1.846-.113a.75.75 0 0 1 .192-1.487c.492.063 1.042.1 1.654.1 2.317 0 3.746-.533 4.572-1.021.31-.178.596-.397.849-.65l.079-.085V10.74l-5.208 2.2a.75.75 0 0 1-.584 0L5.75 10.424v3.17c.502.129.96.391 1.327.758.579.578.923 1.41.923 2.428v4.5a.761.761 0 0 1-.345.634 2.157 2.157 0 0 1-.21.117 3.923 3.923 0 0 1-.52.213A6.121 6.121 0 0 1 5 22.532a6.092 6.092 0 0 1-1.925-.288 4.065 4.065 0 0 1-.52-.213 1.816 1.816 0 0 1-.22-.124.757.757 0 0 1-.335-.624v-4.5c0-1.02.344-1.85.923-2.43a2.904 2.904 0 0 1 1.327-.757V9.793L.458 8.19a.75.75 0 0 1 0-1.38l11.25-4.75a.75.75 0 0 1 .584 0ZM12 11.436 21.322 7.5 12 3.564 2.678 7.5ZM5 15c-.377 0-.745.141-1.017.413-.265.265-.483.7-.483 1.368v4.022c.299.105.797.228 1.5.228s1.201-.123 1.5-.228V16.78c0-.669-.218-1.103-.483-1.368A1.433 1.433 0 0 0 5 15Z"></path></svg>');
  --md-admonition-icon--message: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z"/><path d="M5 8.75A.75.75 0 0 1 5.75 8h11.5a.75.75 0 0 1 0 1.5H5.75A.75.75 0 0 1 5 8.75Zm0 4a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Z"/></svg>');
  --md-admonition-icon--security: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 15.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-.25-8.25a.75.75 0 0 0-1.5 0v4.5a.75.75 0 0 0 1.5 0z"/><path d="M11.46.637a1.75 1.75 0 0 1 1.08 0l8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.77 10.705-9.401 12.83a1.7 1.7 0 0 1-1.198 0C5.771 20.704 2 16.19 2 10V4.976c0-.76.49-1.43 1.21-1.664Zm.617 1.426a.25.25 0 0 0-.154 0L3.673 4.74a.25.25 0 0 0-.173.237V10c0 5.461 3.28 9.483 8.43 11.426a.2.2 0 0 0 .14 0C17.22 19.483 20.5 15.46 20.5 10V4.976a.25.25 0 0 0-.173-.237Z"/></svg>');
}

/* experimental */
.md-typeset .admonition.experimental,
.md-typeset details.experimental {
  border-color: rgb(124, 77, 255);
}

.md-typeset .experimental > .admonition-title,
.md-typeset .experimental > summary {
  background-color: rgba(124, 77, 255, 0.1);
  border-color: rgb(124, 77, 255);
}

.md-typeset .experimental > .admonition-title::before,
.md-typeset .experimental > summary::before {
  background-color: rgb(124, 77, 255);
  -webkit-mask-image: var(--md-admonition-icon--experimental);
  mask-image: var(--md-admonition-icon--experimental);
}

/* learn */
.md-typeset .admonition.learn,
.md-typeset details.learn {
  border-color: rgb(0, 191, 165);
}

.md-typeset .learn > .admonition-title,
.md-typeset .learn > summary {
  background-color: rgba(0, 191, 165, 0.1);
  border-color: rgb(0, 191, 165);
}

.md-typeset .learn > .admonition-title::before,
.md-typeset .learn > summary::before {
  background-color: rgb(0, 191, 165);
  -webkit-mask-image: var(--md-admonition-icon--learn);
  mask-image: var(--md-admonition-icon--learn);
}

/* message */
.md-typeset .admonition.message,
.md-typeset details.message {
  border-color: rgb(0, 100, 80);
}

.md-typeset .message > .admonition-title,
.md-typeset .message > summary {
  background-color: rgba(0, 100, 80, 0.1);
  border-color: rgb(0, 100, 80);
}

.md-typeset .message > .admonition-title::before,
.md-typeset .message > summary::before {
  background-color: rgb(0, 100, 80);
  -webkit-mask-image: var(--md-admonition-icon--message);
  mask-image: var(--md-admonition-icon--message);
}

/* security */
.md-typeset .admonition.security,
.md-typeset details.security {
  border-color: rgb(0, 100, 80);
}

.md-typeset .security > .admonition-title,
.md-typeset .security > summary {
  background-color: rgba(0, 100, 80, 0.1);
  border-color: rgb(0, 100, 80);
}

.md-typeset .security > .admonition-title::before,
.md-typeset .security > summary::before {
  background-color: rgb(0, 100, 80);
  -webkit-mask-image: var(--md-admonition-icon--security);
  mask-image: var(--md-admonition-icon--security);
}

/* badges */

.badge {
  font-size: 0.85em;
}

.md-typeset .badge__icon {
  background: var(--md-accent-fg-color--transparent);
  padding: 0.2rem;
}

.md-typeset .badge__icon:last-child {
  border-radius: 0.1rem;
}

.md-typeset .badge__text {
  box-shadow: 0 0 0 1px inset var(--md-accent-fg-color--transparent);
  padding: 0.2rem 0.3rem;
}

/* Links - Dark green color (override Material theme blue) */
.md-typeset a,
.md-typeset a:link,
.md-typeset a:visited,
.md-typeset a:focus {
  color: #006644 !important;
}

/* Lighter green for dark theme */
[data-md-color-scheme="slate"] .md-typeset a,
[data-md-color-scheme="slate"] .md-typeset a:link,
[data-md-color-scheme="slate"] .md-typeset a:visited,
[data-md-color-scheme="slate"] .md-typeset a:focus {
  color: #00d99a !important;
}

.md-typeset a:hover {
  color: #008055 !important;
}

/* More vibrant hover for dark theme */
[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: #00ff99 !important;
}

/* Override Material theme default link colors */
:root {
  --md-typeset-a-color: #006644;
}

[data-md-color-scheme="slate"] {
  --md-typeset-a-color: #00d99a;
}

[data-md-color-scheme="default"] {
  --md-typeset-a-color: #006644;
}

/* Navigation links - Left sidebar and right TOC - Override all blue colors */
.md-nav__link,
.md-nav__link:link,
.md-nav__link:visited {
  color: inherit !important;
}

.md-nav__link--active,
.md-nav__link[data-md-state="blur"] {
  color: #006644 !important;
}

/* Lighter green for active links in dark theme */
[data-md-color-scheme="slate"] .md-nav__link--active,
[data-md-color-scheme="slate"] .md-nav__link[data-md-state="blur"] {
  color: #00d99a !important;
}

.md-nav__link:hover,
.md-nav__link:focus {
  color: #008055 !important;
}

[data-md-color-scheme="slate"] .md-nav__link:hover,
[data-md-color-scheme="slate"] .md-nav__link:focus {
  color: #00ff99 !important;
}

/* Override blue colors in navigation items */
.md-nav__item .md-nav__link,
.md-nav__item .md-nav__link:link,
.md-nav__item .md-nav__link:visited {
  color: inherit !important;
}

.md-nav__item .md-nav__link:hover,
.md-nav__item .md-nav__link:focus {
  color: #008055 !important;
}

[data-md-color-scheme="slate"] .md-nav__item .md-nav__link:hover,
[data-md-color-scheme="slate"] .md-nav__item .md-nav__link:focus {
  color: #00ff99 !important;
}

.md-nav__item .md-nav__link--active {
  color: #006644 !important;
}

[data-md-color-scheme="slate"] .md-nav__item .md-nav__link--active {
  color: #00d99a !important;
}

/* Table of contents links (right sidebar) */
.md-sidebar__scrollwrap .md-nav__link,
.md-sidebar__scrollwrap .md-nav__link:link,
.md-sidebar__scrollwrap .md-nav__link:visited {
  color: inherit !important;
}

.md-sidebar__scrollwrap .md-nav__link:hover,
.md-sidebar__scrollwrap .md-nav__link:focus {
  color: #008055 !important;
}

[data-md-color-scheme="slate"] .md-sidebar__scrollwrap .md-nav__link:hover,
[data-md-color-scheme="slate"] .md-sidebar__scrollwrap .md-nav__link:focus {
  color: #00ff99 !important;
}

.md-sidebar__scrollwrap .md-nav__link--active {
  color: #006644 !important;
}

[data-md-color-scheme="slate"] .md-sidebar__scrollwrap .md-nav__link--active {
  color: #00d99a !important;
}

/* Left sidebar navigation */
.md-nav--primary .md-nav__link,
.md-nav--primary .md-nav__link:link,
.md-nav--primary .md-nav__link:visited {
  color: inherit !important;
}

.md-nav--primary .md-nav__link:hover,
.md-nav--primary .md-nav__link:focus {
  color: #008055 !important;
}

[data-md-color-scheme="slate"] .md-nav--primary .md-nav__link:hover,
[data-md-color-scheme="slate"] .md-nav--primary .md-nav__link:focus {
  color: #00ff99 !important;
}

.md-nav--primary .md-nav__link--active {
  color: #006644 !important;
}

[data-md-color-scheme="slate"] .md-nav--primary .md-nav__link--active {
  color: #00d99a !important;
}

/* Right sidebar table of contents */
.md-nav--secondary .md-nav__link,
.md-nav--secondary .md-nav__link:link,
.md-nav--secondary .md-nav__link:visited {
  color: inherit !important;
}

.md-nav--secondary .md-nav__link:hover,
.md-nav--secondary .md-nav__link:focus {
  color: #008055 !important;
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__link:hover,
[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__link:focus {
  color: #00ff99 !important;
}

.md-nav--secondary .md-nav__link--active {
  color: #006644 !important;
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__link--active {
  color: #00d99a !important;
}

/* Override Material theme default navigation colors */
:root {
  --md-primary-fg-color: #006644;
  --md-accent-fg-color: #006644;
  --md-typeset-a-color: #006644;
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #00d99a;
  --md-accent-fg-color: #00d99a;
  --md-typeset-a-color: #00d99a;
}

[data-md-color-scheme="default"] {
  --md-primary-fg-color: #006644;
  --md-accent-fg-color: #006644;
  --md-typeset-a-color: #006644;
}

/* Force override any remaining blue colors in navigation */
.md-nav__link[href],
.md-nav__link[href]:visited,
.md-nav__link[href]:link {
  color: inherit !important;
}

.md-nav__link[href]:hover,
.md-nav__link[href]:focus {
  color: #008055 !important;
}

[data-md-color-scheme="slate"] .md-nav__link[href]:hover,
[data-md-color-scheme="slate"] .md-nav__link[href]:focus {
  color: #00ff99 !important;
}

.md-nav__link[href].md-nav__link--active {
  color: #006644 !important;
}

[data-md-color-scheme="slate"] .md-nav__link[href].md-nav__link--active {
  color: #00d99a !important;
}

/* Override any blue accent colors */
.md-typeset a:not(.md-button) {
  color: #006644 !important;
}

.md-typeset a:not(.md-button):hover {
  color: #008055 !important;
}

[data-md-color-scheme="slate"] .md-typeset a:not(.md-button):hover {
  color: #00ff99 !important;
}
