body {
  margin: 0;
  line-height: 1.5;
  font-family: 'lxgw';
  font-weight: 400;
  font-size: 16px;
  background-color: #eee;
  color: #555;
}
code:not([class*="language-"]) {
  font-family: Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;
  padding: 0.125em 0.2em;
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
}
p {
  margin: 0 0 20px;
}
strong {
  font-weight: 650;
}
a {
  color: #555;
  transition: all 0.3s;
  text-decoration: none;
  border-bottom: 1px solid #555;
}
a:hover {
  color: #222;
}
img {
  max-width: 100%;
  border-radius: 3px;
  box-shadow: 5px 5px 5px rgba(0,0,0,0.06), -2px -2px 5px rgba(0,0,0,0.04);
  margin-bottom: 20px;
}
p img:last-child {
  margin-bottom: 0;
}
table {
  margin-bottom: 20px;
  border-collapse: collapse;
  border-spacing: 0;
  word-break: break-all;
  width: 100%;
}
table thead {
  height: 2.125em;
  background: #fafafa;
}
table thead tr th {
  font-weight: 600;
  border: 1px solid #ccc;
  padding: 0 0.375em;
  border-bottom-width: 2px;
}
table tbody tr {
  height: 2em;
}
table tbody tr td {
  border: 1px solid #ccc;
  padding: 0 0.375em;
}
table tr {
  transition: background-color 0.3s;
}
table tr:hover {
  background-color: #eee;
}
blockquote {
  margin: 0 0 20px 0;
  color: #888;
  padding-left: 10px;
  border-left: 3px solid #aaa;
}
hr {
  margin-top: 30px;
  margin-bottom: 30px;
  height: 2px;
  border: none;
  background: #888;
}
button {
  font-family: 'lxgw';
}
.post-body ol:not(ol ol):not(ul ol),
.post-body ul:not(ul ul):not(ol ul) {
  margin: 0 0 20px 0;
}
.post-body ol,
.post-body ul {
  margin: 0;
}
.back-to-top {
  position: fixed;
  bottom: 20px;
  left: 12px;
  padding: 5px;
  cursor: pointer;
  font-size: 1rem;
  border-radius: 6px;
  background: #555;
  color: #fafafa;
  transform: translateY(32px);
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
}
.back-to-top i[class^="fa"] {
  margin-right: 8px;
}
.back-to-top.on {
  transform: translateY(0);
  visibility: visible;
  opacity: 0.6;
}
.back-to-top.on:hover {
  opacity: 0.9;
}
main.main {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  align-items: stretch;
  width: calc(100% - 100px);
}
@media (max-width: 991px) {
  main.main {
    width: calc(100% - 10px);
    flex-direction: column;
  }
}
.main-inner {
  box-sizing: border-box;
  width: calc(100% - 252px);
  margin-top: 10px;
}
@media (max-width: 991px) {
  .main-inner {
    width: 100%;
  }
}
.column {
  width: 240px;
}
@media (max-width: 991px) {
  .column {
    width: 100%;
  }
}
.column header {
  margin-top: 10px;
  border-radius: 5px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12);
}
@media (max-width: 991px) {
  .column header {
    margin-top: 0;
  }
}
.site-brand {
  padding: 0 10px;
  background-color: #222;
  border-radius: 5px 5px 0 0;
  color: #fff;
  display: flex;
}
.site-brand .site-meta {
  padding: 20px 0;
  flex-grow: 1;
  text-align: center;
}
.site-brand .site-meta .site-title {
  margin: 0;
  font-size: 1.375em;
}
.site-brand .site-meta .site-subtitle {
  color: #ddd;
  margin: 10px 10px 0;
  font-size: 0.8125em;
}
.site-nav .main-menu {
  margin: 0;
  padding: 1em 0;
  border-radius: 0 0 5px 5px;
  background-color: #fff;
}
.site-nav .main-menu li::marker {
  content: none;
}
.site-nav .main-menu li.menu-item {
  display: block;
  margin: auto;
  padding-left: 5%;
}
@media (max-width: 991px) {
  .site-nav .main-menu li.menu-item {
    display: inline-block;
    padding: 0;
  }
}
.site-nav .main-menu li.menu-item i[class^="fa"] {
  margin-right: 8px;
}
.site-nav .main-menu li.menu-item a {
  padding: 5px 20px;
  position: relative;
  display: block;
  text-align: left;
  font-size: 0.8125em;
  border-bottom: none;
  border-radius: 3px;
  line-height: 2;
  cursor: pointer;
}
@media (max-width: 991px) {
  .site-nav .main-menu li.menu-item a {
    display: inline-block;
  }
}
.site-nav .main-menu li.menu-item a::after {
  background: #555;
  opacity: 0.1;
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  bottom: 0;
  transition: transform 0.3s;
  transform-origin: left;
  transform: scaleX(0);
}
.site-nav .main-menu li.menu-item a:hover::after {
  transform: scaleX(100%);
  border-radius: 3px;
}
.site-nav .main-menu li.menu-item a.menu-item-active {
  background-color: #f5f5f5;
}
.site-nav .main-menu li.menu-item a.menu-item-active::before {
  background: #bfbfbf;
  border-radius: 6px;
  content: "";
  height: 1.5rem;
  left: calc(0.5rem * -1);
  position: absolute;
  top: calc(50% - 12px);
  width: 0.25rem;
}
@media (max-width: 991px) {
  .site-nav .main-menu li.menu-item a.menu-item-active::before {
    content: none;
    display: none;
  }
}
.site-nav .main-menu li.menu-item .morebtn-item {
  visibility: hidden;
  opacity: 0;
  padding: 0 !important;
  height: 0;
  transition: all 0.4s !important;
}
.site-nav .main-menu li.menu-item a.menu-more-btn:hover ~ .morebtn-item,
.site-nav .main-menu li.menu-item.menu-more:hover .morebtn-item {
  visibility: visible;
  opacity: 1;
  padding: 5px 20px !important;
  height: calc(1rem + 10px);
}
@media (max-width: 991px) {
  .site-nav .main-menu li.menu-item .morebtn-item {
    visibility: visible;
    opacity: 1;
    padding: 5px 20px !important;
    height: calc(1rem + 10px);
  }
}
.site-sidebar {
  margin-top: 12px;
  position: sticky;
  top: 12px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12);
  padding: 18px 10px;
  border-radius: 5px;
  background-color: #fff;
  max-height: calc(90dvh - 24px);
  overflow-y: auto;
}
@media (max-width: 991px) {
  .site-sidebar {
    display: none;
  }
}
.site-overview {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.site-author {
  font-weight: 700;
  text-align: center;
}
.site-stat {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.4;
}
.site-stat-item {
  padding: 0 10px;
  text-align: center;
}
.site-stat-item .site-stat-count {
  display: block;
  font-size: 1em;
  font-weight: 700;
}
.site-stat-item .site-stat-text {
  font-size: 0.8125em;
  color: #999;
}
.post-toc .toc {
  margin: 0;
  padding: 0 2px 0 10px;
  color: #999;
  font-size: 0.875em;
}
.post-toc .toc ol {
  margin: 0;
  padding: 0 2px 0 10px;
}
.post-toc .toc .toc-child {
  color: #999;
}
.post-toc .toc .toc-item:has(.toc-child) {
  display: grid;
  grid-template-rows: 0fr 0fr;
  transition: grid-template-rows 0.3s;
}
.post-toc .toc .toc-item:has(.toc-child) > .toc-child {
  min-height: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.post-toc .toc .toc-item:has(.toc-child):has(.toc-link-active) {
  grid-template-rows: 0fr 1fr;
}
.post-toc .toc li.toc-item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.post-toc .toc li.toc-item::marker {
  content: none;
}
.post-toc .toc li.toc-item a.toc-link {
  color: #999;
  border-bottom: none;
}
.post-toc .toc li.toc-item a.toc-link:hover {
  color: #333;
}
.post-toc .toc li.toc-item a.toc-link-active {
  color: #222;
}
nav.pagination {
  border-radius: 5px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12);
  background: #fff;
  line-height: 2;
  text-align: center;
  margin-top: 12px;
  padding: 10px 0;
}
nav.pagination .prev,
nav.pagination .next,
nav.pagination .page-number {
  display: inline-block;
  cursor: pointer;
  border-radius: 3px;
  padding: 0 10px;
  margin: 0 10px 0;
  border-bottom: none;
  position: relative;
}
nav.pagination .prev::before,
nav.pagination .next::before,
nav.pagination .page-number::before {
  background: #555;
  opacity: 0.1;
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  bottom: 0;
  transition: transform 0.3s;
  transform-origin: bottom;
  transform: scaleY(1%);
}
nav.pagination .prev:hover::before,
nav.pagination .next:hover::before,
nav.pagination .page-number:hover::before {
  transform: scaleY(100%);
  border-radius: 3px;
}
nav.pagination .current {
  background-color: #ccc;
  color: #fff;
}
nav.pagination .space {
  color: #bcbcbc;
}
.post-block {
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12);
  padding: 40px;
}
@media (max-width: 991px) {
  .post-block {
    padding: 12px;
  }
}
.post-block:not(:first-child) {
  margin-top: 12px;
}
.post-header {
  margin-bottom: 25px;
}
.post-header .post-title {
  margin: 0;
  font-size: 1.5em;
  border-left: 8px solid #333;
  border-radius: 3px;
  padding-left: 10px;
}
.post-header .post-title a {
  border-bottom: none;
  position: relative;
}
.post-header .post-title a::before {
  background: #222;
  bottom: 0;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transition: transform 0.3s ease-in-out;
  width: 100%;
}
.post-header .post-title a:hover::before {
  transform: scaleX(1);
}
.post-header .post-meta {
  margin-top: 3px;
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  color: #999;
  font-size: 0.75em;
  line-height: 2;
}
.post-header .post-meta-item-icon {
  margin-right: 3px;
}
.post-header :not(:first-child).post-meta-item::before {
  content: '|';
  margin: 0 0.5em;
}
.post-header .post-meta-item time {
  border-bottom: 1px dashed #999;
}
.post-body h1 {
  font-size: 1.5em;
  font-weight: 700;
  border-bottom: 1px solid #cdcdcd;
  margin: 30px 0 15px;
}
.post-body h1 .headerlink {
  border-bottom: 0;
  float: right;
  font-size: 0.875em;
}
.post-body h1 .headerlink::before {
  font-family: 'Font Awesome 6 Free';
  content: '\23';
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s;
}
.post-body h1:hover .headerlink::before {
  opacity: 0.3;
}
.post-body h1:target .headerlink::before {
  opacity: 1;
}
.post-body h2 {
  font-size: 1.375em;
  font-weight: 700;
  border-bottom: 1px solid #d2d2d2;
  margin: 30px 0 15px;
}
.post-body h2 .headerlink {
  border-bottom: 0;
  float: right;
  font-size: 0.875em;
}
.post-body h2 .headerlink::before {
  font-family: 'Font Awesome 6 Free';
  content: '\23';
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s;
}
.post-body h2:hover .headerlink::before {
  opacity: 0.3;
}
.post-body h2:target .headerlink::before {
  opacity: 1;
}
.post-body h3 {
  font-size: 1.25em;
  font-weight: 700;
  border-bottom: 1px solid #d7d7d7;
  margin: 30px 0 15px;
}
.post-body h3 .headerlink {
  border-bottom: 0;
  float: right;
  font-size: 0.875em;
}
.post-body h3 .headerlink::before {
  font-family: 'Font Awesome 6 Free';
  content: '\23';
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s;
}
.post-body h3:hover .headerlink::before {
  opacity: 0.3;
}
.post-body h3:target .headerlink::before {
  opacity: 1;
}
.post-body h4 {
  font-size: 1.125em;
  font-weight: 700;
  border-bottom: 1px solid #dcdcdc;
  margin: 30px 0 15px;
}
.post-body h4 .headerlink {
  border-bottom: 0;
  float: right;
  font-size: 0.875em;
}
.post-body h4 .headerlink::before {
  font-family: 'Font Awesome 6 Free';
  content: '\23';
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s;
}
.post-body h4:hover .headerlink::before {
  opacity: 0.3;
}
.post-body h4:target .headerlink::before {
  opacity: 1;
}
.post-body h5 {
  font-size: 1em;
  font-weight: 700;
  border-bottom: 1px solid #e1e1e1;
  margin: 30px 0 15px;
}
.post-body h5 .headerlink {
  border-bottom: 0;
  float: right;
  font-size: 0.875em;
}
.post-body h5 .headerlink::before {
  font-family: 'Font Awesome 6 Free';
  content: '\23';
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s;
}
.post-body h5:hover .headerlink::before {
  opacity: 0.3;
}
.post-body h5:target .headerlink::before {
  opacity: 1;
}
.post-body h6 {
  font-size: 0.875em;
  font-weight: 700;
  border-bottom: 1px solid #e6e6e6;
  margin: 30px 0 15px;
}
.post-body h6 .headerlink {
  border-bottom: 0;
  float: right;
  font-size: 0.875em;
}
.post-body h6 .headerlink::before {
  font-family: 'Font Awesome 6 Free';
  content: '\23';
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s;
}
.post-body h6:hover .headerlink::before {
  opacity: 0.3;
}
.post-body h6:target .headerlink::before {
  opacity: 1;
}
.post-footer {
  margin-top: 40px;
}
.post-tags {
  text-align: right;
  font-size: 0.875em;
}
.post-tags a {
  border-bottom: none;
  margin-left: 10px;
}
.post-nav {
  border-top: 1px solid #eee;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-top: 1em;
  padding: 10px 5px 0;
}
.post-nav a {
  border-bottom: none;
}
.timeline-title {
  font-size: 1.125em;
  font-weight: 700;
}
.timeline-title small {
  margin-left: 5px;
  color: #777;
  font-size: 0.875rem;
}
.timeline {
  position: relative;
}
.timeline::before {
  background: #f0f0f0;
  content: '';
  height: 100%;
  width: 4px;
  position: absolute;
  margin-left: -2px;
}
.timeline .timeline-year,
.timeline .timeline-item {
  padding-left: 15px;
  margin-top: 20px;
  position: relative;
}
.timeline .timeline-year:hover::before,
.timeline .timeline-item:hover::before {
  background: #999;
}
.timeline .timeline-year {
  font-size: 25px;
  font-weight: 600;
  position: relative;
  margin-top: 35px;
}
.timeline .timeline-year.firstel {
  margin-top: 0;
}
.timeline .timeline-year::before {
  content: '';
  position: absolute;
  border-radius: 50%;
  height: 8px;
  width: 8px;
  background: #bbb;
  transition: background 0.3s;
  left: -4px;
  top: calc(50% - 4px);
}
.timeline .timeline-item {
  border-bottom: 1px dashed #ccc;
  transition: border 0.3s;
}
.timeline .timeline-item a {
  border-bottom: none;
}
.timeline .timeline-item:hover {
  border-bottom-color: #999;
}
.timeline .timeline-item::before {
  content: '';
  position: absolute;
  border-radius: 50%;
  height: 4px;
  width: 4px;
  background: #ccc;
  transition: background 0.3s;
  left: -2px;
  top: calc(50% - 2px);
}
.timeline .timeline-item-date {
  color: #888;
  margin-right: 5px;
}
.timeline .time-line-start {
  height: 16px;
  display: block;
  margin-top: 20px;
  position: relative;
}
.timeline .time-line-start::before {
  font-family: 'Font Awesome 6 Free';
  content: '\f106';
  font-weight: 600;
  color: #ddd;
  font-size: 24px;
  position: absolute;
  top: -15px;
  left: -10.5px;
  transition: color 0.3s;
}
.timeline .time-line-start::after {
  content: '时间还在继续...';
  font-size: 12px;
  color: #999;
  position: absolute;
  top: -6px;
  left: 15px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-15px);
  transition: all 0.3s;
}
.timeline .time-line-start:hover::before {
  color: #999;
}
.timeline .time-line-start:hover::after {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}
.timeline .time-line-end {
  height: 16px;
  display: block;
  margin-top: 20px;
  position: relative;
}
.timeline .time-line-end::before {
  content: '';
  background: #ddd;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 6px;
  left: -6px;
  transition: background 0.3s;
}
.timeline .time-line-end::after {
  content: '你似乎到了时间线的尽头...';
  font-size: 12px;
  color: #999;
  position: absolute;
  top: 3px;
  left: 15px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-15px);
  transition: all 0.3s;
}
.timeline .time-line-end:hover::before {
  background: #999;
}
.timeline .time-line-end:hover::after {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}
.line-connect-head,
.line-connect-bottom {
  height: 25px;
  position: relative;
}
.line-connect-head::before,
.line-connect-bottom::before {
  content: '';
  height: 100%;
  width: 4px;
  position: absolute;
  margin-left: -2px;
}
.line-connect-head::before {
  background: linear-gradient(#fff, #f0f0f0);
}
.line-connect-bottom::before {
  background: linear-gradient(#f0f0f0, #fff);
}
.categories-all .category-list {
  padding: 0;
  margin: 20px 0 0 0;
}
.categories-all .category-list li.category-list-item {
  margin-top: 10px;
}
.categories-all .category-list li.category-list-item::marker {
  content: none;
}
.categories-all .category-list li.category-list-item .category-list-count {
  color: #bbb;
}
.categories-all .category-list li.category-list-item .category-list-count::before {
  content: ' (';
}
.categories-all .category-list li.category-list-item .category-list-count::after {
  content: ')';
}
.tag-cloud .tag-cloud-tags {
  text-align: center;
}
.tag-cloud .tag-cloud-tags a {
  display: inline-block;
  margin: 10px;
  border-bottom: none;
}
.tag-cloud .tag-cloud-tags a:hover {
  color: #222;
}
.tag-cloud .tag-cloud-tags .tags-item-count {
  opacity: 0.7;
}
.tag-cloud .tag-cloud-tags .tags-item-count::before {
  content: ' (';
}
.tag-cloud .tag-cloud-tags .tags-item-count::after {
  content: ')';
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-0 {
  color: #d0d0d0;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-1 {
  color: #c0c0c0;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-2 {
  color: #b0b0b0;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-3 {
  color: #a0a0a0;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-4 {
  color: #909090;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-5 {
  color: #808080;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-6 {
  color: #707070;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-7 {
  color: #606060;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-8 {
  color: #505050;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-9 {
  color: #404040;
}
.tag-cloud .tag-cloud-tags .cloud-tags-item-10 {
  color: #303030;
}
footer.footer {
  margin: 20px 0;
  text-align: center;
  color: #999;
  font-size: 0.875rem;
}
.post-body .note {
  border-radius: 3px;
  margin-bottom: 20px;
  padding: 1em 1em 1em 2em;
  position: relative;
}
.post-body .note.info {
  border-left: 3px solid #428bca;
  background: #eef7fa;
}
.post-body .note.info::before {
  font-family: 'Font Awesome 6 Free';
  content: '\f05a';
  font-weight: 600;
  color: #428bca;
  position: absolute;
  left: 0.625em;
  top: 1em;
}
.post-body .note.info > :first-child {
  font-weight: 600;
  color: #428bca;
  margin-bottom: 10px;
}
.post-body .note.success {
  border-left: 3px solid #5cb85c;
  background: #eff8f0;
}
.post-body .note.success::before {
  font-family: 'Font Awesome 6 Free';
  content: '\f058';
  font-weight: 600;
  color: #5cb85c;
  position: absolute;
  left: 0.625em;
  top: 1em;
}
.post-body .note.success > :first-child {
  font-weight: 600;
  color: #5cb85c;
  margin-bottom: 10px;
}
.post-body .note.warning {
  border-left: 3px solid #f0ad4e;
  background: #fdf8ea;
}
.post-body .note.warning::before {
  font-family: 'Font Awesome 6 Free';
  content: '\f071';
  font-weight: 600;
  color: #f0ad4e;
  position: absolute;
  left: 0.625em;
  top: 1em;
}
.post-body .note.warning > :first-child {
  font-weight: 600;
  color: #f0ad4e;
  margin-bottom: 10px;
}
.post-body .note.danger {
  border-left: 3px solid #d9534f;
  background: #fcf1f2;
}
.post-body .note.danger::before {
  font-family: 'Font Awesome 6 Free';
  content: '\f1e2';
  font-weight: 600;
  color: #d9534f;
  position: absolute;
  left: 0.625em;
  top: 1em;
}
.post-body .note.danger > :first-child {
  font-weight: 600;
  color: #d9534f;
  margin-bottom: 10px;
}
.post-body .note :last-child:not(.tab-pane *) {
  margin-bottom: 0;
}
.post-body .note .code-container:last-child > pre[class*="language-"] {
  margin-bottom: 0;
}
.post-body .tabs {
  margin-bottom: 20px;
}
.post-body .tabs .nav-tabs {
  display: flex;
  margin: 0;
  padding: 0;
}
.post-body .tabs .nav-tabs li::marker {
  content: none;
}
.post-body .tabs .nav-tabs li.tab {
  flex-grow: 1;
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-radius: 3px 3px 0 0;
}
.post-body .tabs .nav-tabs li.tab a {
  display: block;
  padding: 0.25em 0.75em;
  border-bottom: none;
}
.post-body .tabs .nav-tabs li.tab.active {
  border-left-color: #e0e0e0;
  border-right-color: #e0e0e0;
  border-bottom-color: transparent;
  border-top: 3px solid #222;
}
.post-body .tabs .tab-content {
  border: 1px solid #ddd;
  border-radius: 0 0 3px 3px;
  border-top-color: transparent;
}
.post-body .tabs .tab-content .tab-pane {
  padding: 20px 20px 0;
  display: none;
}
.post-body .tabs .tab-content .tab-pane.active {
  display: block;
}
.search-overlay {
  background: rgba(0,0,0,0);
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  visibility: hidden;
  z-index: 40;
  transition: all 0.3s;
}
.search-overlay .search-container {
  background: #fafafa;
  border-radius: 5px;
  transform: translateX(-200%);
  width: 60%;
  height: 80%;
  margin: auto;
  display: flex;
  flex-direction: column;
  transition: all 0.3s;
  overflow: hidden;
}
.search-overlay .search-container .input-header {
  flex: 0;
  background: #eee;
  border-radius: 5px 5px 0 0;
  font-size: 1em;
  padding: 0.625em 0.5em;
  display: flex;
}
.search-overlay .search-container .input-header .search-input {
  width: 100%;
  background: transparent;
  border-radius: 3px;
  font-family: 'lxgw';
  border: 0;
  outline: 0;
}
.search-overlay .search-container .input-header .search-input::-webkit-search-cancel-button {
  appearance: none;
  display: none;
}
.search-overlay .search-container .input-header .search-input[disabled] {
  background: #ddd;
  cursor: not-allowed;
}
.search-overlay .search-container .input-header .search-close {
  color: #555;
  transition: color 0.3s;
  cursor: pointer;
  margin-left: 5px;
}
.search-overlay .search-container .input-header .search-close:hover {
  color: #222;
}
.search-overlay .search-container .input-header .search-icon {
  color: #555;
  margin-right: 5px;
}
@media (max-width: 991px) {
  .search-overlay .search-container {
    width: 100%;
    height: 100%;
  }
}
.search-overlay .search-container .result-container {
  padding: 1em;
  overflow: hidden auto;
  flex: 1;
}
.search-overlay .search-container .result-container > span {
  color: #999;
}
.search-overlay .search-container .result-container > ul {
  margin: 0;
  padding: 0;
}
.search-overlay .search-container .result-container > ul li::marker {
  content: none;
}
.search-overlay .search-container .result-container > ul li {
  background-color: #fff;
  border-radius: 3px;
  padding: 0.5em;
  margin-bottom: 10px;
}
.search-overlay .search-container .result-container > ul li p.search-result {
  margin: 0;
  color: #666;
}
.search-overlay .search-container .result-container > ul li a {
  border-bottom: none;
}
.search-overlay .search-container .result-container > ul li .search-result-title {
  font-size: 1.125rem;
  font-weight: 600;
}
.search-overlay mark.search-keyword {
  background: #e0e0e0;
  border-radius: 2px;
  color: #000;
}
body:has(.search-overlay.active) {
  overflow: hidden;
}
.search-overlay.active {
  background: rgba(0,0,0,0.4);
  visibility: visible;
}
.search-overlay.active .search-container {
  transform: translateX(0);
}
code[class*="language-"],
pre[class*="language-"] {
  color: #393a34;
  font-family: Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;
  direction: ltr;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  font-size: 0.9em;
  line-height: 1.2em;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}
.code-container {
  position: relative;
  border-radius: 3px;
  border: 1px solid #ddd;
  margin-bottom: 20px;
}
.code-container pre[class*="language-"] {
  margin: 0;
  border: none;
}
.code-container[data-language]::before {
  content: attr(data-language);
  position: absolute;
  top: 0;
  right: 5px;
  font-size: 0.875rem;
  visibility: visible;
  opacity: 1;
  transition: all 0.3s;
}
.code-container[data-language]:hover::before {
  visibility: hidden;
  opacity: 0;
}
.code-container .copy-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  cursor: pointer;
  border-radius: 3px;
  padding: 0.25em 0.3em;
  font-size: 0.875em;
  border: 1px solid #eee;
  background: #fff;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
}
.code-container:hover .copy-btn {
  visibility: visible;
  opacity: 1;
}
pre > code[class*="language-"] {
  font-size: 1em;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
  background: #c1def1;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
  background: #c1def1;
}
pre[class*="language-"] {
  padding: 1em;
  border-radius: 3px;
  margin: 0 0 20px 0;
  overflow: auto;
  border: 1px solid #ddd;
  background-color: #fff;
}
:not(pre) > code[class*="language-"] {
  padding: 0.2em;
  padding-top: 1px;
  padding-bottom: 1px;
  background: #f8f8f8;
  border: 1px solid #ddd;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #008000;
  font-style: italic;
}
.token.namespace {
  opacity: 0.7;
}
.token.string {
  color: #a31515;
}
.token.punctuation,
.token.operator {
  color: #393a34; /* no highlight */
}
.token.url,
.token.symbol,
.token.number,
.token.boolean,
.token.variable,
.token.constant,
.token.inserted {
  color: #36acaa;
}
.token.atrule,
.token.keyword,
.token.attr-value,
.language-autohotkey .token.selector,
.language-json .token.boolean,
.language-json .token.number,
code[class*="language-css"] {
  color: #00f;
}
.token.function {
  color: #393a34;
}
.token.deleted,
.language-autohotkey .token.tag {
  color: #9a050f;
}
.token.selector,
.language-autohotkey .token.keyword {
  color: #00009f;
}
.token.important {
  color: #e90;
}
.token.important,
.token.bold {
  font-weight: bold;
}
.token.italic {
  font-style: italic;
}
.token.class-name,
.language-json .token.property {
  color: #2b91af;
}
.token.tag,
.token.selector {
  color: #800000;
}
.token.attr-name,
.token.property,
.token.regex,
.token.entity {
  color: #f00;
}
.token.directive.tag .tag {
  background: #ff0;
  color: #393a34;
}
.line-numbers.line-numbers .line-numbers-rows {
  border-right-color: #a5a5a5;
}
.line-numbers .line-numbers-rows > span:before {
  color: #2b91af;
}
.line-highlight.line-highlight {
  background: rgba(193,222,241,0.2);
  background: -webkit-linear-gradient(left, rgba(193,222,241,0.2) 70%, rgba(221,222,241,0));
  background: linear-gradient(to right, rgba(193,222,241,0.2) 70%, rgba(221,222,241,0));
}
.katex-display {
  overflow: auto hidden;
}
.pjax-prog {
  position: fixed;
  top: 0;
  background: rgba(17,17,17,0.533);
  color: #fff;
  padding: 0.25em;
  width: 100%;
  z-index: 60;
  -webkit-user-select: none;
  user-select: none;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
}
.pjax-prog.active {
  visibility: visible;
  opacity: 1;
  max-height: 3em;
  overflow: hidden;
  text-overflow: ellipsis;
}
::selection {
  background: #c0c0c0;
  color: #fff;
}
