 .image-lightbox {
   display: none;
   position: fixed;
   inset: 0;
   background: rgba(15, 23, 42, 0.82);
   align-items: center;
   justify-content: center;
   z-index: 50;
   padding: 24px;
 }

 .image-lightbox.is-open {
   display: flex;
 }

 .image-lightbox img {
   max-width: min(1200px, 92vw);
   max-height: 90vh;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
   border-radius: 12px;
   background: #fff;
 }

 .image-lightbox #lightbox-caption {
   color: #f8fafc;
 }

 .image-lightbox #lightbox-caption ul {
   list-style: disc;
   margin: 8px 0 0;
   padding-left: 20px;
   text-align: left;
 }

 .image-lightbox #lightbox-caption a {
   color: #93c5fd;
   text-decoration: underline;
 }

.justified-text {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  word-spacing: -0.02em;
}

@media (max-width: 640px) {
  .justified-text {
    text-align: left;
    text-justify: auto;
    hyphens: none;
    word-spacing: normal;
  }
}

.highlight {
  background: #1e1e1e !important;
  color: #d4d4d4 !important;
  border: none;
  border-radius: 12px;
  padding: 16px;
  margin: 16px 0;
  overflow-x: auto;
  font-size: 0.95rem;
}

.highlight pre,
.highlight code {
  background: transparent !important;
  color: inherit !important;
  margin: 0;
}

.highlight pre {
  white-space: pre;
}

.highlight .c,
.highlight .cm,
.highlight .c1,
.highlight .cs {
  color: #6a9955;
}

.highlight .k,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kt {
  color: #569cd6;
}

.highlight .s,
.highlight .s1,
.highlight .s2,
.highlight .sr,
.highlight .se {
  color: #ce9178;
}

.highlight .m,
.highlight .mi,
.highlight .mf,
.highlight .mh {
  color: #b5cea8;
}

.highlight .nf,
.highlight .nb,
.highlight .nc {
  color: #dcdcaa;
}

.highlight .nx {
  color: #9cdcfe;
}

.highlight .o,
.highlight .p {
  color: #d4d4d4;
}

/* Blog dark mode (Minima pages only). */
.site-header,
.page-content,
.site-footer {
  background: #212121 !important;
  color: #e6e6e6 !important;
}

.site-header {
  border-bottom: 1px solid #585858 !important;
}

.site-title,
.site-title:visited,
.site-description {
  color: #e6e6e6 !important;
}

.post-title,
.post-list-heading,
.post-list .post-link {
  font-size: 2rem !important;
  line-height: 1.35 !important;
}

.post-title {
  margin-top: 0.6rem;
}

.post-footer-meta {
  margin-top: 1.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid #1f2937;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  color: #9ca3af !important;
  font-size: 0.95rem;
}

.post-author {
  margin: 0.35rem 0 0.4rem;
  font-size: 0.95rem;
  color: #9ca3af !important;
}

.post-author-footer {
  color: inherit !important;
}

@media (max-width: 640px) {
  .post-content {
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .readme-home {
    border: none;
    border-radius: 0;
    padding: 1rem 0 2rem;
  }

  .readme-home h1 {
    font-size: 1.5rem;
  }

  .readme-home h2 {
    font-size: 1.05rem;
  }

  .readme-lede,
  .readme-home p,
  .readme-home li {
    font-size: 0.95rem;
  }

  .readme-lede {
    margin: 0.6rem 0 0;
  }

  .readme-actions {
    margin-top: 1rem;
    gap: 8px;
  }

  .readme-primary,
  .readme-secondary {
    font-size: 0.85rem;
    padding: 0.45rem 0.9rem;
    border-radius: 8px;
  }

  .readme-post {
    font-size: 0.9rem;
  }

  .highlight {
    margin: 0;
    padding: 0;
    border-radius: 0;
  }

  .highlight code,
  .highlight pre {
    font-size: 0.80rem;
    line-height: 1.5;
  }

  .post-title {
    font-size: 1.4rem !important;
    line-height: 1.3;
  }

  .readme-divider {
    margin: 1.4rem 0;
  }

  .readme-section h2 {
    margin: 0 0 0.5rem;
  }

  .readme-quote {
    margin: 0.8rem 0;
    padding-left: 0.9rem;
    font-size: 1rem;
  }

  .page-content {
    padding-top: 0;
  }
}

.page-content a,
.site-header a,
.site-footer a {
  color: #8ab4f8 !important;
}

.page-content a:hover,
.site-header a:hover,
.site-footer a:hover {
  color: #a7c5ff !important;
}

.post-meta,
.post-list .post-meta,
.rss-subscribe,
.site-footer span {
  color: #9ca3af !important;
}

.post-content,
.page-content p,
.page-content li,
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
  color: #e6e6e6 !important;
}

.page-content hr {
  border-color: #5a5a5a !important;
}

.page-content code {
  background: transparent !important;
  color: #e2e8f0 !important;
}

.site-header .menu-icon svg path {
  fill: currentColor !important;
}

/* Blog home as README */

.home .post-list-heading,
.home .post-list,
.home .rss-subscribe {
  display: none !important;
}

.home .site-header {
  display: none !important;
}

.blog-home-page .site-header {
  display: none !important;
}

.site-header .site-nav {
  background: transparent !important;
}

.site-nav .nav-trigger {
  border: none !important;
  box-shadow: none !important;
}

.site-nav .menu-icon {
  border: none !important;
  background: transparent !important;
}

.site-nav .menu-icon svg {
  display: block;
}

.site-nav .menu-icon svg path {
  fill: currentColor !important;
}


@media screen and (max-width: 600px) {
  .site-nav {
    border: none !important;
    background: transparent !important;
  }
}

.page-content .readme-home {
  margin-top: 0;
}

.home .page-content {
  background: #212121 !important;
  color: #e6e6e6 !important;
}

.readme-home {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  color: #e6e6e6;
  padding: 2.5rem 0 4rem;
  background: #212121;
}

.readme-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.readme-heading h1 {
  margin: 0;
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
}

.readme-badge {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: #1f1f1f;
  color: #a3a3a3;
  border: 1px solid #333333;
}

.readme-lede {
  margin: 1rem 0 0;
  font-size: 1.02rem;
  line-height: 1.65;
  color: #c7c7c7;
}

.readme-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 1.6rem;
}

.readme-primary {
  background: #3b82f6;
  color: #0b0b0b !important;
  padding: 0.65rem 1.3rem;
  border-radius: 10px;
  text-decoration: none !important;
  font-weight: 600;
}

.readme-secondary {
  color: #93c5fd !important;
  text-decoration: none;
  border: 1px solid #3a3a3a;
  padding: 0.6rem 1.2rem;
  border-radius: 10px;
}

.readme-divider {
  border: none;
  border-top: 2px solid #5a5a5a;
  margin: 2.4rem 0;
}

.readme-section {
  margin-top: 0;
}

.readme-section h2 {
  margin: 0 0 0.8rem;
  font-size: 1.2rem;
}

.readme-section ul {
  margin: 0;
  padding-left: 1.2rem;
  color: #c7c7c7;
}

.readme-quote {
  margin: 1.2rem 0;
  padding: 0.3rem 0 0.3rem 1.2rem;
  border-left: 4px solid #3f3f3f;
  color: #e6e6e6;
  font-size: 1.1rem;
}

.readme-list {
  list-style: square;
}

.readme-post {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  color: #c7c7c7;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

.readme-post a {
  color: #7dd3fc !important;
  text-decoration: none;
}

.readme-post span {
  color: #9e9e9e;
  font-size: 0.85rem;
}

.readme-home h1,
.readme-home h2,
.readme-home h3,
.readme-home h4,
.readme-home h5,
.readme-home h6,
.readme-home p,
.readme-home li,
.readme-home strong {
  color: #e6e6e6 !important;
}

.readme-home .readme-lede,
.readme-home .readme-section ul,
.readme-home .readme-post {
  color: #c7c7c7 !important;
}

.readme-home a {
  color: #7dd3fc !important;
}

@media (max-width: 720px) {
  .readme-card,
  .readme-section {
    padding: 0;
  }

  .readme-post {
    flex-direction: column;
    align-items: flex-start;
  }
}
