h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
  letter-spacing: -0.2px;
  font-weight: bold !important;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

[data-md-color-primary=white] {
  --md-typeset-a-color: #2563EB;
}

[data-md-color-scheme=slate] {
  --md-typeset-a-color: #3B82F6;
}

span[markdown="1"] {
  text-decoration: underline;
  text-decoration-style: dotted;
  cursor: help;
}

main a:not(.glightbox):not(.download-button):not(.preview-content) {
  opacity: 1;
  transition: opacity 0.3s;
}

.md-nav__link[for]:focus,
.md-nav__link[for]:hover,
.md-nav__link[href]:focus,
.md-nav__link[href]:hover,
main a:not(.glightbox):not(.download-button):not(.preview-content):hover {
  color: var(--md-typeset-a-color);
  opacity: 0.75;
  text-decoration: underline;
}

nav .md-ellipsis {
  font-weight: bold;
}

p:has(a.glightbox) {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
}

.download-button {
  font-weight: bold;
  color: rgba(0, 0, 0, 1) !important;
  padding: 4px 8px;
  border: 1px solid rgb(66, 53, 53);
  border-radius: 4px;
  opacity: 1;
  transition: opacity 0.3s;
}

body[data-md-color-scheme="slate"] .download-button {
  color: rgba(255, 255, 255, 1) !important;
  border: 1px solid oklch(98.4% 0.003 247.858);
}

.download-button:hover {
  opacity: 0.75;
}

.download-button-title:hover {
  text-decoration: underline;
}

.heading-with-download-button {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.25rem;
}

.heading-with-download-button .download-button {
  font-size: small;
  padding: 0;
  border: none !important;
}

.heading-with-download-button h1 {
  margin-bottom: 0;
}

.footer-with-download-button {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
}

article img:not(.twemoji):not(.brand img):not(.preview-image) {
  width: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  transition: box-shadow 0.3s cubic-bezier(.25, .8, .25, 1);
  max-height: max(300px, 50vh);
  object-fit: contain;
  margin: 0 auto;
}

article img:not(.twemoji):not(.brand img):not(.preview-image):hover {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

article figure image {
  display: initial;
}

article p {
  text-wrap: pretty;
}

.brand {
  display: inline;
  white-space: nowrap;
}

.brand img {
  display: inline-flex;
  vertical-align: text-top;
  object-fit: contain;
  max-height: 1.125em !important;
  max-width: 1rem !important;
}

.open {
  font-size: 12px;
  vertical-align: middle;
}

.reading-time {
  align-items: center;
  font-weight: 500;
  font-size: small;
  color: oklch(55.4% 0.046 257.417);
  margin-top: 4px;
}

body[data-md-color-scheme="slate"] .reading-time {
  color: oklch(70.4% 0.04 256.788);
}

.reading-time svg {
  width: 14px;
  height: 14px;
  margin-bottom: -2px;
}

article h1:has(+.reading-time) {
  margin-bottom: 0;
}

.last-updated {
  text-align: center;
  font-size: 0.5rem;
  font-style: italic;
  margin-bottom: 0;
  opacity: 0.75;
}

body[data-md-color-scheme="slate"] .md-logo img {
  filter: invert(100%) sepia(0%) saturate(7480%) hue-rotate(187deg) brightness(106%) contrast(105%);
}