:root {
  --body-bg-color: #eee;
  --content-bg-color: #fff;
  --card-bg-color: #f5f5f5;
  --text-color: #555;
  --selection-bg: #262a30;
  --selection-color: #eee;
  --blockquote-color: #666;
  --link-color: #555;
  --link-hover-color: #222;
  --brand-color: #fff;
  --brand-hover-color: #fff;
  --table-row-odd-bg-color: #f9f9f9;
  --table-row-hover-bg-color: #f5f5f5;
  --menu-item-bg-color: #f5f5f5;
  --theme-color: #222;
  --btn-default-bg: #fff;
  --btn-default-color: #555;
  --btn-default-border-color: #555;
  --btn-default-hover-bg: #222;
  --btn-default-hover-color: #fff;
  --btn-default-hover-border-color: #222;
  --highlight-background: #fafafa;
  --highlight-foreground: #383a42;
  --highlight-gutter-background: #e6e6e7;
  --highlight-gutter-foreground: #4b4d54;
  color-scheme: light;
}
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
body {
  margin: 0;
}
main {
  display: block;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
a {
  background: transparent;
}
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
button,
input {
/* 1 */
  overflow: visible;
}
button,
select {
/* 1 */
  text-transform: none;
}
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type='checkbox'],
[type='radio'] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px; /* 2 */
  -webkit-appearance: textfield; /* 1 */
}
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit; /* 2 */
  -webkit-appearance: button; /* 1 */
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}
::selection {
  background: var(--selection-bg);
  color: var(--selection-color);
}
html,
body {
  height: 100%;
}
body {
  background: var(--body-bg-color);
  box-sizing: border-box;
  color: var(--text-color);
  font-family: Inter, Noto Sans SC, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 1em;
  line-height: 2;
  min-height: 100%;
  position: relative;
  transition: padding 0.2s ease-in-out;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Inter, Inter, Noto Sans SC, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-weight: bold;
  line-height: 1.5;
  margin: 30px 0 15px;
}
h1 {
  font-size: 1.5em;
}
h2 {
  font-size: 1.375em;
}
h3 {
  font-size: 1.25em;
}
h4 {
  font-size: 1.125em;
}
h5 {
  font-size: 1em;
}
h6 {
  font-size: 0.875em;
}
a {
  border-bottom: 1px solid #999;
  color: var(--link-color);
  cursor: pointer;
  outline: 0;
  text-decoration: none;
  overflow-wrap: break-word;
}
a:hover {
  border-bottom-color: var(--link-hover-color);
  color: var(--link-hover-color);
}
iframe,
img,
video,
embed {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
hr {
  background-image: repeating-linear-gradient(-45deg, #ddd, #ddd 4px, transparent 4px, transparent 8px);
  border: 0;
  height: 3px;
  margin: 40px 0;
}
blockquote {
  border-left: 4px solid #ddd;
  color: var(--blockquote-color);
  margin: 0;
  padding: 0 15px;
}
blockquote cite::before {
  content: '-';
  padding: 0 5px;
}
dt {
  font-weight: bold;
}
dd {
  margin: 0;
  padding: 0;
}
.table-container {
  overflow: auto;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.875em;
  margin: 0 0 20px;
  width: 100%;
}
tbody tr:nth-of-type(odd) {
  background: var(--table-row-odd-bg-color);
}
tbody tr:hover {
  background: var(--table-row-hover-bg-color);
}
caption,
th,
td {
  padding: 8px;
}
th,
td {
  border: 1px solid #ddd;
  border-bottom: 3px solid #ddd;
}
th {
  font-weight: 700;
  padding-bottom: 10px;
}
td {
  border-bottom-width: 1px;
}
.btn {
  background: var(--btn-default-bg);
  border: 2px solid var(--btn-default-border-color);
  border-radius: 2px;
  color: var(--btn-default-color);
  display: inline-block;
  font-size: 0.875em;
  line-height: 2;
  padding: 0 20px;
  transition: background-color 0.2s ease-in-out;
}
.btn:hover {
  background: var(--btn-default-hover-bg);
  border-color: var(--btn-default-hover-border-color);
  color: var(--btn-default-hover-color);
}
.btn + .btn {
  margin: 0 0 8px 8px;
}
.btn .fa-fw {
  text-align: left;
  width: 1.285714285714286em;
}
.toggle {
  line-height: 0;
}
.toggle .toggle-line {
  background: #fff;
  display: block;
  height: 2px;
  left: 0;
  position: relative;
  top: 0;
  transition: 0.4s;
  transition-property: left, opacity, top, transform, width;
  width: 100%;
}
.toggle .toggle-line:first-child {
  margin-top: 1px;
}
.toggle .toggle-line:not(:first-child) {
  margin-top: 4px;
}
.toggle.toggle-arrow :first-child {
  left: 50%;
  top: 2px;
  transform: rotate(45deg);
  width: 50%;
}
.toggle.toggle-arrow :last-child {
  left: 50%;
  top: -2px;
  transform: rotate(-45deg);
  width: 50%;
}
.toggle.toggle-close :nth-child(2) {
  opacity: 0;
}
.toggle.toggle-close :first-child {
  top: 6px;
  transform: rotate(45deg);
}
.toggle.toggle-close :last-child {
  top: -6px;
  transform: rotate(-45deg);
}
pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em
}
code.hljs {
  padding: 3px 5px
}
/*

Atom One Light by Daniel Gamage
Original One Light Syntax theme from https://github.com/atom/one-light-syntax

base:    #fafafa
mono-1:  #383a42
mono-2:  #686b77
mono-3:  #a0a1a7
hue-1:   #0184bb
hue-2:   #4078f2
hue-3:   #a626a4
hue-4:   #50a14f
hue-5:   #e45649
hue-5-2: #c91243
hue-6:   #986801
hue-6-2: #c18401

*/
.hljs {
  color: #383a42;
  background: #fafafa
}
.hljs-comment,
.hljs-quote {
  color: #a0a1a7;
  font-style: italic
}
.hljs-doctag,
.hljs-keyword,
.hljs-formula {
  color: #a626a4
}
.hljs-section,
.hljs-name,
.hljs-selector-tag,
.hljs-deletion,
.hljs-subst {
  color: #e45649
}
.hljs-literal {
  color: #0184bb
}
.hljs-string,
.hljs-regexp,
.hljs-addition,
.hljs-attribute,
.hljs-meta .hljs-string {
  color: #50a14f
}
.hljs-attr,
.hljs-variable,
.hljs-template-variable,
.hljs-type,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-number {
  color: #986801
}
.hljs-symbol,
.hljs-bullet,
.hljs-link,
.hljs-meta,
.hljs-selector-id,
.hljs-title {
  color: #4078f2
}
.hljs-built_in,
.hljs-title.class_,
.hljs-class .hljs-title {
  color: #c18401
}
.hljs-emphasis {
  font-style: italic
}
.hljs-strong {
  font-weight: bold
}
.hljs-link {
  text-decoration: underline
}
@media (prefers-color-scheme: dark) {
pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em
}
code.hljs {
  padding: 3px 5px
}
/*

Atom One Dark by Daniel Gamage
Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax

base:    #282c34
mono-1:  #abb2bf
mono-2:  #818896
mono-3:  #5c6370
hue-1:   #56b6c2
hue-2:   #61aeee
hue-3:   #c678dd
hue-4:   #98c379
hue-5:   #e06c75
hue-5-2: #be5046
hue-6:   #d19a66
hue-6-2: #e6c07b

*/
.hljs {
  color: #abb2bf;
  background: #282c34
}
.hljs-comment,
.hljs-quote {
  color: #5c6370;
  font-style: italic
}
.hljs-doctag,
.hljs-keyword,
.hljs-formula {
  color: #c678dd
}
.hljs-section,
.hljs-name,
.hljs-selector-tag,
.hljs-deletion,
.hljs-subst {
  color: #e06c75
}
.hljs-literal {
  color: #56b6c2
}
.hljs-string,
.hljs-regexp,
.hljs-addition,
.hljs-attribute,
.hljs-meta .hljs-string {
  color: #98c379
}
.hljs-attr,
.hljs-variable,
.hljs-template-variable,
.hljs-type,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-number {
  color: #d19a66
}
.hljs-symbol,
.hljs-bullet,
.hljs-link,
.hljs-meta,
.hljs-selector-id,
.hljs-title {
  color: #61aeee
}
.hljs-built_in,
.hljs-title.class_,
.hljs-class .hljs-title {
  color: #e6c07b
}
.hljs-emphasis {
  font-style: italic
}
.hljs-strong {
  font-weight: bold
}
.hljs-link {
  text-decoration: underline
}
}
.highlight:hover .copy-btn,
.code-container:hover .copy-btn {
  opacity: 1;
}
.code-container {
  position: relative;
}
.code-lang {
  font-size: 40px;
  line-height: 1;
  opacity: 0.1;
  pointer-events: none;
  position: absolute;
  right: 5px;
}
.copy-btn {
  color: #333;
  cursor: pointer;
  line-height: 1.6;
  opacity: 0;
  padding: 2px 6px;
  position: absolute;
  transition: opacity 0.2s ease-in-out;
  background-color: #eee;
  background-image: linear-gradient(#fcfcfc, #eee);
  border: 1px solid #d5d5d5;
  border-radius: 3px;
  font-size: 0.8125em;
  right: 4px;
  top: 8px;
}
code,
kbd,
figure.highlight,
pre {
  background: var(--highlight-background);
  color: var(--highlight-foreground);
}
figure.highlight,
pre {
  line-height: 1.6;
  margin: 0 auto 20px;
}
figure.highlight figcaption,
pre .caption {
  background: var(--highlight-gutter-background);
  color: var(--highlight-foreground);
  display: flow-root;
  font-size: 0.875em;
  line-height: 1.2;
  padding: 0.5em;
}
figure.highlight figcaption a,
pre .caption a {
  color: var(--highlight-foreground);
  float: right;
}
figure.highlight figcaption a:hover,
pre .caption a:hover {
  border-bottom-color: var(--highlight-foreground);
}
pre,
code {
  font-family: consolas, Menlo, monospace, 'PingFang SC', 'Microsoft YaHei';
}
code {
  border-radius: 3px;
  font-size: 0.875em;
  padding: 2px 4px;
  overflow-wrap: break-word;
}
kbd {
  border: 2px solid #ccc;
  border-radius: 0.2em;
  box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.1);
  font-family: inherit;
  padding: 0.1em 0.3em;
  white-space: nowrap;
}
figure.highlight {
  overflow: auto;
  position: relative;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  figure.highlight {
    color-scheme: dark;
  }
}
figure.highlight pre {
  border: 0;
  margin: 0;
  padding: 10px 0;
}
figure.highlight table {
  border: 0;
  margin: 0;
  width: auto;
}
figure.highlight td {
  border: 0;
  padding: 0;
}
figure.highlight .gutter {
  -webkit-user-select: none;
  user-select: none;
}
figure.highlight .gutter pre {
  background: var(--highlight-gutter-background);
  color: var(--highlight-gutter-foreground);
  padding-left: 10px;
  padding-right: 10px;
  text-align: right;
}
figure.highlight .code pre {
  padding-left: 10px;
  width: 100%;
}
figure.highlight .marked {
  background: rgba(0,0,0,0.3);
}
pre .caption {
  margin-bottom: 10px;
}
.gist table {
  width: auto;
}
.gist table td {
  border: 0;
}
pre {
  overflow: auto;
  padding: 10px;
}
pre code {
  background: none;
  padding: 0;
  text-shadow: none;
}
.blockquote-center {
  border-left: 0;
  margin: 40px 0;
  padding: 0;
  position: relative;
  text-align: center;
}
.blockquote-center::before,
.blockquote-center::after {
  left: 0;
  line-height: 1;
  opacity: 0.6;
  position: absolute;
  width: 100%;
}
.blockquote-center::before {
  border-top: 1px solid #ccc;
  text-align: left;
  top: -20px;
  content: '\f10d';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
}
.blockquote-center::after {
  border-bottom: 1px solid #ccc;
  bottom: -20px;
  text-align: right;
  content: '\f10e';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
}
.blockquote-center p,
.blockquote-center div {
  text-align: center;
}
.group-picture {
  margin-bottom: 20px;
}
.group-picture .group-picture-row {
  display: flex;
  gap: 3px;
  margin-bottom: 3px;
}
.group-picture .group-picture-column {
  flex: 1;
}
.group-picture .group-picture-column img {
  height: 100%;
  margin: 0;
  object-fit: cover;
  width: 100%;
}
.post-body .label {
  color: #555;
  padding: 0 2px;
}
.post-body .label.default {
  background: #f0f0f0;
}
.post-body .label.primary {
  background: #efe6f7;
}
.post-body .label.info {
  background: #e5f2f8;
}
.post-body .label.success {
  background: #e7f4e9;
}
.post-body .label.warning {
  background: #fcf6e1;
}
.post-body .label.danger {
  background: #fae8eb;
}
.post-body .link-grid {
  display: grid;
  grid-gap: 1.5rem;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  margin-bottom: 20px;
  padding: 1rem;
}
.post-body .link-grid .link-grid-container {
  border: solid #ddd;
  box-shadow: 1rem 1rem 0.5rem rgba(0,0,0,0.5);
  min-height: 5rem;
  min-width: 0;
  padding: 0.5rem;
  position: relative;
  transition: background 0.3s;
}
.post-body .link-grid .link-grid-container:hover {
  animation: next-shake 0.5s;
  background: var(--card-bg-color);
}
.post-body .link-grid .link-grid-container:active {
  box-shadow: 0.5rem 0.5rem 0.25rem rgba(0,0,0,0.5);
  transform: translate(0.2rem, 0.2rem);
}
.post-body .link-grid .link-grid-container .link-grid-image {
  border: 1px solid #ddd;
  border-radius: 50%;
  box-sizing: border-box;
  height: 5rem;
  padding: 3px;
  position: absolute;
  width: 5rem;
}
.post-body .link-grid .link-grid-container p {
  margin: 0 1rem 0 6rem;
}
.post-body .link-grid .link-grid-container p:first-of-type {
  font-size: 1.2em;
}
.post-body .link-grid .link-grid-container p:last-of-type {
  font-size: 0.8em;
  line-height: 1.3rem;
  opacity: 0.7;
}
.post-body .link-grid .link-grid-container a {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@keyframes next-shake {
  0% {
    transform: translate(1pt, 1pt) rotate(0deg);
  }
  10% {
    transform: translate(-1pt, -2pt) rotate(-1deg);
  }
  20% {
    transform: translate(-3pt, 0pt) rotate(1deg);
  }
  30% {
    transform: translate(3pt, 2pt) rotate(0deg);
  }
  40% {
    transform: translate(1pt, -1pt) rotate(1deg);
  }
  50% {
    transform: translate(-1pt, 2pt) rotate(-1deg);
  }
  60% {
    transform: translate(-3pt, 1pt) rotate(0deg);
  }
  70% {
    transform: translate(3pt, 1pt) rotate(-1deg);
  }
  80% {
    transform: translate(-1pt, -1pt) rotate(1deg);
  }
  90% {
    transform: translate(1pt, 2pt) rotate(0deg);
  }
  100% {
    transform: translate(1pt, -2pt) rotate(-1deg);
  }
}
.post-body .note {
  border-radius: 3px;
  margin-bottom: 20px;
  padding: 1em;
  position: relative;
  background: #f9f9f9;
  border: initial;
  border-left: 3px solid #eee;
}
.post-body .note summary {
  cursor: pointer;
  outline: 0;
}
.post-body .note summary p {
  display: inline;
}
.post-body .note h2,
.post-body .note h3,
.post-body .note h4,
.post-body .note h5,
.post-body .note h6 {
  border-bottom: initial;
  margin: 0;
  padding-top: 0;
}
.post-body .note :first-child {
  margin-top: 0;
}
.post-body .note :last-child {
  margin-bottom: 0;
}
.post-body .note:not(.no-icon) {
  padding-left: 2.5em;
}
.post-body .note:not(.no-icon)::before {
  font-size: 1.5em;
  left: 0.3em;
  position: absolute;
  top: calc(50% - 1em);
}
.post-body .note.default {
  background: #f7f7f7;
  border-left-color: #777;
}
@media (prefers-color-scheme: dark) {
  .post-body .note.default {
    background: #3c3c3c;
  }
}
.post-body .note.default h2,
.post-body .note.default h3,
.post-body .note.default h4,
.post-body .note.default h5,
.post-body .note.default h6 {
  color: #777;
}
.post-body .note.default:not(.no-icon)::before {
  content: '\f0a9';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
  color: #777;
}
.post-body .note.primary {
  background: #f5f0fa;
  border-left-color: #6f42c1;
}
@media (prefers-color-scheme: dark) {
  .post-body .note.primary {
    background: #3c3b3c;
  }
}
.post-body .note.primary h2,
.post-body .note.primary h3,
.post-body .note.primary h4,
.post-body .note.primary h5,
.post-body .note.primary h6 {
  color: #6f42c1;
}
.post-body .note.primary:not(.no-icon)::before {
  content: '\f055';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
  color: #6f42c1;
}
.post-body .note.info {
  background: #eef7fa;
  border-left-color: #428bca;
}
@media (prefers-color-scheme: dark) {
  .post-body .note.info {
    background: #3b3c3c;
  }
}
.post-body .note.info h2,
.post-body .note.info h3,
.post-body .note.info h4,
.post-body .note.info h5,
.post-body .note.info h6 {
  color: #428bca;
}
.post-body .note.info:not(.no-icon)::before {
  content: '\f05a';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
  color: #428bca;
}
.post-body .note.success {
  background: #eff8f0;
  border-left-color: #5cb85c;
}
@media (prefers-color-scheme: dark) {
  .post-body .note.success {
    background: #3b3c3b;
  }
}
.post-body .note.success h2,
.post-body .note.success h3,
.post-body .note.success h4,
.post-body .note.success h5,
.post-body .note.success h6 {
  color: #5cb85c;
}
.post-body .note.success:not(.no-icon)::before {
  content: '\f058';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
  color: #5cb85c;
}
.post-body .note.warning {
  background: #fdf8ea;
  border-left-color: #f0ad4e;
}
@media (prefers-color-scheme: dark) {
  .post-body .note.warning {
    background: #3d3c3b;
  }
}
.post-body .note.warning h2,
.post-body .note.warning h3,
.post-body .note.warning h4,
.post-body .note.warning h5,
.post-body .note.warning h6 {
  color: #f0ad4e;
}
.post-body .note.warning:not(.no-icon)::before {
  content: '\f06a';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
  color: #f0ad4e;
}
.post-body .note.danger {
  background: #fcf1f2;
  border-left-color: #d9534f;
}
@media (prefers-color-scheme: dark) {
  .post-body .note.danger {
    background: #3d3c3c;
  }
}
.post-body .note.danger h2,
.post-body .note.danger h3,
.post-body .note.danger h4,
.post-body .note.danger h5,
.post-body .note.danger h6 {
  color: #d9534f;
}
.post-body .note.danger:not(.no-icon)::before {
  content: '\f056';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
  color: #d9534f;
}
.post-body .tabs {
  margin-bottom: 20px;
}
.post-body .tabs,
.tabs-comment {
  padding-top: 10px;
}
.post-body .tabs ul.nav-tabs,
.tabs-comment ul.nav-tabs {
  background: var(--content-bg-color);
  display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 5;
}
@media (max-width: 413px) {
  .post-body .tabs ul.nav-tabs,
  .tabs-comment ul.nav-tabs {
    display: block;
    margin-bottom: 5px;
  }
}
.post-body .tabs ul.nav-tabs li.tab,
.tabs-comment ul.nav-tabs li.tab {
  border-bottom: 1px solid #ddd;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-radius: 0 0 0 0;
  border-top: 3px solid transparent;
  flex-grow: 1;
  list-style-type: none;
}
@media (max-width: 413px) {
  .post-body .tabs ul.nav-tabs li.tab,
  .tabs-comment ul.nav-tabs li.tab {
    border-bottom: 1px solid transparent;
    border-left: 3px solid transparent;
    border-right: 1px solid transparent;
    border-top: 1px solid transparent;
  }
}
@media (max-width: 413px) {
  .post-body .tabs ul.nav-tabs li.tab,
  .tabs-comment ul.nav-tabs li.tab {
    border-radius: 0;
  }
}
.post-body .tabs ul.nav-tabs li.tab a,
.tabs-comment ul.nav-tabs li.tab a {
  border-bottom: initial;
  display: block;
  line-height: 1.8;
  padding: 0.25em 0.75em;
  text-align: center;
  transition: all 0.2s ease-out;
}
.post-body .tabs ul.nav-tabs li.tab a i[class^='fa'],
.tabs-comment ul.nav-tabs li.tab a i[class^='fa'] {
  width: 1.285714285714286em;
}
.post-body .tabs ul.nav-tabs li.tab.active,
.tabs-comment ul.nav-tabs li.tab.active {
  border-bottom-color: transparent;
  border-left-color: #ddd;
  border-right-color: #ddd;
  border-top-color: #fc6423;
}
@media (max-width: 413px) {
  .post-body .tabs ul.nav-tabs li.tab.active,
  .tabs-comment ul.nav-tabs li.tab.active {
    border-bottom-color: #ddd;
    border-left-color: #fc6423;
    border-right-color: #ddd;
    border-top-color: #ddd;
  }
}
.post-body .tabs ul.nav-tabs li.tab.active a,
.tabs-comment ul.nav-tabs li.tab.active a {
  cursor: default;
}
.post-body .tabs .tab-content,
.tabs-comment .tab-content {
  border: 1px solid #ddd;
  border-radius: 0 0 0 0;
  border-top-color: transparent;
}
@media (max-width: 413px) {
  .post-body .tabs .tab-content,
  .tabs-comment .tab-content {
    border-radius: 0;
    border-top-color: #ddd;
  }
}
.post-body .tabs .tab-content .tab-pane,
.tabs-comment .tab-content .tab-pane {
  padding: 20px 20px 0;
}
.post-body .tabs .tab-content .tab-pane:not(.active),
.tabs-comment .tab-content .tab-pane:not(.active) {
  display: none;
}
.pagination .prev,
.pagination .next,
.pagination .page-number,
.pagination .space {
  display: inline-block;
  margin: -1px 10px 0;
  padding: 0 10px;
}
@media (max-width: 767px) {
  .pagination .prev,
  .pagination .next,
  .pagination .page-number,
  .pagination .space {
    margin: 0 5px;
  }
}
.pagination .page-number.current {
  background: #ccc;
  border-color: #ccc;
  color: var(--content-bg-color);
}
.pagination {
  border-top: 1px solid #eee;
  margin: 120px 0 0;
  text-align: center;
}
.pagination .prev,
.pagination .next,
.pagination .page-number {
  border-bottom: 0;
  border-top: 1px solid #eee;
  transition: border-color 0.2s ease-in-out;
}
.pagination .prev:hover,
.pagination .next:hover,
.pagination .page-number:hover {
  border-top-color: var(--link-hover-color);
}
@media (max-width: 767px) {
  .pagination {
    border-top: 0;
  }
  .pagination .prev,
  .pagination .next,
  .pagination .page-number {
    border-bottom: 1px solid #eee;
    border-top: 0;
  }
  .pagination .prev:hover,
  .pagination .next:hover,
  .pagination .page-number:hover {
    border-bottom-color: var(--link-hover-color);
  }
}
.pagination .space {
  margin: 0;
  padding: 0;
}
.comments {
  margin-top: 60px;
  overflow: hidden;
}
.comment-button-group {
  display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  justify-content: center;
  margin: 1em 0;
}
.comment-button-group .comment-button {
  margin: 0.1em 0.2em;
}
.comment-button-group .comment-button.active {
  background: var(--btn-default-hover-bg);
  border-color: var(--btn-default-hover-border-color);
  color: var(--btn-default-hover-color);
}
.comment-position {
  display: none;
}
.comment-position.active {
  display: block;
}
.tabs-comment {
  margin-top: 4em;
  padding-top: 0;
}
.tabs-comment .comments {
  margin-top: 0;
  padding-top: 0;
}
.headband {
  background: var(--theme-color);
  height: 3px;
}
@media (max-width: 991px) {
  .headband {
    display: none;
  }
}
.site-brand-container {
  display: flex;
  flex-shrink: 0;
  padding: 0 10px;
}
.use-motion .column,
.use-motion .site-brand-container .toggle {
  opacity: 0;
}
.site-meta {
  flex-grow: 1;
  text-align: center;
}
@media (max-width: 767px) {
  .site-meta {
    text-align: center;
  }
}
.custom-logo-image {
  margin-top: 20px;
}
@media (max-width: 991px) {
  .custom-logo-image {
    display: none;
  }
}
.brand {
  border-bottom: 0;
  color: var(--brand-color);
  display: inline-block;
  padding: 0;
}
.brand:hover {
  color: var(--brand-hover-color);
}
.site-title {
  font-family: Inter, Noto Sans SC, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 1.375em;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
}
.site-subtitle {
  color: #ddd;
  font-size: 0.8125em;
  margin: 10px 10px 0;
}
.use-motion .site-title,
.use-motion .site-subtitle,
.use-motion .custom-logo-image {
  opacity: 0;
  position: relative;
  top: -10px;
}
.site-nav-toggle,
.site-nav-right {
  display: none;
}
@media (max-width: 767px) {
  .site-nav-toggle,
  .site-nav-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.site-nav-toggle .toggle,
.site-nav-right .toggle {
  color: var(--text-color);
  padding: 10px;
  width: 22px;
}
.site-nav-toggle .toggle .toggle-line,
.site-nav-right .toggle .toggle-line {
  background: var(--text-color);
  border-radius: 1px;
}
@media (max-width: 767px) {
  .site-nav {
    --scroll-height: 0;
    height: 0;
    overflow: hidden;
    transition: 0.2s ease-in-out;
    transition-property: height, visibility;
    visibility: hidden;
  }
  body:not(.site-nav-on) .site-nav .animated {
    animation: none;
  }
  body.site-nav-on .site-nav {
    height: var(--scroll-height);
    visibility: unset;
  }
}
.menu {
  margin: 0;
  padding: 1em 0;
  text-align: center;
}
.menu-item {
  display: inline-block;
  list-style: none;
  margin: 0 10px;
}
@media (max-width: 767px) {
  .menu-item {
    display: block;
    margin-top: 10px;
  }
  .menu-item.menu-item-search {
    display: none;
  }
}
.menu-item a {
  border-bottom: 0;
  display: block;
  font-size: 0.8125em;
  transition: border-color 0.2s ease-in-out;
}
.menu-item a:hover,
.menu-item a.menu-item-active {
  background: var(--menu-item-bg-color);
}
.menu-item i[class^='fa'] {
  margin-right: 8px;
}
.menu-item .badge {
  background: #ccc;
  border-radius: 10px;
  color: var(--content-bg-color);
  font-weight: bold;
  line-height: 1;
  margin-left: 0.35em;
  padding: 2px 5px;
  text-shadow: 1px 1px 0 rgba(0,0,0,0.1);
}
.use-motion .menu-item {
  visibility: hidden;
}
@media (max-width: 991px) {
  .sidebar {
    left: -320px;
  }
  .sidebar-active .sidebar {
    left: 0;
  }
  .sidebar {
    background: #222;
    bottom: 0;
    max-height: 100vh;
    overflow-y: auto;
    position: fixed;
    top: 0;
    transition: 0.2s ease-out;
    transition-property: left, right;
    width: 320px;
    z-index: 20;
  }
  .sidebar a {
    border-bottom-color: #555;
    color: #999;
  }
  .sidebar a:hover {
    border-bottom-color: #eee;
    color: #eee;
  }
  .links-of-author:not(:first-child) {
    margin-top: 15px;
  }
  .links-of-author a {
    border-bottom-color: #555;
    display: inline-block;
    margin-bottom: 10px;
    margin-right: 10px;
    vertical-align: middle;
  }
  .links-of-author a::before {
    background: #2270d6;
    display: inline-block;
    margin-right: 3px;
    transform: translateY(-2px);
    border-radius: 50%;
    content: ' ';
    height: 4px;
    width: 4px;
  }
  .links-of-blogroll-item {
    padding: 0 5px;
  }
  .popular-posts .popular-posts-item .popular-posts-link:hover {
    background: none;
  }
  .sidebar-dimmer {
    background: #000;
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: visibility 0.4s, opacity 0.4s;
    visibility: hidden;
    width: 100%;
    z-index: 10;
  }
  .sidebar-active .sidebar-dimmer {
    opacity: 0.7;
    visibility: visible;
  }
}
.sidebar-inner {
  color: #999;
  padding: 18px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sidebar-toggle {
  bottom: 61px;
  height: 16px;
  padding: 5px;
  width: 16px;
  background: #222;
  cursor: pointer;
  opacity: 0.6;
  position: fixed;
  z-index: 30;
  left: 30px;
}
@media (max-width: 991px) {
  .sidebar-toggle {
    left: 20px;
  }
}
.sidebar-toggle:hover {
  opacity: 0.8;
}
@media (max-width: 991px) {
  .sidebar-toggle {
    opacity: 0.8;
  }
}
.sidebar-toggle:hover .toggle-line {
  background: #fc6423;
}
@media (any-hover: hover) {
  body:not(.sidebar-active) .sidebar-toggle:hover :first-child {
    left: 50%;
    top: 2px;
    transform: rotate(45deg);
    width: 50%;
  }
  body:not(.sidebar-active) .sidebar-toggle:hover :last-child {
    left: 50%;
    top: -2px;
    transform: rotate(-45deg);
    width: 50%;
  }
}
.sidebar-active .sidebar-toggle :nth-child(2) {
  opacity: 0;
}
.sidebar-active .sidebar-toggle :first-child {
  top: 6px;
  transform: rotate(45deg);
}
.sidebar-active .sidebar-toggle :last-child {
  top: -6px;
  transform: rotate(-45deg);
}
.sidebar-nav {
  font-size: 0.875em;
  height: 0;
  margin: 0;
  overflow: hidden;
  padding-left: 0;
  pointer-events: none;
  transition: 0.2s ease-in-out;
  transition-property: height, visibility;
  visibility: hidden;
}
.sidebar-nav-active .sidebar-nav {
  height: calc(2em + 1px);
  pointer-events: unset;
  visibility: unset;
}
.sidebar-nav li {
  border-bottom: 1px solid transparent;
  color: var(--text-color);
  cursor: pointer;
  display: inline-block;
  transition: 0.2s ease-in-out;
  transition-property: border-bottom-color, color;
}
.sidebar-nav li.sidebar-nav-overview {
  margin-left: 10px;
}
.sidebar-nav li:hover {
  color: #fc6423;
}
.sidebar-toc-active .sidebar-nav-toc,
.sidebar-overview-active .sidebar-nav-overview {
  border-bottom-color: #fc6423;
  color: #fc6423;
  transition-delay: 0.2s;
}
.sidebar-toc-active .sidebar-nav-toc:hover,
.sidebar-overview-active .sidebar-nav-overview:hover {
  color: #fc6423;
}
.sidebar-panel-container {
  align-items: start;
  display: grid;
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  padding-top: 0;
  transition: padding-top 0.2s ease-in-out;
}
.sidebar-nav-active .sidebar-panel-container {
  padding-top: 20px;
}
.sidebar-panel {
  animation: deactivate-sidebar-panel 0.2s ease-in-out;
  grid-area: 1/1;
  height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(0);
  transition: 0.2s ease-in-out;
  transition-delay: 0s;
  transition-property: opacity, transform, visibility;
  visibility: hidden;
}
.sidebar-nav-active .sidebar-panel,
.sidebar-overview-active .sidebar-panel.post-toc-wrap {
  transform: translateY(-20px);
}
.sidebar-overview-active:not(.sidebar-nav-active) .sidebar-panel.post-toc-wrap {
  transition-delay: 0s, 0.2s, 0s;
}
.sidebar-overview-active .sidebar-panel.site-overview-wrap,
.sidebar-toc-active .sidebar-panel.post-toc-wrap {
  animation-name: activate-sidebar-panel;
  height: auto;
  opacity: 1;
  pointer-events: unset;
  transform: translateY(0);
  transition-delay: 0.2s, 0.2s, 0s;
  visibility: unset;
}
.sidebar-panel.site-overview-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  justify-content: flex-start;
}
@keyframes deactivate-sidebar-panel {
  from {
    height: var(--inactive-panel-height, 0);
  }
  to {
    height: var(--active-panel-height, 0);
  }
}
@keyframes activate-sidebar-panel {
  from {
    height: var(--inactive-panel-height, auto);
  }
  to {
    height: var(--active-panel-height, auto);
  }
}
.post-toc {
  font-size: 0.875em;
}
.post-toc ol {
  list-style: none;
  margin: 0;
  padding: 0 2px 0 10px;
  text-align: left;
}
.post-toc ol > :last-child {
  margin-bottom: 5px;
}
.post-toc ol > ol {
  padding-left: 0;
}
.post-toc ol a {
  transition: all 0.2s ease-in-out;
}
.post-toc .nav-item {
  line-height: 1.8;
  overflow: hidden;
  text-overflow: ellipsis;
}
.post-toc .nav .nav-child {
  --height: 0;
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition-property: height, opacity, visibility;
  transition: 0.2s ease-in-out;
  visibility: hidden;
}
.post-toc .nav .active > .nav-child {
  height: var(--height, auto);
  opacity: 1;
  visibility: unset;
}
.post-toc .nav .active > a {
  border-bottom-color: #fc6423;
  color: #fc6423;
}
.post-toc .nav .active-current > a {
  color: #fc6423;
}
.post-toc .nav .active-current > a:hover {
  color: #fc6423;
}
.site-author-image {
  border: 1px solid #eee;
  max-width: 120px;
  padding: 2px;
  border-radius: 50%;
}
.site-author-name {
  color: var(--text-color);
  font-weight: 600;
  margin: 0;
}
.site-description {
  color: #999;
  font-size: 0.8125em;
  margin-top: 0;
}
.site-state {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.4;
}
.site-state-item {
  padding: 0 15px;
}
.site-state-item a {
  border-bottom: 0;
  display: block;
}
.site-state-item-count {
  display: block;
  font-size: 1em;
  font-weight: 600;
}
.site-state-item-name {
  color: #999;
  font-size: 0.8125em;
}
.sidebar .sidebar-button:not(:first-child) {
  margin-top: 15px;
}
.sidebar .sidebar-button button {
  background: transparent;
  color: #fc6423;
  cursor: pointer;
  line-height: 2;
  padding: 0 15px;
  border: 1px solid #fc6423;
  border-radius: 4px;
}
.sidebar .sidebar-button button:hover {
  background: #fc6423;
  color: #fff;
}
.sidebar .sidebar-button button i[class^='fa'] {
  margin-right: 5px;
}
.links-of-author a {
  font-size: 0.8125em;
}
.links-of-author i[class^='fa'] {
  margin-right: 2px;
}
.cc-license .cc-opacity {
  border-bottom: 0;
  opacity: 0.7;
}
.cc-license .cc-opacity:hover {
  opacity: 0.9;
}
.cc-license img {
  display: inline-block;
}
.links-of-blogroll {
  font-size: 0.8125em;
}
.links-of-blogroll-title {
  font-size: 0.875em;
  font-weight: 600;
}
.links-of-blogroll-list {
  list-style: none;
  gap: 5px;
  margin: 5px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
}
.links-of-blogroll-item {
  max-width: 100%;
}
.links-of-blogroll-item a {
  box-sizing: border-box;
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.footer {
  color: #999;
  font-size: 0.875em;
  padding: 20px 0;
  transition: 0.2s ease-in-out;
  transition-property: left, right;
}
.footer.footer-fixed {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
}
.footer-inner {
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  width: calc(100% - 20px);
}
@media (max-width: 767px) {
  .footer-inner {
    width: auto;
  }
}
@media (min-width: 1200px) {
  .footer-inner {
    width: 1160px;
  }
}
@media (min-width: 1600px) {
  .footer-inner {
    width: 73%;
  }
}
.use-motion .footer {
  opacity: 0;
}
.languages {
  display: inline-block;
  font-size: 1.125em;
  position: relative;
}
.languages .lang-select-label span {
  margin: 0 0.5em;
}
.languages .lang-select {
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.with-love {
  color: #f00;
  display: inline-block;
  margin: 0 5px;
}
.busuanzi-count #busuanzi_container_site_uv {
  display: none;
}
.busuanzi-count #busuanzi_container_site_pv {
  display: none;
}
@keyframes icon-animate {
  0%, 100% {
    transform: scale(1);
  }
  10%, 30% {
    transform: scale(0.9);
  }
  20%, 40%, 60%, 80% {
    transform: scale(1.1);
  }
  50%, 70% {
    transform: scale(1.1);
  }
}
.back-to-top {
  font-size: 12px;
  margin: 8px -10px -20px;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.back-to-top span {
  margin-right: 8px;
  display: none;
}
.back-to-top .fa {
  text-align: center;
  width: 26px;
}
.back-to-top.back-to-top-on {
  cursor: pointer;
  opacity: 0.6;
}
.back-to-top.back-to-top-on:hover {
  opacity: 0.8;
}
.reading-progress-bar {
  --progress: 0;
  background: #33cfff;
  height: 3px;
  position: fixed;
  z-index: 50;
  width: var(--progress);
  left: 0;
  top: 0;
}
.rtl.post-body p,
.rtl.post-body a,
.rtl.post-body h1,
.rtl.post-body h2,
.rtl.post-body h3,
.rtl.post-body h4,
.rtl.post-body h5,
.rtl.post-body h6,
.rtl.post-body li,
.rtl.post-body ul,
.rtl.post-body ol {
  direction: rtl;
  font-family: UKIJ Ekran;
}
.rtl.post-title {
  font-family: UKIJ Ekran;
}
.post-button {
  margin-top: 40px;
  text-align: center;
}
.use-motion .post-block,
.use-motion .pagination,
.use-motion .comments {
  visibility: hidden;
}
.use-motion .post-header {
  visibility: hidden;
}
.use-motion .post-body {
  visibility: hidden;
}
.use-motion .collection-header {
  visibility: hidden;
}
.posts-collapse .post-content {
  margin-bottom: 35px;
  margin-left: 35px;
  position: relative;
}
@media (max-width: 767px) {
  .posts-collapse .post-content {
    margin-left: 0;
    margin-right: 0;
  }
}
.posts-collapse .post-content .collection-title {
  font-size: 1.125em;
  position: relative;
}
.posts-collapse .post-content .collection-title::before {
  background: #999;
  border: 1px solid #fff;
  margin-left: -6px;
  margin-top: -4px;
  position: absolute;
  top: 50%;
  border-radius: 50%;
  content: ' ';
  height: 10px;
  width: 10px;
}
.posts-collapse .post-content .collection-year {
  font-size: 1.5em;
  font-weight: bold;
  margin: 60px 0;
  position: relative;
}
.posts-collapse .post-content .collection-year .collection-year-count {
  font-size: 0.75em;
  background: #ccc;
  border-radius: 10px;
  color: var(--content-bg-color);
  font-weight: bold;
  line-height: 1;
  margin-left: 0.35em;
  padding: 2px 5px;
  text-shadow: 1px 1px 0 rgba(0,0,0,0.1);
}
.posts-collapse .post-content .collection-year::before {
  background: #bbb;
  margin-left: -4px;
  margin-top: -4px;
  position: absolute;
  top: 50%;
  border-radius: 50%;
  content: ' ';
  height: 8px;
  width: 8px;
}
.posts-collapse .post-content .collection-header {
  display: block;
  margin-left: 20px;
}
.posts-collapse .post-content .collection-header small {
  color: #bbb;
  margin-left: 5px;
}
.posts-collapse .post-content .post-header {
  border-bottom: 1px dashed #ccc;
  margin: 30px 2px 0;
  padding-left: 15px;
  position: relative;
  transition: border 0.2s ease-in-out;
}
.posts-collapse .post-content .post-header::before {
  background: #bbb;
  border: 1px solid #fff;
  left: -6px;
  position: absolute;
  top: 0.75em;
  transition: background 0.2s ease-in-out;
  border-radius: 50%;
  content: ' ';
  height: 6px;
  width: 6px;
}
.posts-collapse .post-content .post-header:hover {
  border-bottom-color: #666;
}
.posts-collapse .post-content .post-header:hover::before {
  background: #222;
}
.posts-collapse .post-content .post-meta-container {
  display: inline;
  font-size: 0.75em;
  margin-right: 10px;
}
.posts-collapse .post-content .post-title {
  display: inline;
}
.posts-collapse .post-content .post-title a {
  border-bottom: 0;
  color: var(--link-color);
}
.posts-collapse .post-content .post-title .fa {
  font-size: 0.875em;
  margin-left: 5px;
}
.posts-collapse .post-content::before {
  background: #f5f5f5;
  content: ' ';
  height: 100%;
  margin-left: -2px;
  position: absolute;
  top: 1.25em;
  width: 4px;
}
.post-body {
  font-family: Inter, Noto Sans SC, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  overflow-wrap: break-word;
}
@media (min-width: 1200px) {
  .post-body {
    font-size: 1.125em;
  }
}
@media (min-width: 992px) {
  .post-body {
    text-align: justify;
  }
}
@media (max-width: 991px) {
  .post-body {
    text-align: justify;
  }
}
.post-body h1 .header-anchor,
.post-body h2 .header-anchor,
.post-body h3 .header-anchor,
.post-body h4 .header-anchor,
.post-body h5 .header-anchor,
.post-body h6 .header-anchor,
.post-body h1 .headerlink,
.post-body h2 .headerlink,
.post-body h3 .headerlink,
.post-body h4 .headerlink,
.post-body h5 .headerlink,
.post-body h6 .headerlink {
  border-bottom-style: none;
  color: inherit;
  float: right;
  font-size: 0.875em;
  margin-left: 10px;
  opacity: 0;
}
.post-body h1 .header-anchor::before,
.post-body h2 .header-anchor::before,
.post-body h3 .header-anchor::before,
.post-body h4 .header-anchor::before,
.post-body h5 .header-anchor::before,
.post-body h6 .header-anchor::before,
.post-body h1 .headerlink::before,
.post-body h2 .headerlink::before,
.post-body h3 .headerlink::before,
.post-body h4 .headerlink::before,
.post-body h5 .headerlink::before,
.post-body h6 .headerlink::before {
  content: '\f0c1';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
}
.post-body h1:hover .header-anchor,
.post-body h2:hover .header-anchor,
.post-body h3:hover .header-anchor,
.post-body h4:hover .header-anchor,
.post-body h5:hover .header-anchor,
.post-body h6:hover .header-anchor,
.post-body h1:hover .headerlink,
.post-body h2:hover .headerlink,
.post-body h3:hover .headerlink,
.post-body h4:hover .headerlink,
.post-body h5:hover .headerlink,
.post-body h6:hover .headerlink {
  opacity: 0.5;
}
.post-body h1:hover .header-anchor:hover,
.post-body h2:hover .header-anchor:hover,
.post-body h3:hover .header-anchor:hover,
.post-body h4:hover .header-anchor:hover,
.post-body h5:hover .header-anchor:hover,
.post-body h6:hover .header-anchor:hover,
.post-body h1:hover .headerlink:hover,
.post-body h2:hover .headerlink:hover,
.post-body h3:hover .headerlink:hover,
.post-body h4:hover .headerlink:hover,
.post-body h5:hover .headerlink:hover,
.post-body h6:hover .headerlink:hover {
  opacity: 1;
}
.post-body .exturl .fa {
  font-size: 0.875em;
  margin-left: 4px;
}
.post-body figure:not(.highlight) {
  margin: 0 auto 20px;
}
.post-body figure:not(.highlight) figcaption {
  color: #999;
  font-size: 0.875em;
  font-weight: bold;
  line-height: 1;
  margin: -15px auto 15px;
  text-align: center;
}
.post-body iframe,
.post-body img,
.post-body video,
.post-body embed {
  margin-bottom: 20px;
}
.post-body .video-container {
  height: 0;
  margin-bottom: 20px;
  overflow: hidden;
  padding-top: 75%;
  position: relative;
  width: 100%;
}
.post-body .video-container iframe,
.post-body .video-container object,
.post-body .video-container embed {
  height: 100%;
  left: 0;
  margin: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.post-gallery {
  display: flex;
  min-height: 200px;
}
.post-gallery .post-gallery-image {
  flex: 1;
}
.post-gallery .post-gallery-image:not(:first-child) {
  clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%);
  margin-left: -20px;
}
.post-gallery .post-gallery-image:not(:last-child) {
  margin-right: -20px;
}
.post-gallery .post-gallery-image img {
  height: 100%;
  object-fit: cover;
  opacity: 1;
  width: 100%;
}
.posts-expand .post-gallery {
  margin-bottom: 60px;
}
.posts-collapse .post-gallery {
  margin: 15px 0;
}
.posts-expand .post-header {
  font-size: 1.125em;
  margin-bottom: 60px;
  text-align: center;
}
.posts-expand .post-title {
  font-size: 1.5em;
  font-weight: normal;
  margin: initial;
  overflow-wrap: break-word;
}
.posts-expand .post-title-link {
  border-bottom: 0;
  color: var(--link-color);
  display: inline-block;
  max-width: 100%;
  position: relative;
}
.posts-expand .post-title-link::before {
  background: var(--link-color);
  bottom: 0;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transition: transform 0.2s ease-in-out;
  width: 100%;
}
.posts-expand .post-title-link:hover::before {
  transform: scaleX(1);
}
.posts-expand .post-title-link .fa {
  font-size: 0.875em;
  margin-left: 5px;
}
.post-sticky-flag {
  display: inline-block;
  margin-right: 8px;
  transform: rotate(30deg);
}
.posts-expand .post-meta-container {
  color: #999;
  font-family: Inter, Noto Sans SC, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 0.75em;
  margin-top: 3px;
}
.posts-expand .post-meta-container .post-description {
  font-size: 0.875em;
  margin-top: 2px;
}
.posts-expand .post-meta-container time {
  border-bottom: 1px dashed #999;
}
.post-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
:not(.post-meta-break) + .post-meta-item::before {
  content: '|';
  margin: 0 0.5em;
}
.post-meta-item-icon {
  margin-right: 3px;
}
@media (max-width: 991px) {
  .post-meta-item-text {
    display: none;
  }
}
.post-meta-break {
  flex-basis: 100%;
  height: 0;
}
#busuanzi_container_page_pv {
  display: none;
}
.post-nav {
  border-top: 1px solid #eee;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-top: 1em;
  padding: 10px 5px 0;
}
.post-nav-item {
  flex: 1;
}
.post-nav-item a {
  border-bottom: 0;
  display: block;
  font-size: 0.875em;
  line-height: 1.6;
}
.post-nav-item a:active {
  top: 2px;
}
.post-nav-item .fa {
  font-size: 0.75em;
}
.post-nav-item:first-child .fa {
  margin-right: 5px;
}
.post-nav-item:last-child {
  text-align: right;
}
.post-nav-item:last-child .fa {
  margin-left: 5px;
}
.post-footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.post-eof {
  background: #ccc;
  height: 1px;
  margin: 80px auto 60px;
  width: 8%;
}
.post-block:last-of-type .post-eof {
  display: none;
}
.post-copyright ul {
  list-style: none;
  overflow: hidden;
  padding: 0.5em 1em;
  position: relative;
  background: var(--card-bg-color);
  border-left: 3px solid #ff2a2a;
  margin: 1em 0 0;
}
.post-copyright ul::after {
  content: '\f25e';
  font-family: 'Font Awesome 7 Brands';
  font-size: 200px;
  opacity: 0.1;
  position: absolute;
  right: -50px;
  top: -150px;
}
.post-tags {
  margin-top: 40px;
  text-align: center;
}
.post-tags a {
  display: inline-block;
  font-size: 0.8125em;
}
.post-tags a:not(:last-child) {
  margin-right: 10px;
}
.social-like {
  border-top: 1px solid #eee;
  font-size: 0.875em;
  margin-top: 1em;
  padding-top: 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.social-like a {
  border-bottom: none;
}
.reward-container {
  margin: 1em 0 0;
  padding: 1em 0;
  text-align: center;
}
.reward-container button {
  background: transparent;
  color: #fc6423;
  cursor: pointer;
  line-height: 2;
  padding: 0 15px;
  border: 2px solid #fc6423;
  border-radius: 2px;
  outline: 0;
  vertical-align: text-top;
}
.reward-container button:hover {
  background: #fc6423;
  color: #fff;
}
.post-reward {
  display: none;
  padding-top: 20px;
}
.post-reward.active {
  display: block;
}
.post-reward div {
  display: inline-block;
}
.post-reward div span {
  display: block;
}
.post-reward img {
  display: inline-block;
  margin: 0.8em 2em 0;
  max-width: 100%;
  width: 180px;
}
@keyframes next-roll {
  from {
    transform: rotateZ(30deg);
  }
  to {
    transform: rotateZ(-30deg);
  }
}
.category-all-page .category-all-title {
  text-align: center;
}
.category-all-page .category-all {
  margin-top: 20px;
}
.category-all-page .category-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.category-all-page .category-list-item {
  margin: 5px 10px;
}
.category-all-page .category-list-count {
  font-size: 0.75em;
  background: #ccc;
  border-radius: 10px;
  color: var(--content-bg-color);
  font-weight: bold;
  line-height: 1;
  margin-left: 0.35em;
  padding: 2px 5px;
  text-shadow: 1px 1px 0 rgba(0,0,0,0.1);
}
.category-all-page .category-list-child {
  padding-left: 10px;
}
.event-list hr {
  background: #222;
  margin: 20px 0 45px;
}
.event-list hr::after {
  background: #222;
  color: #fff;
  content: 'NOW';
  display: inline-block;
  font-weight: bold;
  padding: 0 5px;
}
.event-list .event {
  --event-background: #222;
  --event-foreground: #bbb;
  --event-title: #fff;
  background: var(--event-background);
  padding: 15px;
}
.event-list .event .event-summary {
  border-bottom: 0;
  color: var(--event-title);
  margin: 0;
  padding: 0 0 0 35px;
  position: relative;
}
.event-list .event .event-summary::before {
  animation: dot-flash 1s alternate infinite ease-in-out;
  background: var(--event-title);
  left: 0;
  margin-top: -6px;
  position: absolute;
  top: 50%;
  border-radius: 50%;
  content: ' ';
  height: 12px;
  width: 12px;
}
.event-list .event:nth-of-type(odd) .event-summary::before {
  animation-delay: 0.5s;
}
.event-list .event:not(:last-child) {
  margin-bottom: 20px;
}
.event-list .event .event-relative-time {
  color: var(--event-foreground);
  display: inline-block;
  font-size: 12px;
  font-weight: normal;
  padding-left: 12px;
}
.event-list .event .event-details {
  color: var(--event-foreground);
  display: block;
  line-height: 18px;
  padding: 6px 0 6px 35px;
}
.event-list .event .event-details::before {
  color: var(--event-foreground);
  display: inline-block;
  margin-right: 9px;
  width: 14px;
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
}
.event-list .event .event-details.event-location::before {
  content: '\f041';
}
.event-list .event .event-details.event-duration::before {
  content: '\f017';
}
.event-list .event .event-details.event-description::before {
  content: '\f024';
}
.event-list .event-past {
  --event-background: #f5f5f5;
  --event-foreground: #999;
  --event-title: #222;
}
@keyframes dot-flash {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.8);
  }
}
ul.breadcrumb {
  font-size: 0.75em;
  list-style: none;
  margin: 1em 0;
  padding: 0 2em;
  text-align: center;
}
ul.breadcrumb li {
  display: inline;
}
ul.breadcrumb li:not(:first-child)::before {
  content: '/\00a0';
  font-weight: normal;
  padding: 0.5em;
}
ul.breadcrumb li:last-child {
  font-weight: bold;
}
.tag-cloud {
  text-align: center;
}
.tag-cloud a {
  display: inline-block;
  margin: 10px;
}
.tag-cloud-0 {
  border-bottom-color: #aaa;
  color: #aaa;
}
.tag-cloud-1 {
  border-bottom-color: #9a9a9a;
  color: #9a9a9a;
}
.tag-cloud-2 {
  border-bottom-color: #8b8b8b;
  color: #8b8b8b;
}
.tag-cloud-3 {
  border-bottom-color: #7c7c7c;
  color: #7c7c7c;
}
.tag-cloud-4 {
  border-bottom-color: #6c6c6c;
  color: #6c6c6c;
}
.tag-cloud-5 {
  border-bottom-color: #5d5d5d;
  color: #5d5d5d;
}
.tag-cloud-6 {
  border-bottom-color: #4e4e4e;
  color: #4e4e4e;
}
.tag-cloud-7 {
  border-bottom-color: #3e3e3e;
  color: #3e3e3e;
}
.tag-cloud-8 {
  border-bottom-color: #2f2f2f;
  color: #2f2f2f;
}
.tag-cloud-9 {
  border-bottom-color: #202020;
  color: #202020;
}
.tag-cloud-10 {
  border-bottom-color: #111;
  color: #111;
}
@media (prefers-color-scheme: dark) {
  .tag-cloud-0 {
    border-bottom-color: #555;
    color: #555;
  }
  .tag-cloud-1 {
    border-bottom-color: #646464;
    color: #646464;
  }
  .tag-cloud-2 {
    border-bottom-color: #737373;
    color: #737373;
  }
  .tag-cloud-3 {
    border-bottom-color: #828282;
    color: #828282;
  }
  .tag-cloud-4 {
    border-bottom-color: #929292;
    color: #929292;
  }
  .tag-cloud-5 {
    border-bottom-color: #a1a1a1;
    color: #a1a1a1;
  }
  .tag-cloud-6 {
    border-bottom-color: #b0b0b0;
    color: #b0b0b0;
  }
  .tag-cloud-7 {
    border-bottom-color: #c0c0c0;
    color: #c0c0c0;
  }
  .tag-cloud-8 {
    border-bottom-color: #cfcfcf;
    color: #cfcfcf;
  }
  .tag-cloud-9 {
    border-bottom-color: #dedede;
    color: #dedede;
  }
  .tag-cloud-10 {
    border-bottom-color: #eee;
    color: #eee;
  }
}
.search-active {
  overflow: hidden;
  margin-right: var(--dialog-scrollgutter, 0);
}
.search-pop-overlay {
  background: rgba(0,0,0,0);
  display: flex;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  transition: visibility 0.4s, background 0.4s;
  visibility: hidden;
  width: 100%;
  z-index: 40;
}
.search-active .search-pop-overlay {
  background: rgba(0,0,0,0.3);
  visibility: visible;
}
.search-popup {
  background: var(--card-bg-color);
  border-radius: 5px;
  height: 80%;
  margin: auto;
  transform: scale(0);
  transition: transform 0.4s;
  width: 700px;
}
.search-active .search-popup {
  transform: scale(1);
}
@media (max-width: 767px) {
  .search-popup {
    border-radius: 0;
    height: 100%;
    width: 100%;
  }
}
.search-popup .search-icon,
.search-popup .popup-btn-close {
  color: #999;
  font-size: 18px;
  padding: 0 10px;
}
.search-popup .popup-btn-close {
  cursor: pointer;
}
.search-popup .popup-btn-close:hover .fa {
  color: #222;
}
.search-popup .search-header {
  background: #eee;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  display: flex;
  padding: 5px;
}
@media (prefers-color-scheme: dark) {
  .search-popup .search-header {
    background: #666;
  }
}
.search-popup input.search-input {
  background: transparent;
  border: 0;
  outline: 0;
  width: 100%;
}
.search-popup input.search-input::-webkit-search-cancel-button {
  display: none;
}
.search-popup .search-result-container {
  display: flex;
  flex-direction: column;
  height: calc(100% - 55px);
  overflow: auto;
  padding: 5px 25px;
}
.search-popup .search-result-container hr {
  flex-shrink: 0;
  margin: 5px 0 10px;
}
.search-popup .search-result-container hr:first-child {
  display: none;
}
.search-popup .search-result-list {
  margin: 0 5px;
  padding: 0;
}
.search-popup a.search-result-title {
  font-weight: bold;
}
.search-popup p.search-result {
  border-bottom: 1px dashed #ccc;
  margin: 0 0 10px;
  padding: 5px 0;
}
.search-popup .search-input-container {
  flex-grow: 1;
  padding: 2px;
}
.search-popup .search-result-icon {
  color: #ccc;
  margin: auto;
}
mark.search-keyword {
  background: transparent;
  border-bottom: 1px dashed #ff2a2a;
  color: #ff2a2a;
  font-weight: bold;
}
mjx-container[jax='CHTML'][display='true'],
.has-jax {
  overflow: auto hidden;
}
mjx-container[display='true'] + br {
  display: none;
}
.use-motion .animated {
  animation-fill-mode: none;
  visibility: inherit;
}
.use-motion .sidebar .animated {
  animation-fill-mode: both;
}
header.header {
  background: var(--content-bg-color);
  border-radius: initial;
  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) {
  header.header {
    border-radius: initial;
  }
}
.main {
  align-items: stretch;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: calc(100% - 20px);
}
@media (max-width: 767px) {
  .main {
    width: auto;
  }
}
@media (min-width: 1200px) {
  .main {
    width: 1160px;
  }
}
@media (min-width: 1600px) {
  .main {
    width: 73%;
  }
}
@media (max-width: 991px) {
  .main {
    display: block;
    width: auto;
  }
}
.main-inner {
  border-radius: initial;
  box-sizing: border-box;
  width: calc(100% - 252px);
}
@media (max-width: 991px) {
  .main-inner {
    border-radius: initial;
    width: 100%;
  }
}
.footer-inner {
  padding-left: 252px;
}
@media (max-width: 991px) {
  .footer-inner {
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}
.column {
  width: 240px;
}
@media (max-width: 991px) {
  .column {
    width: auto;
  }
}
.site-brand-container {
  background: var(--theme-color);
}
@media (max-width: 991px) {
  .site-nav-on .site-brand-container {
    box-shadow: 0 0 16px rgba(0,0,0,0.5);
  }
}
.site-meta {
  padding: 20px 0;
}
@media (min-width: 768px) and (max-width: 991px) {
  .site-nav-toggle,
  .site-nav-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.site-nav-toggle .toggle,
.site-nav-right .toggle {
  color: #fff;
}
.site-nav-toggle .toggle .toggle-line,
.site-nav-right .toggle .toggle-line {
  background: #fff;
}
@media (min-width: 768px) and (max-width: 991px) {
  .site-nav {
    --scroll-height: 0;
    height: 0;
    overflow: hidden;
    transition: 0.2s ease-in-out;
    transition-property: height, visibility;
    visibility: hidden;
  }
  body:not(.site-nav-on) .site-nav .animated {
    animation: none;
  }
  body.site-nav-on .site-nav {
    height: var(--scroll-height);
    visibility: unset;
  }
}
.menu .menu-item {
  display: block;
  margin: 0;
}
.menu .menu-item a {
  padding: 5px 20px;
  position: relative;
  transition-property: background-color;
  display: flex;
  align-items: center;
}
.menu .menu-item a .badge {
  margin-left: auto;
}
@media (max-width: 991px) {
  .menu .menu-item.menu-item-search {
    display: none;
  }
}
.main-menu .menu-item-active::after {
  background: #bbb;
  border-radius: 50%;
  content: ' ';
  height: 6px;
  margin-top: -3px;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 6px;
}
.sub-menu {
  margin: 0;
  padding: 6px 0;
}
.sub-menu .menu-item {
  display: inline-block;
}
.sub-menu .menu-item a {
  background: transparent;
  margin: 5px 10px;
  padding: initial;
}
.sub-menu .menu-item a:hover {
  background: transparent;
  color: #fc6423;
}
.sub-menu .menu-item-active {
  border-bottom-color: #fc6423;
  color: #fc6423;
}
.sub-menu .menu-item-active:hover {
  border-bottom-color: #fc6423;
}
@media (min-width: 992px) {
  .sidebar {
    position: sticky;
    top: 12px;
  }
  .sidebar-toggle {
    display: none;
  }
  .sidebar-inner {
    background: var(--content-bg-color);
    border-radius: initial;
    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), 0 -1px 0.5px 0 rgba(0,0,0,0.09);
    box-sizing: border-box;
    color: var(--text-color);
    margin-top: 12px;
    max-height: calc(100vh - 24px);
    visibility: hidden;
  }
  .site-state-item {
    padding: 0 10px;
  }
  .sidebar .sidebar-button {
    border-bottom: 1px dotted #ccc;
    border-top: 1px dotted #ccc;
  }
  .sidebar .sidebar-button button {
    border: 0;
    color: #fc6423;
    display: block;
    width: 100%;
  }
  .sidebar .sidebar-button button:hover {
    background: none;
    border: 0;
    color: #e34603;
  }
  .links-of-author {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .links-of-author-item {
    margin: 5px 0 0;
    width: 50%;
  }
  .links-of-author-item a {
    border-bottom: 0;
    border-radius: 4px;
    display: block;
    padding: 0 5px;
    box-sizing: border-box;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .links-of-author-item a:hover {
    background: var(--body-bg-color);
  }
  .links-of-blogroll-item a {
    padding: 0 5px;
  }
  .back-to-top {
    background: var(--body-bg-color);
    margin: -4px -10px -18px;
    transition-property: bottom, margin-top;
  }
  .back-to-top.back-to-top-on {
    margin-top: 16px;
  }
}
.main-inner .sub-menu,
.main-inner .post-block,
.main-inner .tabs-comment,
.main-inner > .comments,
.main-inner .comment-position .comments,
.main-inner .pagination {
  background: var(--content-bg-color);
  border-radius: initial;
  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);
}
.main-inner .post-block:not(:first-child):not(:first-child) {
  border-radius: initial;
  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), 0 -1px 0.5px 0 rgba(0,0,0,0.09);
  margin-top: 12px;
}
@media (min-width: 768px) and (max-width: 991px) {
  .main-inner .post-block:not(:first-child):not(:first-child) {
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  .main-inner .post-block:not(:first-child):not(:first-child) {
    margin-top: 8px;
  }
}
.main-inner .tabs-comment,
.main-inner > .comments,
.main-inner .comment-position .comments,
.main-inner .pagination {
  border-radius: initial;
  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), 0 -1px 0.5px 0 rgba(0,0,0,0.09);
  margin-top: 12px;
}
@media (min-width: 768px) and (max-width: 991px) {
  .main-inner .tabs-comment,
  .main-inner > .comments,
  .main-inner .comment-position .comments,
  .main-inner .pagination {
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  .main-inner .tabs-comment,
  .main-inner > .comments,
  .main-inner .comment-position .comments,
  .main-inner .pagination {
    margin-top: 8px;
  }
}
.post-block,
.comments {
  padding: 40px;
}
.post-eof {
  display: none;
}
.pagination {
  border-top: initial;
  padding: 10px 0;
}
.post-body h1,
.post-body h2 {
  border-bottom: 1px solid #eee;
}
.post-body h3 {
  border-bottom: 1px dotted #eee;
}
@media (min-width: 768px) and (max-width: 991px) {
  .main-inner {
    padding: 10px;
  }
  .posts-expand .post-button {
    margin-top: 20px;
  }
  .post-block {
    padding: 20px;
  }
  .comments {
    padding: 10px 20px;
  }
}
@media (max-width: 767px) {
  .main-inner {
    padding: 8px;
  }
  .posts-expand .post-button {
    margin: 12px 0;
  }
  .post-block {
    padding: 12px;
  }
  .comments {
    padding: 10px 12px;
  }
}
/* =========================================================
   1. 核心配色变量 (定义两套皮肤)
   ========================================================= */
:root {
/* --- 亮色模式 (Light Mode) --- */
  --bg-body: #f5f7f9; /* 页面大背景 */
  --bg-card: #fff; /* 卡片背景 */
  --text-main: #333;
  --text-sec: #666;
  --theme-color: #3b5998; /* 主题蓝 */
  --link-color: #3b5998;
  --code-bg: #f6f8fa; /* 代码块亮色背景 */
  --card-radius: 12px;
  --card-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
/* --- 深色模式 (Dark Mode) --- */
body[data-theme="dark"] {
  --bg-body: #121212; /* 极深灰背景，比纯黑更有质感 */
  --bg-card: #1e1e1e; /* 卡片深灰 */
  --text-main: #d0d0d0; /* 柔和白 */
  --text-sec: #888;
  --theme-color: #61afef; /* 亮蓝 */
  --link-color: #61afef;
  --code-bg: #282c34; /* One Dark 代码背景 */
  --card-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
/* =========================================================
   2. 全局背景与布局重构 (修复左侧栏白色问题)
   ========================================================= */
/* 强制覆盖 body 背景 */
body {
  background: var(--bg-body) !important;
  color: var(--text-main) !important;
  transition: background 0.3s, color 0.3s;
}
/* 
   关键修复：左侧菜单栏(.header-inner) 和 作者栏(.sidebar-inner)
   以及 右侧文章(.post-block)
*/
.header-inner,
.sidebar-inner,
.post-block,
.comments,
.pagination {
  background: var(--bg-card) !important; /* 强制使用变量颜色 */
  box-shadow: var(--card-shadow) !important;
  border-radius: var(--card-radius) !important;
  border: none !important;
  margin-bottom: 20px !important;
  padding: 25px !important;
}
/* 修复侧边栏文字颜色 */
.site-title,
.site-subtitle,
.menu-item a,
.site-author-name {
  color: var(--text-main) !important;
}
.menu-item-active a,
.menu-item a:hover {
  color: var(--theme-color) !important;
  background: rgba(128,128,128,0.1); /* 淡淡的悬停背景 */
  border-radius: 6px;
}
/* =========================================================
   3. 文章内容优化
   ========================================================= */
.post-body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
/* 标题样式 */
.post-body h1,
.post-body h2 {
  border-bottom: none !important;
  position: relative;
  padding-left: 12px;
}
.post-body h1::before,
.post-body h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  height: 80%;
  width: 4px;
  background: var(--theme-color);
  border-radius: 2px;
}
/* 链接样式 */
.post-body a {
  color: var(--link-color) !important;
  border-bottom: 1px dotted var(--link-color);
}
.post-body a:hover {
  border-bottom: 1px solid var(--link-color);
}
/* =========================================================
   4. 代码块终极修复 (修复白色背景问题)
   ========================================================= */
/* 
   Hexo 的代码块结构复杂，必须层层穿透 
   .highlight 是最外层容器
*/
.highlight {
  background: var(--code-bg) !important; /* 强制背景色 */
  border-radius: 8px !important;
  padding-top: 35px !important; /* 留出 Mac 红绿灯位置 */
  margin: 20px 0 !important;
  border: 1px solid rgba(128,128,128,0.1);
  position: relative;
}
/* 强制内部所有元素背景透明，防止白色底色遮挡 */
.highlight table,
.highlight tbody,
.highlight tr,
.highlight td,
.highlight pre,
.highlight .code {
  background: transparent !important;
  border: none !important;
}
/* 修复文字颜色：亮色模式为黑，深色模式为白 */
.highlight .code,
.highlight pre {
  color: #333; /* 默认亮色模式下的代码文字 */
}
body[data-theme="dark"] .highlight .code,
body[data-theme="dark"] .highlight pre {
  color: #abb2bf !important; /* 深色模式下的代码文字 */
}
/* Mac 风格红黄绿圆点 */
.highlight::after {
  content: " ";
  position: absolute;
  top: 12px;
  left: 15px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ff5f56;
  box-shadow: 20px 0 0 #ffbd2e, 40px 0 0 #27c93f;
}
/* --- 代码高亮颜色修正 (模拟 Atom One Dark) --- */
/* 只有在 dark 模式下生效 */
body[data-theme="dark"] .highlight .comment {
  color: #5c6370 !important;
  font-style: italic;
}
body[data-theme="dark"] .highlight .keyword,
body[data-theme="dark"] .highlight .selector-tag {
  color: #c678dd !important;
}
body[data-theme="dark"] .highlight .string,
body[data-theme="dark"] .highlight .doctag {
  color: #98c379 !important;
}
body[data-theme="dark"] .highlight .title,
body[data-theme="dark"] .highlight .section {
  color: #61aeee !important;
}
body[data-theme="dark"] .highlight .variable,
body[data-theme="dark"] .highlight .attribute {
  color: #e06c75 !important;
}
body[data-theme="dark"] .highlight .number,
body[data-theme="dark"] .highlight .literal {
  color: #d19a66 !important;
}
/* 行内代码 `code` */
code {
  background: rgba(128,128,128,0.15) !important;
  color: var(--theme-color) !important;
  padding: 2px 6px;
  border-radius: 4px;
}
/* 修复代码块左侧行号区域 */
.highlight .gutter {
  color: rgba(128,128,128,0.5) !important;
  background: rgba(128,128,128,0.05) !important; /* 稍微深一点的背景区分 */
  border-right: 1px solid rgba(128,128,128,0.1) !important;
}
/* =========================================================
   5. 切换按钮样式
   ========================================================= */
.theme-toggle-btn {
  position: fixed;
  bottom: 40px;
  right: 30px;
  width: 48px;
  height: 48px;
  z-index: 9999;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-card); /* 跟随卡片背景 */
  box-shadow: 0 5px 20px rgba(0,0,0,0.2);
  transition: transform 0.3s;
  border: 1px solid rgba(128,128,128,0.1);
}
.theme-toggle-btn:hover {
  transform: scale(1.1);
}
.theme-toggle-btn i {
  font-size: 1.2rem;
  color: var(--text-main);
}
body[data-theme="dark"] .theme-toggle-btn i {
  color: #ffd700;
}
/* 太阳金色 */
/* =========================================================
   6. 修复左侧栏顶部 "格格不入" 的色块 (完美融合)
   ========================================================= */
/* 1. 去掉那个突兀的蓝色背景块 */
.site-brand-container {
  background: transparent !important; /* 背景变透明 */
  box-shadow: none !important; /* 去掉阴影 */
  padding: 0 !important; /* 去掉多余边距 */
}
.site-meta {
  background: transparent !important;
}
/* 2. 标题文字：由原来的白字 -> 改为主题蓝 */
.site-title {
  color: var(--theme-color) !important; /* 使用定义好的蓝色 */
  font-size: 1.8rem !important; /* 稍微加大一点气势 */
  font-weight: 700 !important;
  margin-bottom: 5px !important;
}
/* 3. 副标题（签名）：改为灰色 */
.site-subtitle {
  color: var(--text-sec) !important;
  font-size: 0.9rem !important;
  margin-top: 5px !important;
  opacity: 0.8;
}
/* 4. 修正左侧栏容器，让它看起来像一张完整的卡片 */
.header-inner {
/* 确保整个左上角区域背景统一 */
  background: var(--bg-card) !important;
/* 调整一下内边距，让标题离顶部有点呼吸感 */
  padding-top: 30px !important;
  padding-bottom: 20px !important;
/* 确保圆角和阴影生效（继承之前的设置） */
  border-radius: var(--card-radius) !important;
  box-shadow: var(--card-shadow) !important;
}
/* 5. 深色模式下的微调 */
body[data-theme="dark"] .site-title {
  color: var(--theme-color) !important; /* 深色模式下依然保持亮蓝标题 */
}
body[data-theme="dark"] .site-subtitle {
  color: #888 !important; /* 副标题深灰 */
}
/* 6. (可选) 给菜单项加一点点交互感，呼应标题 */
.menu-item-active a {
  background: rgba(59,89,152,0.1) !important; /* 极淡的主题色背景 */
  color: var(--theme-color) !important;
  position: relative;
}
/* 给激活的菜单左边加一个小竖条指示 */
.menu-item-active a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 16px;
  width: 3px;
  background: var(--theme-color);
  border-radius: 0 2px 2px 0;
}
/* =========================================================
   7. 紧急修复：深色模式下左上角依然白色的问题
   ========================================================= */
/* 1. 强制把左上角菜单栏背景变黑，和下面统一 */
body[data-theme="dark"] .header-inner {
  background: var(--bg-card) !important; /* 强制使用深灰色 */
  box-shadow: var(--card-shadow) !important;
}
/* 2. 确保菜单栏里的文字颜色正确（防止白底黑字变成黑底黑字看不见） */
body[data-theme="dark"] .menu-item a {
  color: var(--text-main) !important; /* 变成浅灰白 */
}
/* 3. 选中状态的菜单颜色高亮 */
body[data-theme="dark"] .menu-item-active a {
  background: rgba(255,255,255,0.1) !important;
  color: var(--theme-color) !important; /* 亮蓝 */
}
/* 4. 再次确保顶部品牌条背景透明（双重保险） */
body[data-theme="dark"] .site-brand-container {
  background: transparent !important;
}
/* 5. 修正深色模式下的标题颜色 */
body[data-theme="dark"] .site-title {
  color: var(--theme-color) !important;
  text-shadow: 0 0 10px rgba(97,175,239,0.3); /* 加一点发光效果，更有科技感 */
}
/* =========================================================
   紧急修复：左上角 .header 选择器修正补丁
   原因：你的页面结构中使用的是 .header 而非 .header-inner
   ========================================================= */
/* 1. 强制选中左上角的 header 容器，设为白色卡片 (修复亮色模式) */
/* 使用 html body .column 前缀以极高权重覆盖浏览器默认样式 */
html body .column .header {
  background: #fff !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  border: none !important;
}
/* 2. 确保 header 内部的蓝色品牌块背景透明 */
.site-brand-container {
  background: transparent !important;
}
/* 3. 修复深色模式下的 header 背景 (点击切换后变黑) */
html body[data-theme="dark"] .column .header {
  background: #1e1e1e !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
}
/* 4. (双重保险) 针对 Chrome 默认深色模式的强制覆盖 */
/* 意思是：只要网页主题不是 dark，哪怕浏览器是深色模式，也要强制 header 变白 */
@media (prefers-color-scheme: dark) {
  html body:not([data-theme="dark"]) .column .header {
    background: #fff !important;
    color: #333 !important;
  }
}
/* =========================================================
   修正补丁：深色模式菜单选中项背景修复
   原因：menu-item-active 类名直接在 a 标签上，而非 li 上
   ========================================================= */
/* 1. 选中状态修复 */
/* 注意：这里是 a.menu-item-active，表示“带有active类的a标签” */
html body[data-theme="dark"] .menu-item a.menu-item-active,
html body[data-theme="dark"] a.menu-item-active {
  background: rgba(255,255,255,0.1) !important; /* 半透明深灰，不再是白色 */
  color: #61afef !important; /* 亮蓝色文字 */
  border-radius: 8px !important;
}
/* 2. 鼠标悬停状态修复 */
html body[data-theme="dark"] .menu-item a:hover {
  background: rgba(255,255,255,0.15) !important;
  color: #61afef !important;
  border-radius: 8px !important;
}
/* 3. 确保里面的图标颜色也变蓝 */
html body[data-theme="dark"] a.menu-item-active i,
html body[data-theme="dark"] .menu-item a:hover i {
  color: #61afef !important;
}
/* =========================================================
   美化：选中文字颜色
   ========================================================= */
::selection {
  background: #3b5998;
  color: #fff;
}
body[data-theme="dark"] ::selection {
  background: #61afef;
  color: #000; /* 深色背景下，选中文字变黑，对比度更高 */
}
/* =========================================================
   补丁：修复侧边栏底部“返回顶部”按钮的黑块问题
   ========================================================= */
/* 1. 强制去掉 .back-to-top 的默认黑色背景 */
.back-to-top {
  background: transparent !important; /* 变透明，融入卡片 */
  color: #3b5998 !important; /* 图标改成主题蓝 */
  margin: 0 !important;
  width: 100% !important; /* 撑满宽度 */
  transition: all 0.3s ease;
}
/* =========================================================
   打字机光标特效
   ========================================================= */
/* 1. 在副标题后面加一个竖线 */
.site-subtitle::after {
  content: "|";
  display: inline-block;
  margin-left: 2px;
  animation: blink 1s infinite; /* 让它闪烁 */
  color: #3b5998; /* 光标颜色 (亮色模式) */
  font-weight: bold;
}
/* 2. 深色模式下光标变亮蓝 */
html body[data-theme="dark"] .site-subtitle::after {
  color: #61afef;
}
/* 3. 定义闪烁动画 */
/* =========================================================
   修复打字机特效导致的侧边栏抖动问题
   ========================================================= */
.site-subtitle {
/* 设定最小高度：保持和字体行高一致 */
  min-height: 1.5em !important;
/* 确保垂直方向稳定 */
  line-height: 1.5em !important;
  display: block;
/* 防止文字换行导致的高度突变 (可选，如果句子很长可以加上) */
/* white-space: nowrap; */
/* overflow: hidden; */
/* text-overflow: ellipsis; */
}
/* =========================================================
   美化：底部爱心跳动
   ========================================================= */
.with-love i {
  color: #f00;
  animation: heartbeat 1.33s ease-in-out infinite;
  display: inline-block;
}
/* =========================================================
   补丁：修复深色模式下侧边栏文字/计数器颜色看不清的问题
   ========================================================= */
/* 1. 作者名字：变纯白 */
html body[data-theme="dark"] .site-author-name {
  color: #fff !important;
  font-weight: 600;
}
/* 2. 站点描述（副标题）：变浅灰 */
html body[data-theme="dark"] .site-description {
  color: #ccc !important;
}
/* 3. 核心修复：统计数字（日志/分类/标签的数字） */
html body[data-theme="dark"] .site-state-item-count {
  color: #61afef !important; /* 强制改成亮蓝色，不再是暗蓝 */
  font-weight: bold;
}
/* 4. 统计标签文字（"日志"、"标签"） */
html body[data-theme="dark"] .site-state-item-name {
  color: #aaa !important; /* 浅灰色 */
}
/* 5. 社交链接（GitHub, E-Mail） */
html body[data-theme="dark"] .links-of-author-item a {
  color: #61afef !important; /* 亮蓝色图标和文字 */
}
/* 6. 社交链接悬停效果 */
html body[data-theme="dark"] .links-of-author-item a:hover {
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important; /* 悬停变白 */
  border-radius: 4px;
}
/* =========================================================
   补丁：修复版权块、目录(TOC) 和 页脚在深色模式下的显示问题
   ========================================================= */
/* ---------------------------------------------------------
   2. 右侧文章目录 (TOC)
   --------------------------------------------------------- */
/* 普通状态下的目录文字 */
html body[data-theme="dark"] .post-toc .nav-link {
  color: #888 !important; /* 浅灰色，不要太白，以免抢眼 */
}
/* 鼠标悬停 或 激活状态 的目录文字 */
html body[data-theme="dark"] .post-toc .nav-link:hover,
html body[data-theme="dark"] .post-toc .active > .nav-link {
  color: #61afef !important; /* 亮蓝色高亮 */
  border-bottom-color: #61afef !important;
}
/* ---------------------------------------------------------
   3. 页脚文字 (Footer)
   --------------------------------------------------------- */
html body[data-theme="dark"] .footer {
  color: #999 !important; /* 浅灰色，清晰可见 */
}
/* 页脚里的链接（如果有） */
html body[data-theme="dark"] .footer a {
  color: #ccc !important;
}
/* ---------------------------------------------------------
   4. 补充：文章底部的 "Reward" (赞赏) 按钮容器
   --------------------------------------------------------- */
html body[data-theme="dark"] .reward-container button {
  background: #333 !important; /* 按钮深色背景 */
  color: #e0e0e0 !important;
  border: 1px solid #555 !important;
}
html body[data-theme="dark"] .reward-container button:hover {
  background: #61afef !important;
  color: #fff !important;
  border-color: #61afef !important;
}
/* =========================================================
   亮色模式 (Light Mode) 专属精修补丁
   补充之前遗漏的版权栏、统计数、目录的亮色样式
   ========================================================= */
/* ---------------------------------------------------------
   2. 侧边栏统计数字 (亮色模式)
   --------------------------------------------------------- */
/* 让数字变成显眼的主题蓝，而不是默认的黑色 */
.site-state-item-count {
  color: #3b5998 !important;
  font-weight: bold;
  font-size: 1.1em;
}
/* 统计标签 ("日志", "标签") */
.site-state-item-name {
  color: #666 !important;
}
/* ---------------------------------------------------------
   3. 右侧目录 TOC (亮色模式)
   --------------------------------------------------------- */
/* 默认状态：柔和的灰色 */
.post-toc .nav-link {
  color: #666 !important;
}
/* 激活/悬停状态：主题蓝 */
.post-toc .nav-link:hover,
.post-toc .active > .nav-link {
  color: #3b5998 !important;
  border-bottom-color: #3b5998 !important; /* 下划线也变蓝 */
}
/* ---------------------------------------------------------
   4. 侧边栏社交图标 (亮色模式)
   --------------------------------------------------------- */
.links-of-author-item a {
  color: #3b5998 !important; /* 图标变蓝 */
}
.links-of-author-item a:hover {
  background: rgba(59,89,152,0.1) !important; /* 浅蓝背景 */
  color: #3b5998 !important;
}
/* =========================================================
   补丁：修复鼠标悬停时“先方后圆”的闪烁问题
   原理：将 border-radius 从 :hover 状态移到 常驻状态
   ========================================================= */
/* 1. 侧边栏菜单项 */
.menu-item a {
  border-radius: 8px !important; /* 让它一直都是圆的，哪怕透明 */
  transition: background 0.2s ease, color 0.2s ease !important; /* 优化一下过渡动画，更丝滑 */
}
/* 2. 侧边栏社交链接 (GitHub, Email等) */
.links-of-author-item a {
  border-radius: 4px !important; /* 社交图标通常圆角小一点 */
  transition: background 0.2s ease !important;
}
/* 3. 文章右侧目录 (TOC) */
.post-toc .nav-link {
  border-radius: 6px !important;
  transition: all 0.2s ease-in-out !important;
}
/* 4. (可选) 归档/分类页面的标题链接 */
.posts-expand .post-title-link {
  border-radius: 4px !important;
}
/* ---------------------------------------------------- */
/* 文章版权 Creative Commons 版权框 完全透明适配 */
/* ---------------------------------------------------- */
/* --- 亮色模式 (Light Mode) - 默认样式 --- */
.post-copyright {
/* 容器外观设置 */
  padding: 15px 0; /* 仅保留上下内边距，左右内边距通常不需要 */
  margin: 20px 0;
  font-size: 0.9em;
  line-height: 1.6;
/* 关键：容器背景透明，移除所有边框和阴影 */
  background: transparent;
  border: none;
  box-shadow: none;
/* 默认文字颜色 */
  color: #666;
}
/* 内部列表项和链接颜色（亮色模式） */
.post-copyright ul,
.post-copyright li {
  background: transparent;
  color: #666;
  list-style: none; /* 移除可能的列表点 */
  padding: 0;
  margin: 0;
}
.post-copyright a {
  color: #42b983; /* 链接颜色 */
}
/* --- 暗黑模式 (Dark Mode) - 使用 data-theme="dark" 覆盖 --- */
/* 1. 外层容器和文字颜色 (暗黑模式) */
html body[data-theme="dark"] .post-copyright {
/* 关键：容器背景透明 */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
/* 确保间距一致 */
  margin: 20px 0 !important;
/* 默认文字颜色 */
  color: #ccc !important;
}
/* 2. 内部列表项 (ul/li) 的背景和文字颜色 (暗黑模式) */
html body[data-theme="dark"] .post-copyright ul,
html body[data-theme="dark"] .post-copyright li {
  background: transparent !important;
  color: #ccc !important;
}
/* 3. 链接颜色 (暗黑模式) */
html body[data-theme="dark"] .post-copyright a {
  color: #6be3a1 !important;
}
/* =========================================================
   补丁：修复文章标题与元数据 (Meta) 的深浅色适配
   包括：标题、日期、分类、阅读时长等
   ========================================================= */
/* ---------------------------------------------------------
   1. 文章标题 (Title)
   --------------------------------------------------------- */
/* 亮色模式 */
.post-title-link {
  color: #333 !important;
  font-weight: bold;
}
/* 深色模式：标题变亮白 */
html body[data-theme="dark"] .post-title-link {
  color: #e0e0e0 !important;
}
/* ---------------------------------------------------------
   2. 元数据文字 (日期、字数、阅读时长等普通文字)
   --------------------------------------------------------- */
/* 亮色模式 */
.post-meta-item {
  color: #666 !important;
}
/* 深色模式：普通文字变浅灰 */
html body[data-theme="dark"] .post-meta-item {
  color: #aaa !important;
}
/* ---------------------------------------------------------
   3. 元数据图标 (日历图标、文件夹图标等)
   --------------------------------------------------------- */
html body[data-theme="dark"] .post-meta-item-icon i {
  color: #aaa !important;
}
/* ---------------------------------------------------------
   4. 元数据链接 (分类、标签链接)
   --------------------------------------------------------- */
/* 亮色模式：链接显示为主题蓝 */
.post-meta-item a {
  color: #3b5998 !important;
  border-bottom: none !important; /* 去掉下划线，更干净 */
}
/* 深色模式：链接显示为亮蓝 (关键修复点) */
html body[data-theme="dark"] .post-meta-item a {
  color: #61afef !important;
  border-bottom: none !important;
}
/* 悬停效果：深色模式下鼠标放上去变白 */
html body[data-theme="dark"] .post-meta-item a:hover {
  color: #fff !important;
  text-decoration: underline;
}
/* ---------------------------------------------------------
   5. 修复阅读次数/字数统计 (Word Count / Busuanzi)
   --------------------------------------------------------- */
html body[data-theme="dark"] .post-meta-item span {
  color: #aaa !important;
}
/* =========================================================
   美化补丁：文章底部标签 (Tags) 胶囊样式
   ========================================================= */
/* 1. 基础样式 (亮色模式默认) */
.post-tags a {
  display: inline-block;
  padding: 3px 12px;
  margin: 5px 10px 5px 0;
/* 胶囊形状 */
  border-radius: 15px;
/* 颜色设置：浅蓝背景 + 深蓝文字 */
  background-color: rgba(59,89,152,0.1);
  color: #3b5998 !important;
  font-size: 0.85rem;
  border-bottom: none !important; /* 去掉默认下划线 */
  transition: all 0.2s ease-in-out;
}
/* 2. 鼠标悬停效果 (亮色) */
.post-tags a:hover {
  background-color: #3b5998; /* 背景变深 */
  color: #fff !important; /* 文字变白 */
  transform: translateY(-2px); /* 微微上浮特效 */
  box-shadow: 0 4px 8px rgba(59,89,152,0.2);
}
/* ---------------------------------------------------------
   3. 深色模式适配 (Dark Mode)
   --------------------------------------------------------- */
html body[data-theme="dark"] .post-tags a {
/* 深色下用亮蓝色的半透明背景 */
  background-color: rgba(97,175,239,0.15) !important;
  color: #61afef !important; /* 亮蓝文字 */
}
html body[data-theme="dark"] .post-tags a:hover {
  background-color: #61afef !important; /* 悬停变实心亮蓝 */
  color: #1e1e1e !important; /* 文字变黑，对比度更高 */
  box-shadow: 0 4px 10px rgba(97,175,239,0.3);
}
/* 4. 如果你想去掉标签前面的 # 号 (可选) */
/* .post-tags a::before { content: none; } */
/* =========================================================
   补丁：修复文章底部 "上一篇/下一篇" 导航链接
   ========================================================= */
/* 1. 基础重置：去掉默认的边框和杂乱样式 */
.post-nav-item a {
  border-bottom: none !important; /* 去掉默认下划线 */
  display: inline-block;
  line-height: 1.6;
  transition: all 0.2s ease-in-out;
}
/* ---------------------------------------------------------
   2. 亮色模式 (Light Mode)
   --------------------------------------------------------- */
.post-nav-item a {
  color: #3b5998 !important; /* 主题蓝 */
  font-weight: 600; /* 加粗一点 */
}
/* 鼠标悬停 */
.post-nav-item a:hover {
  color: #000 !important; /* 悬停变黑 */
  transform: translateX(2px); /* 微微移动，增加交互感 */
}
/* ---------------------------------------------------------
   3. 深色模式 (Dark Mode)
   --------------------------------------------------------- */
/* 默认状态：亮蓝色，清晰可见 */
html body[data-theme="dark"] .post-nav-item a {
  color: #61afef !important;
}
/* 鼠标悬停：变纯白 */
html body[data-theme="dark"] .post-nav-item a:hover {
  color: #fff !important;
  background: transparent !important; /* 防止背景突变 */
}
/* 4. 修复箭头图标 (< >) 的颜色 */
html body[data-theme="dark"] .post-nav-item i {
  color: #61afef !important;
}
/* =========================================================
   修正补丁：侧边栏目录 (TOC) - 自动换行适配版
   解决文字被截断成 "..." 的问题
   ========================================================= */
/*
/* 1. 基础容器与间距 */
.post-toc {
  font-size: 0.9rem;
}
.post-toc .nav-item {
  line-height: 1.4;
  margin: 2px 0; /* 减小上下间距，防止太散 */
}
/* 2. 链接样式 (关键修改：允许换行) */
.post-toc .nav-link {
  border-bottom: none !important;
  display: block;
  padding: 5px 10px;
  border-radius: 6px;
  transition: all 0.2s ease-in-out;
/* --- 关键修复：允许文字换行，不再截断 --- */
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word; /* 防止长单词撑破 */
}
/* 3. 序号样式 */
.post-toc .nav-number {
  color: #999;
  margin-right: 4px;
  display: none; /* 既然是极简风，建议直接隐藏序号(1.1, 1.2)，只看标题更清爽，如果不喜欢隐藏就把这行删掉 */
}
*
/* ---------------------------------------------------------
   4. 亮色模式 (Light Mode)
   --------------------------------------------------------- */
.post-toc .nav-link {
  color: #666 !important;
}
/* 悬停 */
.post-toc .nav-link:hover {
  background-color: rgba(0,0,0,0.05) !important;
  color: #3b5998 !important;
}
/* 激活 (当前阅读位置) */
.post-toc .active > .nav-link {
  background-color: rgba(59,89,152,0.1) !important;
  color: #3b5998 !important;
  font-weight: bold;
  border-left: 3px solid #3b5998 !important;
}
/* ---------------------------------------------------------
   5. 深色模式 (Dark Mode)
   --------------------------------------------------------- */
html body[data-theme="dark"] .post-toc .nav-link {
  color: #888 !important;
}
/* 悬停 */
html body[data-theme="dark"] .post-toc .nav-link:hover {
  background-color: rgba(255,255,255,0.1) !important;
  color: #fff !important;
}
/* 激活 (当前阅读位置) */
html body[data-theme="dark"] .post-toc .active > .nav-link {
  background-color: rgba(97,175,239,0.2) !important; /* 亮蓝半透明背景 */
  color: #61afef !important; /* 亮蓝文字 */
  font-weight: bold;
  border-left: 3px solid #61afef !important;
}
/*
/* =========================================================
   补丁：长目录 (Long TOC) 滚动修复
   确保目录太长时会出现滚动条，而不会被遮挡
   ========================================================= */
/* 1. 限制目录区域的最大高度，并开启滚动 */
.sidebar-panel-container,
.post-toc-wrap {
/* 限制高度：屏幕高度 - 顶部头像区域预留高度 (约200px) */
  max-height: calc(100vh - 200px) !important;
/* 关键：内容溢出时自动显示滚动条 */
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
/* 2. 美化这个内部滚动条 (让它极细，不影响美观) */
/* Chrome/Edge/Safari */
.sidebar-panel-container::-webkit-scrollbar,
.post-toc-wrap::-webkit-scrollbar {
  width: 4px; /* 只有 4px 宽，很精致 */
}
/* 滚动条轨道 (透明) */
.sidebar-panel-container::-webkit-scrollbar-track,
.post-toc-wrap::-webkit-scrollbar-track {
  background: transparent;
}
/* 滚动条滑块 (半透明黑/白) */
.sidebar-panel-container::-webkit-scrollbar-thumb,
.post-toc-wrap::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.15);
  border-radius: 2px;
}
/* 3. 深色模式下的滚动条颜色适配 */
html body[data-theme="dark"] .sidebar-panel-container::-webkit-scrollbar-thumb,
html body[data-theme="dark"] .post-toc-wrap::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.2); /* 半透明白 */
}
/* 4. 给底部留一点呼吸空间，防止最后一个标题贴底 */
.post-toc {
  padding-bottom: 20px !important;
}
*
/* =========================================================
   美化补丁：文章图片自适应 (Responsive Images)
   功能：自动缩放、居中、圆角、深色模式护眼
   ========================================================= */
/* 1. 全局图片容器样式 */
.post-body img {
/* 核心：限制最大宽度，高度自动 */
  max-width: 100%;
  height: auto;
/* 布局：强制块级显示并居中 */
  display: block;
  margin: 20px auto;
/* 风格：圆角 + 边框 */
  border-radius: 8px;
  border: 1px solid transparent; /* 占位，防止抖动 */
/* 动画：透明度过渡 */
  transition: all 0.3s ease;
}
/* ---------------------------------------------------------
   2. 亮色模式 (Light Mode) 
   --------------------------------------------------------- */
.post-body img {
/* 给图片加一点淡淡的投影，增加立体感 */
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}
/* ---------------------------------------------------------
   3. 深色模式 (Dark Mode) - 护眼模式
   --------------------------------------------------------- */
html body[data-theme="dark"] .post-body img {
/* 关键：降低图片亮度！ */
/* 防止白底图片在黑夜里太刺眼，设为 0.8 (80%亮度) */
  filter: brightness(0.8);
/* 深色模式下的阴影 */
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
/* 鼠标悬停时，恢复 100% 亮度，方便看清细节 */
html body[data-theme="dark"] .post-body img:hover {
  filter: brightness(1);
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
}
*
.post-tags a {
  padding: 6px 14px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  margin: 6px;
  display: inline-block;
  color: #333 !important;
  font-size: 0.85em;
  transition: all 0.2s ease;
}
.post-tags a:hover {
  background: #f7f7f7;
  border-color: rgba(0,0,0,0.15);
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}
.tag-list a {
  display: inline-block;
  margin: 8px;
  padding: 8px 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  color: #333 !important;
  font-size: 0.9em;
  transition: all 0.2s ease;
}
.tag-list a:hover {
  background: #f5f5f5;
  border-color: rgba(0,0,0,0.15);
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}
/* === Tags Cloud Card Style (Dark Mode) === */
.tag-cloud a {
  display: inline-block;
  padding: 6px 12px;
  margin: 6px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(6px);
  border-radius: 10px;
  color: #ddd;
  font-weight: 500;
  transition: all 0.25s ease;
  text-decoration: none;
}
.tag-cloud a:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.2);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.35);
}
/* =========================================================
   修复：Categories 分类页卡片样式 (Light & Dark)
   核心逻辑：将 li 标签作为卡片容器，包含文字和数字
   ========================================================= */
/* 1. 列表容器初始化 */
.category-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center; /* 让卡片居中排列 */
}
/* 2. 单个卡片 (.category-list-item) - 亮色模式默认 */
.category-list-item {
  display: inline-flex; /* 让内容横向排列 */
  align-items: center; /* 垂直居中 */
  justify-content: space-between;
  margin: 10px;
  padding: 5px 15px; /* 卡片内边距 */
  background: #fff;
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
  cursor: pointer;
}
/* 3. 卡片里的链接文字 (a) */
.category-list-link {
  color: #333 !important;
  border-bottom: none !important;
  font-weight: 500;
  margin-right: 10px; /* 文字和数字之间的距离 */
}
/* 4. 卡片里的数字 (span) */
.category-list-count {
  background: rgba(0,0,0,0.05); /* 数字有个灰色小圆底 */
  padding: 2px 8px;
  border-radius: 10px;
  color: #666;
  font-size: 0.85em;
}
/* 5. 亮色模式悬停效果 */
.category-list-item:hover {
  background: #f0f7ff; /* 悬停变淡蓝 */
  transform: translateY(-3px);
  box-shadow: 0 8px 15px rgba(0,0,0,0.1);
}
.category-list-item:hover .category-list-link {
  color: #3b5998 !important; /* 文字变蓝 */
}
.category-list-item:hover .category-list-count {
  background: #3b5998;
  color: #fff; /* 数字变蓝底白字 */
}
/* ---------------------------------------------------------
   6. 深色模式适配 (Dark Mode)
   --------------------------------------------------------- */
/* 深色卡片容器 */
html body[data-theme="dark"] .category-list-item {
  background: rgba(255,255,255,0.05) !important; /* 半透明玻璃感 */
  border: 1px solid rgba(255,255,255,0.1) !important;
  box-shadow: none !important;
  backdrop-filter: blur(5px);
}
/* 深色链接文字 */
html body[data-theme="dark"] .category-list-link {
  color: #e0e0e0 !important;
}
/* 深色数字 */
html body[data-theme="dark"] .category-list-count {
  background: rgba(255,255,255,0.1);
  color: #aaa;
}
/* 深色悬停效果 */
html body[data-theme="dark"] .category-list-item:hover {
  background: rgba(97,175,239,0.2) !important; /* 悬停变亮蓝 */
  border-color: #61afef !important;
  transform: translateY(-3px);
}
html body[data-theme="dark"] .category-list-item:hover .category-list-link {
  color: #fff !important;
}
html body[data-theme="dark"] .category-list-item:hover .category-list-count {
  background: #61afef;
  color: #fff;
}
/* 默认亮色模式 */
.leetcode-trend {
  color: #4caf50 /* 亮色模式折线和文本颜色 */;
}
/* 暗色模式 */
[data-theme="dark"] .leetcode-trend {
  color: #8bc34a /* 暗色模式折线和文本颜色 */;
}
.hitokoto-container {
  margin-top: 20px;
  padding: 12px 15px;
  background-color: rgba(0,0,0,0.03); /* 淡淡的灰 */
  border-radius: 8px;
  text-align: center;
  font-size: 0.85rem;
  color: #666; /* 文字颜色 */
  transition: all 0.3s ease;
}
/* 2. 引号图标样式 */
.hitokoto-container i {
  color: #999;
  margin: 0 5px;
  opacity: 0.6;
}
/* 3. 深色模式 (Dark Mode) */
html body[data-theme="dark"] .hitokoto-container {
  background-color: rgba(255,255,255,0.05) !important; /* 淡淡的白 */
  color: #aaa !important; /* 浅灰文字 */
}
html body[data-theme="dark"] .hitokoto-container i {
  color: #777 !important;
}
/* =========================================================
   修复补丁：侧边栏高度自适应 (解决 LeetCode 统计导致的滚动条)
   ========================================================= */
/* 1. 让侧边栏的大容器 (.sidebar-inner) 解除高度限制 */
.sidebar-inner {
  height: auto !important;
  max-height: none !important; /* 关键：去掉最大高度限制，让卡片被内容撑开 */
}
/* 2. 专门针对“作者信息/站点概览”区域 (.site-overview-wrap) */
.site-overview-wrap {
  height: auto !important;
  max-height: none !important;
  overflow-y: visible !important; /* 强制去掉滚动条，完整显示所有内容 */
}
/* 3. 但是！“文章目录” (.post-toc-wrap) 依然需要限制高度 */
/* 否则目录太长会把页面撑得无限长 */
.post-toc-wrap {
  max-height: 70vh !important; /* 目录区域最多占屏幕的 70% */
  overflow-y: auto !important; /* 只有目录由于太长时才出现滚动条 */
}
/* 4. 针对 sidebar-panel-container 的通用修复 */
.sidebar-panel-container {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
/* =========================================================
   修正补丁：移动端 (小屏幕) 侧边栏去黑修复
   逻辑：亮色用纯白背景，深色用深灰背景，覆盖默认的 #222
   ========================================================= */
@media (max-width: 991px) {
  html body .sidebar {
/* 强制改成纯白，不再是默认的 #222 黑 */
    background-color: #fff !important;
/* 加个阴影，让它和下面的文章区分开 */
    box-shadow: 0 0 20px rgba(0,0,0,0.2) !important;
/* 确保里面的文字是深色的 */
    color: #333 !important;
  }
  html body[data-theme="dark"] .sidebar {
/* 强制改成深灰卡片色 */
    background-color: #1e1e1e !important;
/* 加深色阴影 */
    box-shadow: 0 0 20px rgba(0,0,0,0.6) !important;
  }
  html body .sidebar-inner {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
}
/* =========================================================
   修复：图片容器 (Figure) 与标题 (Caption) 双模式适配
   ========================================================= */
/* ---------------------------------------------------------
   1. 通用基础样式 (布局与动画)
   --------------------------------------------------------- */
figure {
  margin: 2em auto;
  padding: 10px;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}
figure img {
  border-radius: 8px;
  display: block;
  width: 100%;
  height: auto;
  transition: all 0.3s ease;
}
/* 鼠标悬停图片时的效果 */
figure img:hover {
  transform: scale(1.02); /* 微微放大 */
  box-shadow: 0 8px 24px rgba(0,0,0,0.2); /* 加阴影立体感 */
}
/* 图片下方的说明文字 (Caption) */
figcaption {
  margin-top: 10px;
  text-align: center;
  font-size: 0.9em;
  font-style: italic;
  font-family: serif; /* 使用衬线体更有质感 */
}
/* ---------------------------------------------------------
   2. 亮色模式 (Light Mode) 配色
   --------------------------------------------------------- */
figure {
  background: #f9f9f9; /* 浅灰背景 */
  border: 1px solid #eaeaea; /* 浅灰边框 */
}
figcaption {
  color: #555; /* 深灰文字，保证白底能看清 */
}
/* ---------------------------------------------------------
   3. 深色模式 (Dark Mode) 配色
   --------------------------------------------------------- */
html body[data-theme="dark"] figure {
  background: rgba(255,255,255,0.03) !important; /* 你想要的微透白背景 */
  border: 1px solid rgba(255,255,255,0.08) !important; /* 微透白边框 */
}
html body[data-theme="dark"] figcaption {
  color: #bbb !important; /* 浅灰文字，黑底能看清 */
  opacity: 0.85;
}
html body[data-theme="dark"] figure img:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.6) !important; /* 深色模式阴影更重 */
}
/* =========================================================
   紧急修复：谷歌浏览器亮色模式下图片“朦胧”问题
   原因：系统深色模式样式“污染”了手动切换的亮色模式
   ========================================================= */
/* 
   逻辑翻译：
   “只要 HTML 标签上没有 data-theme='dark' 这个属性”
   “（也就是处于亮色/默认模式时）”
   “所有图片强制不透明，强制无滤镜”
*/
html body:not([data-theme="dark"]) img,
html body:not([data-theme="dark"]) .post-body img,
html body:not([data-theme="dark"]) figure img {
  opacity: 1 !important; /* 拒绝 0.75 透明度，强制 1.0 */
  filter: none !important; /* 拒绝变灰滤镜 */
  mix-blend-mode: normal !important;
}
/* 
   修复鼠标悬停时的闪烁 
   (防止鼠标放上去突然变亮/变暗)
*/
html body:not([data-theme="dark"]) img:hover,
html body:not([data-theme="dark"]) .post-body img:hover {
  opacity: 1 !important;
  filter: none !important;
}
/* 
   专门针对 Figure 容器里的图片 (如果用了刚才的代码)
   确保亮色模式下阴影是干净的黑灰色，而不是发糊
*/
html body:not([data-theme="dark"]) figure img {
  box-shadow: none; /* 默认无阴影，看起更清爽 */
}
/* 鼠标放上去只加阴影，不改变透明度 */
html body:not([data-theme="dark"]) figure img:hover {
  opacity: 1 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
}
/* =========================================================
   系统深色模式屏蔽补丁 (Anti-System-Dark-Mode)
   目的：强制 Chrome/Edge 忽略系统深色设置，完全由网页按钮控制
   ========================================================= */
/* 监听：当浏览器处于系统级深色模式时 */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="dark"]) {
    --bg-body: #f5f7f9 !important;
    --bg-card: #fff !important;
    --text-main: #333 !important;
    --text-sec: #666 !important;
    --theme-color: #3b5998 !important;
    --link-color: #3b5998 !important;
    --code-bg: #f6f8fa !important;
/* Next 主题自带的一些变量也要重置，防止漏网之鱼 */
    --body-bg-color: #f5f7f9 !important;
    --content-bg-color: #fff !important;
    --text-color: #333 !important;
    --link-color: #3b5998 !important;
  }
  html body:not([data-theme="dark"]) img,
  html body:not([data-theme="dark"]) .post-body img,
  html body:not([data-theme="dark"]) figure img {
    opacity: 1 !important;
    filter: none !important;
    transition: none !important;
  }
  html body:not([data-theme="dark"]) .header-inner,
  html body:not([data-theme="dark"]) .sidebar-inner,
  html body:not([data-theme="dark"]) .post-block,
  html body:not([data-theme="dark"]) .comments {
    background: #fff !important;
    color: #333 !important;
  }
  html body:not([data-theme="dark"]) .sidebar {
    background-color: #fff !important;
    box-shadow: 0 0 20px rgba(0,0,0,0.2) !important;
  }
}
/* 仅当目录超长时才需要加回这三行 */
.post-toc-wrap {
  max-height: 80vh !important; /* 限制最大高度 */
  overflow-y: auto !important; /* 超出则滚动 */
}
/* 6. 滚动条美化 */
.post-toc-wrap::-webkit-scrollbar {
  width: 5px !important;
}
.post-toc-wrap::-webkit-scrollbar-thumb {
  background: rgba(136,136,136,0.4) !important;
  border-radius: 3px !important;
}
.post-toc .nav {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
/* 4. 确保所有子菜单 (二级目录) 都是展开的 */
.post-toc .nav-child {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}
/* =========================================================
   V23.0 终极无缝版 (仿第二张图：实心、紧贴、极简)
   ========================================================= */
/* ---------------------------------------------------------
   Part 1: Webkit 内核 (Chrome / Edge / Safari)
   ---------------------------------------------------------
*/
/* 1. 基础尺寸：设定为极细宽度 (例如 6px) */
/* 这个宽度就是最终看见的滑块宽度，没有多余空间 */
::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
}
/* 2. 轨道背景：完全透明，且不设圆角 */
::-webkit-scrollbar-track {
  background: transparent !important;
/* 移除圆角，让轨道彻底隐形 */
  border-radius: 0 !important;
}
/* 3. 滑块 (Thumb) - 亮色模式 (Light Mode) */
::-webkit-scrollbar-thumb {
/* 放弃悬浮结构，改为实心填充 */
  background-color: rgba(0,0,0,0.3) !important; /* 稍微深一点，增加辨识度 */
/* 圆角拉满，形成两端圆润的长条 */
  border-radius: 6px !important;
/* 移除之前的边框和裁剪属性 */
  border: none !important;
  background-clip: border-box !important;
}
/* 4. 【亮色模式】悬停 (Hover) - 变主题蓝 */
::-webkit-scrollbar-thumb:hover {
  background-color: #3b5998 !important; /* 主题深蓝 */
/* 保持无边框 */
  border: none !important;
}
/* 5. 【暗色模式】 (Dark Mode) - 强制穿透 */
html:has(body[data-theme="dark"]) *::-webkit-scrollbar-thumb,
html:has(body[data-theme="dark"]) ::-webkit-scrollbar-thumb {
/* 实心半透明白 */
  background-color: rgba(255,255,255,0.4) !important;
/* 实心结构 */
  border-radius: 6px !important;
  border: none !important;
  background-clip: border-box !important;
}
/* 6. 【暗色模式】悬停 (Hover) - 变亮蓝 */
html:has(body[data-theme="dark"]) *::-webkit-scrollbar-thumb:hover,
html:has(body[data-theme="dark"]) ::-webkit-scrollbar-thumb:hover {
  background-color: #61afef !important; /* 主题亮蓝 */
  border: none !important;
}
/* 角落透明 */
::-webkit-scrollbar-corner {
  background: transparent !important;
}
/* ---------------------------------------------------------
   Part 2: Firefox 物理隔离
   ---------------------------------------------------------
*/
@-moz-document url-prefix() {
  html {
    scrollbar-width: thin; /* 火狐自带的细模式就很像了 */
    scrollbar-color: rgba(0,0,0,0.3) transparent;
  }
  html:has(body[data-theme="dark"]) {
    scrollbar-color: rgba(255,255,255,0.4) transparent;
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}
