/* Route-scoped blog styles */
html.blog-wrapper .main-wrapper > .container.margin-vert--lg {
  margin-top: 1rem;
  margin-bottom: 1.2rem;
}

html.blog-wrapper.blog-list-page main.col > article,
html.blog-wrapper.blog-post-page main.col > article,
html.blog-wrapper.blog-tags-post-list-page main.col > article,
html.blog-wrapper.blog-authors-posts-page main.col > article {
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 0.95rem;
  padding: 1rem 1.1rem 0.95rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 250, 251, 0.98));
}

html.blog-wrapper.blog-list-page main.col > article,
html.blog-wrapper.blog-tags-post-list-page main.col > article,
html.blog-wrapper.blog-authors-posts-page main.col > article {
  margin-bottom: 0.95rem !important;
  margin-block-end: 0.95rem !important;
}

html.blog-wrapper.blog-tags-list-page main.col > section {
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 0.95rem;
  padding: 0.9rem 1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 250, 251, 0.98));
}

html.blog-wrapper.blog-authors-list-page main.col > section {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

html.blog-wrapper.blog-tags-post-list-page main.col > header,
html.blog-wrapper.blog-authors-posts-page main.col > header {
  position: relative;
  overflow: hidden;
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
  border: 0;
  border-radius: 1rem;
  padding: 1rem 1.08rem 0.92rem;
  background: transparent;
  box-shadow: none;
}

html.blog-wrapper.blog-tags-post-list-page main.col > header h1,
html.blog-wrapper.blog-authors-posts-page main.col > header h1 {
  margin-bottom: 0.35rem;
  font-size: clamp(1.42rem, 1.4vw + 1rem, 2rem);
  line-height: 1.18;
  letter-spacing: -0.015em;
}

html.blog-wrapper.blog-tags-post-list-page main.col > header p {
  margin: 0.2rem 0 0.5rem;
  color: #4b5563;
  line-height: 1.5;
}

html.blog-wrapper.blog-tags-post-list-page main.col > header > a,
html.blog-wrapper.blog-authors-posts-page main.col > header > a {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  padding: 0.25rem 0.62rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #374151;
  background: rgba(248, 250, 252, 0.7);
  text-decoration: none;
}

html.blog-wrapper.blog-authors-posts-page main.col > header .avatar {
  margin-bottom: 0.45rem !important;
}

html.blog-wrapper.blog-authors-posts-page main.col > header .avatar__photo {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 2px solid rgba(15, 23, 42, 0.16);
}

html.blog-wrapper.blog-authors-posts-page main.col > header .avatar__intro {
  font-size: 0.95rem;
}

html.blog-wrapper.blog-authors-posts-page main.col > header .avatar small {
  font-size: 0.78rem;
}

html.blog-wrapper.blog-authors-posts-page main.col > hr {
  border: 0;
  border-top: 1px solid rgba(15, 23, 42, 0.1);
  margin: 0.82rem 0 1rem;
}

html.blog-wrapper.blog-tags-list-page main.col > section > article {
  padding: 0.45rem 0.2rem 0.35rem;
}

html.blog-wrapper.blog-tags-list-page main.col > section > article > h2 {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  margin: 0 0 0.52rem;
  font-size: 0.98rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

html.blog-wrapper.blog-tags-list-page main.col > section > article > h2 .hash-link {
  opacity: 0.42;
  color: inherit;
  font-size: 0.82rem;
  text-decoration: none;
  transition: opacity 0.2s ease, color 0.2s ease;
}

html.blog-wrapper.blog-tags-list-page main.col > section > article > h2:hover .hash-link {
  opacity: 0.95;
}

html.blog-wrapper.blog-tags-list-page main.col > section > article > hr {
  border: 0;
  border-top: 1px solid rgba(15, 23, 42, 0.1);
  margin: 0.66rem 0 0.18rem;
}

html.blog-wrapper.blog-tags-list-page main.col > section > article ul.padding--none {
  margin: 0;
  padding: 0;
}

html.blog-wrapper.blog-tags-list-page main.col > section > article li[class*="tag_"] {
  display: inline-flex;
  margin: 0 0.45rem 0.45rem 0;
}

html.blog-wrapper.blog-tags-list-page main.col a[rel="tag"],
html.blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"] {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  border-left: 1px solid rgba(15, 23, 42, 0.12);
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.85rem;
  background: rgba(255, 247, 237, 0.78);
  color: #9a3412;
  font-size: 0.86rem;
  line-height: 1.15;
  font-weight: 650;
  padding: 0.34rem 0.54rem;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

html.blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"]::before,
html.blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"]::after {
  content: none !important;
  display: none !important;
}

html.blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"] > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.22rem;
  height: 1.22rem;
  text-align: center;
  border-radius: 999px;
  background: rgba(249, 115, 22, 0.16);
  color: #9a3412;
  font-size: 0.72rem;
  line-height: 1;
  font-weight: 700;
  padding: 0 0.34rem;
}

html.blog-wrapper.blog-tags-list-page main.col a[rel="tag"]:hover,
html.blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"]:hover {
  transform: translateY(-1px);
  border-color: rgba(249, 115, 22, 0.45);
  background: rgba(255, 247, 237, 0.78);
  color: #9a3412;
}

html.blog-wrapper.blog-authors-list-page main.col > section > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

html.blog-wrapper.blog-authors-list-page main.col li[class*="authorListItem_"] {
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 0.85rem;
  padding: 0.72rem 0.8rem;
  background: #fff;
}

html.blog-wrapper.blog-authors-list-page main.col li[class*="authorListItem_"] h2 {
  font-size: 1.03rem;
  margin: 0;
}

html.blog-wrapper.blog-authors-list-page main.col li[class*="authorListItem_"] [class*="authorBlogPostCount_"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  margin-left: 0.42rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  color: #9a3412;
  background: rgba(249, 115, 22, 0.16);
}

html.blog-wrapper main.col article header h1,
html.blog-wrapper main.col article header h2 {
  margin-bottom: 0.38rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

html.blog-wrapper.blog-list-page main.col article header h2,
html.blog-wrapper.blog-tags-post-list-page main.col article header h2,
html.blog-wrapper.blog-authors-posts-page main.col article header h2 {
  font-size: clamp(1.34rem, 1.05vw + 1rem, 1.72rem);
}

html.blog-wrapper.blog-post-page main.col article header h1 {
  font-size: clamp(1.82rem, 1.7vw + 1.12rem, 2.42rem);
}

html.blog-wrapper main.col article header > div:first-of-type {
  margin-top: 0.2rem !important;
  margin-bottom: 0.55rem !important;
  font-size: 0.9rem;
  color: #6b7280;
}

html.blog-wrapper main.col article .avatar {
  margin-bottom: 0.32rem !important;
}

html.blog-wrapper main.col article .avatar__photo {
  width: 34px;
  height: 34px;
}

html.blog-wrapper main.col article .avatar__intro {
  font-size: 0.9rem;
  line-height: 1.3;
}

html.blog-wrapper main.col article .avatar__name {
  font-size: 0.92rem;
}

html.blog-wrapper main.col article .avatar small {
  display: block;
  font-size: 0.73rem;
  line-height: 1.22;
}

html.blog-wrapper main.col article .avatar [class*="authorSocials_"] {
  margin-top: 0.16rem;
  gap: 0.28rem;
}

html.blog-wrapper main.col article .avatar [class*="authorSocialLink_"] {
  font-size: 0.86rem;
}

html.blog-wrapper main.col article .avatar [class*="authorSocialLink_"] svg {
  width: 0.86em;
  height: 0.86em;
}

/* Single blog post: keep author block larger (as before) */
html.blog-wrapper.blog-post-page main.col article .avatar {
  margin-bottom: 0.45rem !important;
}

html.blog-wrapper.blog-post-page main.col article .avatar__photo {
  width: 48px;
  height: 48px;
}

html.blog-wrapper.blog-post-page main.col article .avatar__intro {
  font-size: 1rem;
  line-height: 1.35;
}

html.blog-wrapper.blog-post-page main.col article .avatar__name {
  font-size: 1rem;
}

html.blog-wrapper.blog-post-page main.col article .avatar small {
  font-size: 0.82rem;
  line-height: 1.28;
}

html.blog-wrapper.blog-post-page main.col article .avatar [class*="authorSocials_"] {
  margin-top: 0.2rem;
  gap: 0.34rem;
}

html.blog-wrapper.blog-post-page main.col article .avatar [class*="authorSocialLink_"] {
  font-size: 1rem;
}

html.blog-wrapper.blog-post-page main.col article .avatar [class*="authorSocialLink_"] svg {
  width: 1em;
  height: 1em;
}

html.blog-wrapper main.col article .markdown p,
html.blog-wrapper main.col article .markdown li {
  line-height: 1.62;
}

html.blog-wrapper main.col article .markdown blockquote {
  border-left: 3px solid rgba(249, 115, 22, 0.5);
  background: rgba(255, 247, 237, 0.55);
  border-radius: 0.5rem;
  margin: 1rem 0;
  padding: 0.65rem 0.9rem;
}

html.blog-wrapper main.col article .markdown hr {
  border: 0;
  border-top: 1px solid rgba(15, 23, 42, 0.1);
  margin: 1.2rem 0;
}

html.blog-wrapper main.col article .markdown :not(pre) > code {
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: linear-gradient(180deg, rgba(248, 250, 252, 1), rgba(255, 255, 255, 1));
  border-radius: 0.48rem;
  padding: 0.14rem 0.42rem;
  font-size: 0.92em;
  font-weight: 600;
  color: #0f172a;
}

html.blog-wrapper main.col article .markdown table {
  width: 100%;
  border-collapse: collapse;
  border: none;
  border-radius: 0.78rem;
  overflow: hidden;
  margin: 0.9rem 0 1.1rem;
}

html.blog-wrapper main.col article .markdown table thead tr {
  background: rgba(249, 115, 22, 0.1);
}

html.blog-wrapper main.col article .markdown table th,
html.blog-wrapper main.col article .markdown table td {
  border-color: rgba(15, 23, 42, 0.08);
  padding: 0.55rem 0.7rem;
}

html.blog-wrapper main.col article .markdown table tbody tr:nth-child(2n) {
  background: rgba(248, 250, 252, 0.7);
}

html.blog-wrapper main.col article .markdown .theme-admonition,
html.blog-wrapper main.col article .markdown details.alert {
  border-radius: 0.85rem;
  border-color: rgba(249, 115, 22, 0.25);
}

html.blog-wrapper main.col article .markdown img {
  border-radius: 0.95rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

html.blog-wrapper.blog-list-page main.col article .markdown p {
  margin-bottom: 0.62rem;
}

html.blog-wrapper main.col article footer {
  margin-top: 0.72rem !important;
  padding-top: 0.68rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

html.blog-wrapper main.col article footer ul {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html.blog-wrapper main.col article footer a[rel="tag"] {
  display: inline-flex;
  align-items: center;
  font-size: 0.76rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  padding: 0.2rem 0.56rem;
  background: rgba(255, 247, 237, 0.78);
  color: #9a3412;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

html.blog-wrapper main.col article footer a[rel="tag"]:hover {
  transform: translateY(-1px);
  border-color: rgba(249, 115, 22, 0.45);
  color: #c2410c;
}

html.blog-wrapper aside nav[aria-label="Blog recent posts navigation"] {
  position: sticky;
  top: calc(var(--ifm-navbar-height) + 0.85rem);
}

html.blog-wrapper .pagination-nav {
  margin-top: 1rem !important;
}

html[data-theme="dark"].blog-wrapper.blog-list-page main.col > article,
html[data-theme="dark"].blog-wrapper.blog-post-page main.col > article,
html[data-theme="dark"].blog-wrapper.blog-tags-post-list-page main.col > article,
html[data-theme="dark"].blog-wrapper.blog-authors-posts-page main.col > article {
  border-color: #374151;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(31, 41, 55, 0.96));
}

html[data-theme="dark"].blog-wrapper.blog-tags-list-page main.col > section,
html[data-theme="dark"].blog-wrapper.blog-authors-list-page main.col li[class*="authorListItem_"] {
  border-color: #374151;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(31, 41, 55, 0.96));
}

html[data-theme="dark"].blog-wrapper.blog-authors-list-page main.col > section {
  border: 0;
  border-radius: 0;
  background: transparent;
}

html[data-theme="dark"].blog-wrapper.blog-tags-post-list-page main.col > header,
html[data-theme="dark"].blog-wrapper.blog-authors-posts-page main.col > header {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

html[data-theme="dark"].blog-wrapper.blog-tags-post-list-page main.col > header p {
  color: #d1d5db;
}

html[data-theme="dark"].blog-wrapper.blog-tags-post-list-page main.col > header > a,
html[data-theme="dark"].blog-wrapper.blog-authors-posts-page main.col > header > a {
  border-color: #4b5563;
  color: #d1d5db;
  background: rgba(17, 24, 39, 0.38);
}

html[data-theme="dark"].blog-wrapper.blog-authors-posts-page main.col > header .avatar__photo {
  border-color: #4b5563;
}

html[data-theme="dark"].blog-wrapper.blog-authors-posts-page main.col > hr {
  border-top-color: #374151;
}

html[data-theme="dark"].blog-wrapper.blog-tags-list-page main.col > section > article > hr {
  border-top-color: #374151;
}

html[data-theme="dark"].blog-wrapper.blog-tags-list-page main.col a[rel="tag"],
html[data-theme="dark"].blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"] {
  border-color: #4b5563;
  background: rgba(88, 49, 20, 0.35);
  color: #fed7aa;
  box-shadow: none;
}

html[data-theme="dark"].blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"] > span,
html[data-theme="dark"].blog-wrapper.blog-authors-list-page main.col li[class*="authorListItem_"] [class*="authorBlogPostCount_"] {
  background: rgba(251, 146, 60, 0.2);
  color: #fed7aa;
}

html[data-theme="dark"].blog-wrapper.blog-tags-list-page main.col a[rel="tag"]:hover,
html[data-theme="dark"].blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"]:hover {
  border-color: #4b5563;
  background: rgba(88, 49, 20, 0.35);
  color: #fed7aa;
}

html[data-theme="dark"].blog-wrapper main.col article header > div:first-of-type {
  color: #9ca3af;
}

html[data-theme="dark"].blog-wrapper main.col article footer {
  border-top-color: #374151;
}

html[data-theme="dark"].blog-wrapper main.col article footer a[rel="tag"] {
  border-color: #4b5563;
  background: rgba(88, 49, 20, 0.35);
  color: #fed7aa;
}

html[data-theme="dark"].blog-wrapper main.col article .markdown blockquote {
  border-left-color: rgba(251, 146, 60, 0.6);
  background: rgba(55, 65, 81, 0.35);
}

html[data-theme="dark"].blog-wrapper main.col article .markdown hr {
  border-top-color: #374151;
}

html[data-theme="dark"].blog-wrapper main.col article .markdown :not(pre) > code {
  border-color: #4b5563;
  background: #111827;
  color: #f3f4f6;
}

html[data-theme="dark"].blog-wrapper main.col article .markdown table thead tr {
  background: rgba(251, 146, 60, 0.14);
}

html[data-theme="dark"].blog-wrapper main.col article .markdown table th,
html[data-theme="dark"].blog-wrapper main.col article .markdown table td {
  border-color: #374151;
}

html[data-theme="dark"].blog-wrapper main.col article .markdown table tbody tr:nth-child(2n) {
  background: rgba(17, 24, 39, 0.55);
}

html[data-theme="dark"].blog-wrapper main.col article .markdown .theme-admonition,
html[data-theme="dark"].blog-wrapper main.col article .markdown details.alert {
  border-color: rgba(251, 146, 60, 0.45);
}

html[data-theme="dark"].blog-wrapper main.col article .markdown img {
  border-color: #374151;
  box-shadow: none;
}

html.blog-wrapper main.col article .markdown p a,
html.blog-wrapper main.col article .markdown li a {
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.12em;
}

@media screen and (max-width: 996px) {
  html.blog-wrapper .main-wrapper > .container.margin-vert--lg {
    margin-top: 0.65rem;
  }

  html.blog-wrapper.blog-list-page main.col > article,
  html.blog-wrapper.blog-post-page main.col > article,
  html.blog-wrapper.blog-tags-post-list-page main.col > article,
  html.blog-wrapper.blog-authors-posts-page main.col > article {
    padding: 0.86rem 0.86rem 0.8rem;
  }

  html.blog-wrapper.blog-tags-list-page main.col > section {
    padding: 0.78rem 0.82rem;
  }

  html.blog-wrapper.blog-tags-list-page main.col > section > article {
    padding: 0.35rem 0.12rem 0.28rem;
  }

  html.blog-wrapper.blog-tags-list-page main.col > section > article > h2 {
    margin-bottom: 0.45rem;
    font-size: 0.93rem;
  }

  html.blog-wrapper.blog-tags-list-page main.col > section > article li[class*="tag_"] {
    margin: 0 0.35rem 0.36rem 0;
  }

  html.blog-wrapper.blog-tags-list-page main.col a[rel="tag"],
  html.blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"] {
    font-size: 0.82rem;
    padding: 0.3rem 0.48rem;
  }

  html.blog-wrapper.blog-tags-list-page main.col [class*="tagWithCount_"] > span {
    min-width: 1.15rem;
    height: 1.15rem;
    font-size: 0.68rem;
  }

  html.blog-wrapper.blog-authors-list-page main.col > section {
    padding: 0;
  }

  html.blog-wrapper.blog-tags-post-list-page main.col > header,
  html.blog-wrapper.blog-authors-posts-page main.col > header {
    padding: 0.86rem 0.88rem 0.8rem;
  }

  html.blog-wrapper.blog-authors-posts-page main.col > header .avatar__photo {
    width: 48px;
    height: 48px;
  }

  html.blog-wrapper main.col article .avatar__photo {
    width: 30px;
    height: 30px;
  }

  html.blog-wrapper main.col article .avatar__intro {
    font-size: 0.86rem;
  }

  html.blog-wrapper main.col article .avatar__name {
    font-size: 0.88rem;
  }

  html.blog-wrapper main.col article .avatar small {
    font-size: 0.7rem;
  }

  html.blog-wrapper.blog-post-page main.col article .avatar__photo {
    width: 40px;
    height: 40px;
  }

  html.blog-wrapper.blog-post-page main.col article .avatar__intro {
    font-size: 0.95rem;
  }

  html.blog-wrapper.blog-post-page main.col article .avatar__name {
    font-size: 0.96rem;
  }

  html.blog-wrapper.blog-post-page main.col article .avatar small {
    font-size: 0.78rem;
  }

  html.blog-wrapper aside nav[aria-label="Blog recent posts navigation"] {
    position: static;
  }
}

@layer docusaurus.infima {
  html.blog-wrapper.blog-list-page main.col > article.margin-bottom--xl,
  html.blog-wrapper.blog-tags-post-list-page main.col > article.margin-bottom--xl,
  html.blog-wrapper.blog-authors-posts-page main.col > article.margin-bottom--xl {
    margin-bottom: 0.95rem !important;
    margin-block-end: 0.95rem !important;
  }

  html.blog-wrapper.blog-tags-post-list-page main.col > header.margin-bottom--xl,
  html.blog-wrapper.blog-authors-posts-page main.col > header.margin-bottom--xl {
    margin-bottom: 0 !important;
    margin-block-end: 0 !important;
  }
}
