/*
 * Mainroad (UOF) for Typecho
 * 样式基线取自 University-Of-Fool/halo-theme-mainroad-uof (GPLv2) 的 src/css/core.css，
 * 即 https://uof.ferris.love/ 所使用的主题样式；其余 Typecho 组件样式为移植补充。
 * 原主题链：Vimux/Mainroad (Hugo) -> MH Magazine lite (WordPress)
 */

:root {
  --highlightColor: #b22121;
  /* Typecho 适配层使用的同义变量 */
  --highlight-color: var(--highlightColor);
  --font-serif: var(--font-sans);
  --font-sans: "Red Hat Display", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --fontFamilyPrimary: var(--font-serif);
  --fontFamilySecondary: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  color-scheme: light dark;
  --halo-search-widget-primary-color: var(--highlightColor);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

:focus::-webkit-input-placeholder {
  color: transparent;
}

:focus::-moz-placeholder {
  color: transparent;
}

:focus:-moz-placeholder {
  color: transparent;
}

:focus:-ms-input-placeholder {
  color: transparent;
}

/* Structure */
html {
  font-size: 100%;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  margin: 0;
  font-family: var(--fontFamilyPrimary);
  line-height: 1.6;
  word-wrap: break-word;
  background: var(--highlightColor);
  -webkit-font-smoothing: antialiased;
}

.container {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

.container--outer {
  margin: 0 auto;
  box-shadow: none;
}

.wrapper {
  padding: 25px;
  background: #fff;
}

.flex {
  display: -webkit-flex;
  display: flex;
}

.page-bar {
  display: flex;
  justify-content: space-between;
  margin: 1rem 0;
}

.page-bar a {
  font-weight: 600;
}

.archive-month {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  margin: 2rem 0 4rem 1rem;
}

.archive-month .month-text {
  display: flex;
}

.archive-month .month-text span {
  margin: auto 0;
  font-size: 1rem;
  font-weight: 600;
  padding: 0 1rem;
}

.thumbnail__image {
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
}

.thumbnail__image:hover {
  transform: rotate(5deg) scale(1.1);
  transition: 0.3s;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transform: rotate(5deg) scale(1.1);
  -moz-transform: rotate(5deg) scale(1.1);
  -ms-transform: rotate(5deg) scale(1.1);
  -o-transform: rotate(5deg) scale(1.1);
}

.archive-month::before {
  content: "";
  left: 0;
  position: absolute;
  border: 1px dashed var(--highlightColor);
  height: 100%;
}

.archive-month>div {
  display: flex;
}

.archive-month .month-post ul {
  list-style: none;
}

.archive-month .month-post li {
  padding: 0.25rem 0;
}

.archive-month .month-post ul a {
  font-size: 0.875rem;
}

.archive-month .month-post ul a:hover {
  font-weight: 700;
}

.archive-month .month-post {
  padding-left: 1rem;
}

.photos_menu {
  display: flex;
}

.photos_menu ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.photos_menu ul li {
  padding: 0.25rem 0.5rem;
}

.photos_menu ul li a.active,
.photos_menu ul li a:hover {
  color: var(--highlightColor);
  font-weight: 700;
  position: relative;
}

.photos_menu ul li a.active::before {
  content: "";
  position: absolute;
  border: 1px solid var(--highlightColor);
  bottom: -0.25rem;
  left: 0;
  right: 0;
}

@media screen and (min-width: 640px) {
  .photos_content {
    column-count: 2;
  }
}

@media screen and (min-width: 768px) {
  .photos_content {
    column-count: 3;
  }
}

@media screen and (min-width: 1024px) {
  .photos_content {
    column-count: 4;
  }

  .menu__list {
    justify-content: center;
  }
}

@media screen and (min-width: 1280px) {
  .photos_content {
    column-count: 5;
  }
}

.photos_content {
  /* column-count: 5; */
  column-gap: 0.5rem;
}

.photos_content div {
  border-radius: 0.125rem;
  -webkit-border-radius: 0.125rem;
  -moz-border-radius: 0.125rem;
  -ms-border-radius: 0.125rem;
  -o-border-radius: 0.125rem;
  border: 1px solid var(--highlightColor);
  margin-bottom: 0.5rem;
}

.photos_content img {
  display: block;
  width: 100%;
  cursor: pointer;
}

.overlay {
  display: none;
  /* 初始状态隐藏 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  background-color: rgba(0, 0, 0, 0.7);
}

.moments_menu {
  display: flex;
  margin-bottom: 1rem;
}

.moments_menu ul {
  list-style: none;
  display: inline-flex;
  flex-direction: row;
  gap: 1rem;
  flex-wrap: wrap;
}

.moments_menu ul li {
  position: relative;
  background: #2a2a2a;
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
}

.moments_menu ul li.active {
  background-color: var(--highlightColor);
}

.moments_menu ul li a {
  padding: 0 0.75rem;
  line-height: 2rem;
  color: #fff;
}

.moments_menu ul li .flag {
  position: absolute;
  right: 0;
  background-color: #fff;
  z-index: 1;
  color: #2a2a2a;
  top: 0;
  font-weight: 600;
  line-height: 1rem;
  transform: translateX(50%) translateY(-50%);
  font-size: 0.5rem;
  padding: 0 0.5rem;
  border: 1px solid #eee;
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
  -webkit-transform: translateX(50%) translateY(-50%);
  -moz-transform: translateX(50%) translateY(-50%);
  -ms-transform: translateX(50%) translateY(-50%);
  -o-transform: translateX(50%) translateY(-50%);
}

.moments_content {
  margin-top: 2rem;
}

.moments_content ul {
  list-style: none;
}

.moments_content ul li {
  display: flex;
  gap: 1rem;
}

.moments_content ul li .avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  -webkit-border-radius: 9999px;
  -moz-border-radius: 9999px;
  -ms-border-radius: 9999px;
  -o-border-radius: 9999px;
}

.moments_content ul li .tag:before {
  content: "#";
}

.moments_content ul li .tag {
  display: inline-flex;
  align-items: center;
  column-gap: 0.375rem;
  border-radius: 9999px;
  background-color: rgba(9, 105, 218, 0.1);
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  color: rgba(9, 105, 218, 0.8);
}

.moments_content .moments_html {
  width: 100%;
}

.moments_content .moments_html .main_medium {
  gap: 0.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  display: grid;
  /* margin-top: 1rem; */
}

@media screen and (min-width: 640px) {
  .moments_content .moments_html .main_medium {
    width: 50%;
  }
}

.moments_content .moments_html .main_medium>div {
  --tw-aspect-w: 1;
  --tw-aspect-h: 1;
  padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
  position: relative;
}

.moments_content .moments_html .main_medium>div * {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.moments_content .moments_html .main_medium>div video {
  object-fit: cover;
  border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  -ms-border-radius: 0.5rem;
  -o-border-radius: 0.5rem;
}

.moments_content .moments_html .main_medium>div .icon {
  width: 2rem;
  height: 2rem;
  margin: auto auto;
}

.moments_content .moments_html .main_medium>div .icon_controls {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.moments_content .moments_html .main_medium>div .icon_controls:hover {
  opacity: 0.7;
}

.moments_content .moments_html .main_medium img {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  object-fit: cover;
  border-radius: 0.5rem;
  cursor: pointer;
}

.moments_content .moments_html .tool-bar {
  display: flex;
  gap: 1rem;
  margin: 0.75rem 0;
  font-size: 0.75rem;
  font-weight: 300;
}

.moments_content .moments_html .tool-bar>div {
  display: flex;
  gap: 0.25rem;
}

.moments_content .moments_html .tool-bar svg {
  margin: auto 0;
}

.comment_card {
  display: none;
}

.show {
  display: block;
}

.image-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.video-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20rem 10rem;
}

.close-btn {
  position: absolute;
  right: 0.125rem;
  top: 0.125rem;
  cursor: pointer;
}

.overlay .page-btn {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 2rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}

.overlay .page-btn a {
  cursor: pointer;
}

.image-box>img {
  /* max-width: 90vw; */
  max-width: 95vw;
  max-height: 90vh;
}

.link-content {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.link-group-content {
  margin-top: 1.5rem;
  display: grid;
  gap: 1rem;
}

.inline-grid {
  display: inline-grid;
}

.link-group-content .group-content {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  -ms-border-radius: 0.5rem;
  -o-border-radius: 0.5rem;
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

.link-group-content .group-content img {
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  -webkit-border-radius: 9999px;
  -moz-border-radius: 9999px;
  -ms-border-radius: 9999px;
  -o-border-radius: 9999px;
  object-fit: fill;
  vertical-align: middle;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.text-center {
  text-align: center;
}

.link-group-content .group-content:hover {
  border-color: rgb(0 0 0 / 0.75);
}

.link-group-content .group-content:hover img {
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.3);
}

.link-group-content .group-content .title {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #000;
  display: block;
}

.link-group-content .group-content .desc {
  color: rgb(0 0 0 / 0.6);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

@media screen and (min-width: 640px) {
  .link-group-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .link-group-content {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1024px) {
  .link-group-content {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1280px) {
  .link-group-content {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.widget__link:hover {
  font-weight: 700;
}

/* .archive-month > div{
  border-top: 1px dashed var(--highlightColor);
  border-bottom: 1px dashed var(--highlightColor);
}

.archive-month .month-text{
  border-right: 1px dashed var(--highlightColor);
} */

.primary {
  -webkit-flex: 1 0 65.83%;
  flex: 1 0 65.83%;
  -webkit-order: 1;
  order: 1;
  min-width: 0;
}

.sidebar {
  -webkit-flex: 1 0 31.66%;
  flex: 1 0 31.66%;
  -webkit-order: 2;
  order: 2;
  min-width: 0;
  margin: 0 0 0 2.5%;
}

.sidebar--left {
  -webkit-order: 0;
  order: 0;
  margin: 0 2.5% 0 0;
}

.clearfix {
  display: block;
}

.clearfix::after {
  display: block;
  height: 0;
  padding: 0;
  margin: 0;
  clear: both;
  line-height: 0;
  visibility: hidden;
  content: "";
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* Button */
.btn {
  padding: 5px 10px;
  font-weight: 700;
  color: #fff;
  white-space: pre-line;
  background: #2a2a2a;
}

.tag-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.tag-content .widget__content {
  display: flex;
  gap: 1rem;
}

.tag-content .widget__content a {
  display: flex;
  flex-direction: row;
}

.tag-content .widget__content a:hover {
  transform: scale(1.5);
  -webkit-transform: scale(1.5);
  -moz-transform: scale(1.5);
  -ms-transform: scale(1.5);
  -o-transform: scale(1.5);
}

.btn:hover,
.btn.active {
  color: #fff;
  background: var(--highlightColor);
}

/* Animation */
.menu__item,
.btn {
  transition: background-color 0.25s ease-out;
}

.menu__list>li {
  transition: background-color 0.25s ease-out;
}

.menu__list>li:hover {
  background: var(--highlightColor);
}

.menu__list>li:first-child {
  border: 0;
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-sans);
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  color: #000;
}

h1 {
  font-size: 32px;
  font-size: 2rem;
}

h2 {
  font-size: 24px;
  font-size: 1.5rem;
}

h3 {
  font-size: 20px;
  font-size: 1.25rem;
}

h4 {
  font-size: 18px;
  font-size: 1.125rem;
}

h5 {
  font-size: 16px;
  font-size: 1rem;
}

h6 {
  font-size: 16px;
  font-size: 1rem;
}

a {
  color: #000;
  text-decoration: none;
  transition-property: color;
  transition-duration: 0.2s;
}

a:hover {
  color: var(--highlightColor);
}

hr {
  margin: 0 0 20px;
  border: 0;
  border-top: 1px solid #dadada;
}

p {
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
}

b,
strong {
  font: inherit;
  font-weight: 700;
}

i,
em {
  font: inherit;
  font-style: italic;
}

ol,
ul {
  padding: 0;
  margin: 0;
}

small {
  font-size: 12px;
  font-size: 0.75rem;
}

mark {
  background-color: #fd5;
}

figure {
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
}

figcaption {
  margin-top: 4px;
  margin-top: 0.25rem;
  color: #666;
}

figcaption h4 {
  margin: 0;
  color: inherit;
}

pre,
code,
kbd,
samp {
  font-family: var(--fontFamilySecondary);
  font-size: inherit;
}

pre,
code {
  background-color: #f5f5f5;
  border: 1px solid #ebebeb;
}

code {
  padding: 0 5px;
  color: #c33;
}

pre {
  display: block;
  padding: 0;
  padding: 1.25rem;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  overflow: auto;
  color: #000;
}

pre code {
  padding: 0;
  color: inherit;
  white-space: inherit;
  background: inherit;
  border: 0;
}

kbd {
  padding: 2px 3px;
  color: #fff;
  background-color: #2a2a2a;
}

blockquote {
  display: block;
  padding: 5px 0 5px 15px;
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
  line-height: 1.6;

  border-left: 5px solid var(--highlightColor);
}

blockquote p:last-child {
  margin: 0;
}

blockquote footer {
  text-align: right;
}

sup,
sub {
  font-size: 10px;
  font-size: 0.625rem;
  font-style: normal;
}

sup {
  vertical-align: super;
}

sub {
  vertical-align: sub;
}

abbr[title] {
  text-decoration: none;
  cursor: help;
  border-bottom: 1px dotted #000;
}

q {
  font-style: italic;
}

address {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  font-family: "Consolas", Courier New, Courier, monospace;
  line-height: 1.5;
}

dl {
  margin: 0 0 10px 20px;
}

dt,
dd {
  display: list-item;
}

dt {
  font-weight: bold;
  list-style-type: square;
}

dd {
  margin-left: 20px;
  list-style-type: circle;
}

select {
  max-width: 100%;
}

.warning {
  padding: 20px 10px;
  text-align: center;
  border: 1px solid #ddd;
}

.warning__icon {
  margin-bottom: 20px;
  fill: #ddd;
}

/* Header */
.header {
  background: #fff;
}

.logo {
  text-align: center;
  padding: 25px;
}

.logo__link {
  display: inline-block;
}

.logo__item {
  display: inline-block;
  vertical-align: middle;
}

.logo__img {
  max-height: 6rem;
}

.logo__text {
  font: size 2rem;
}

.logo--mixed .logo__item {
  margin: 0.5rem auto;
}

.logo--mixed .logo__img {
  max-width: 4rem;
  max-height: 4rem;
}

.logo--mixed .logo__text {
  padding: 0 1rem;
}

.logo__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
}

.logo__tagline {
  display: inline-block;
  padding-top: 10px;
  margin-top: 10px;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;

  color: var(--highlightColor);
  border-top: 1px solid #ebebeb;
}

.divider {
  height: 5px;
  margin: 0;

  background: var(--highlightColor);
  border: 0;
}

/* Main menu */
.no-js .menu__btn {
  display: none;
}

.menu__btn {
  display: block;
  width: 100%;
  padding: 0;
  font: inherit;
  color: #fff;
  background: #2a2a2a;
  border: 0;
  outline: 0;
}

.menu__btn-title {
  position: relative;
  display: block;
  padding: 10px 15px;
  padding: 0.625rem 0.9375rem;
  font-weight: 700;
  text-align: center;
  /* text-transform: uppercase; */
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

:focus>.menu__btn-title {
  box-shadow: inset 0 0 1px 3px var(--highlightColor);
}

button:not(:-moz-focusring):focus>.menu__btn-title {
  box-shadow: none;
}

.menu__btn:focus,
.menu__btn-title:focus {
  outline: 0;
}

.js .menu__btn--active {
  color: var(--highlightColor);
}

.menu__list {
  list-style: none;
  background: #2a2a2a;
}

.menu__item:hover {
  background: var(--highlightColor);
}

.menu__item:first-child {
  border: 0;
}

.menu__item--active {
  background: var(--highlightColor);
}

.menu__link {
  display: block;
  padding: 10px 15px;
  padding: 0.625rem 0.9375rem;
  font-weight: 700;
  color: #fff;
  /* text-transform: uppercase; */
}

.menu__link:hover {
  color: #fff;
}

.js .menu__list {
  position: absolute;
  z-index: 1;
  width: 100%;
  visibility: hidden;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: top left;
  transform-origin: top left;
}

.js .menu__list--active {
  visibility: visible;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

.menu__list--transition {
  transition: visibility 0.15s ease, transform 0.15s ease, -webkit-transform 0.15s ease;
}

@media screen and (min-width: 767px) {
  .menu {
    border-bottom: 5px solid var(--highlightColor);
  }

  .menu__btn {
    display: none;
  }

  .menu__list,
  .js .menu__list {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    visibility: visible;
    border: 0;
    -webkit-transform: none;
    transform: none;
  }

  .menu__item {
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }

  .menu__list>li {
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }
}

/* Posts/Pages */
.post__header,
.main__header {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}

.main__title {
  font-size: 28px;
  font-size: 1.75rem;
}

.main__content {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}

.meta {
  font-size: 13px;
  font-size: 0.8125rem;
  vertical-align: baseline;
}

.meta,
.meta a {
  color: #666;
}

.meta a:hover {
  color: var(--highlightColor);
}

.meta__item {
  display: inline;
  margin-left: 15px;
}

.meta__item:first-child {
  margin-left: 0;
}

.meta__icon {
  margin-right: 5px;
  vertical-align: middle;
  fill: #c4c4c4;
}

.meta__text {
  vertical-align: middle;
}

.post__title {
  margin: 0;
}

.post__meta {
  padding: 5px 0;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media(prefers-color-scheme: dark) {
  .post__meta-box {
    border-color: #333;
    color: #333;

    .post__meta-avatar img {
      filter: brightness(80%);
    }

    .post__meta-author-info {
      color: #ccc;

      .post__meta-author-name {
        color: #eee;
      }
    }
  }
}

@media(prefers-color-scheme: light) {
  .post__meta-box {
    border-color: #ddd;
    color: #ddd;

    .post__meta-author-info {
      color: #555;

      .post__meta-author-name {
        color: #222;
      }
    }
  }
}

.post__meta-box {
  border: 1px solid;

  .post__meta-innerbox {
    display: flex;
    flex-direction: row;
    padding: 10px 15px;
    align-items: center;
  }

  .post__meta-avatar img {
    height: 4.5rem;
    border-radius: 10%;
  }

  .post__meta-author-divider {
    width: 2px;
    height: 4.5rem;
    background-color: var(--highlightColor);
    margin: 0 15px;
  }

  .post__meta-author-info {
    display: flex;
    flex-direction: column;

    .post__meta-author-name {
      font-family: var(--font-sans);
      font-size: 1.5rem;
      font-weight: 600;
    }
  }
}

.post__lead {
  margin-top: 4px;
  margin-top: 0.25rem;
  margin-bottom: 0;
  font-size: 16px;
  font-size: 1rem;
  font-style: italic;
}

.post__thumbnail {
  max-width: 1030px;
  margin: 0 0 20px;
  margin-bottom: 0 0 1.25rem;
}

.post__thumbnail img {
  width: 100%;
}

.content {
  flex-grow: 1;
}

.content a,
.warning a,
.authorbox__description a {
  font-weight: 700;
  color: var(--highlightColor);
}

.content a:hover,
.warning a:hover,
.authorbox__description a:hover {
  color: var(--highlightColor);
  text-decoration: underline;
}

.content .alignnone {
  display: block;
  margin: 20px 0;
  margin: 1.25rem 0;
}

.content .aligncenter {
  display: block;
  margin: 20px auto;
  margin: 1.25rem auto;
}

.content .alignleft {
  display: inline;
  float: left;
  margin: 5px 20px 20px 0;
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

.content .alignright {
  display: inline;
  float: right;
  margin: 5px 0 20px 20px;
  margin: 0.3125rem 0 1.25rem 1.25rem;
}

.content ul {
  list-style: square;
}

.content ol {
  list-style: decimal;
}

.content ul,
.content ol {
  margin: 0 0 20px 40px;
}

.content ul ul,
.content ol ol,
.content ol ul,
.content ul ol {
  margin: 0 0 0 40px;
}

.content li {
  margin-bottom: 5px;
}

.post__footer {
  margin-top: 20px;
  margin-top: 1.25rem;
}

/* Post tags */
.tags {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  color: #fff;
}

.tags__list {
  list-style: none;
}

.tags__item {
  float: left;
  margin: 0 6px 6px 0;
  margin: 0 0.375rem 0.375rem 0;
  /* text-transform: uppercase; */
  background: #2a2a2a;
}

.tags__item:hover {
  background: var(--highlightColor);
}

.tags__link,
.tags__link:hover {
  display: block;
  padding: 10px 15px;
}

.tags__badge {
  float: left;
  width: 32px;
  height: 32px;
  padding: 8px;
  margin-right: 6px;

  background: var(--highlightColor);
  fill: #fff;
}

/* Table of Contents */
.toc {
  margin-bottom: 20px;
  font-weight: 700;
  color: #7a8288;
  background: #fff;
  border-color: #ebebeb;
  border-style: solid;
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 0;
  border-left-width: 1px;
}

.toc__title {
  padding: 5px 10px;
  color: #fff;
  /* text-transform: uppercase; */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  background: #2a2a2a;
}

.toc__menu ul {
  margin: 0;
  list-style: none;
}

.toc__menu li li a {
  padding-left: 25px;
}

.toc__menu li li li a {
  padding-left: 45px;
}

.toc__menu li li li li a {
  padding-left: 65px;
}

.toc__menu li li li li li a {
  padding-left: 85px;
}

.toc__menu li li li li li li a {
  padding-left: 105px;
}

.toc__menu li {
  margin: 0;
}

.toc__menu a {
  display: block;
  padding: 5px 10px;

  color: var(--highlightColor);
  border-bottom: 1px solid #ebebeb;
}

.toc__menu a:hover {
  text-decoration: underline;
}

/* Author Box */
.authorbox {
  padding: 25px 0;
  margin-bottom: 25px;
  line-height: 1.5;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
}

.authorbox__avatar {
  float: left;
  padding: 3px;
  margin: 0 25px 0 0;
  border: 1px solid #ebebeb;
}

.authorbox__header {
  margin-bottom: 10px;
}

.authorbox__name {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
}

/* List content */
.list__item {
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid #ebebeb;
}

.list__header {
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.list__title {
  font-size: 20px;
  font-size: 1.25rem;
}

.list__meta {
  margin-top: 5px;
}

.list__thumbnail {
  float: left;
  margin: 0 20px 0 0;
}

.list__thumbnail img {
  width: 100%;
  max-width: 235px;
}

.list__footer-readmore {
  float: right;
  margin-top: 10px;
}

/* Pagination */
.pagination {
  margin-top: 20px;
}

.pagination__item {
  display: inline-block;
  padding: 10px 15px;
  font-weight: 700;
  color: #000;
  background: #f5f5f5;
}

.pagination__item:hover,
.pagination__item--current {
  color: #fff;

  background: var(--highlightColor);
}

/* Pager (prev/next links) navigation */
.pager {
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding-top: 25px;
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #ebebeb;
}

.pager__subtitle {
  display: block;
  margin-bottom: 5px;
  font-weight: 700;
  line-height: 1;
  /* text-transform: uppercase; */
}

.pager__title {
  margin-bottom: 0;
  overflow: hidden;
  font-size: 13px;
  font-size: 0.8125rem;
}

.pager__item {
  -webkit-flex: 1 1 50%;
  flex: 1 1 50%;
  max-width: 48%;
}

.pager__item--next {
  margin-left: auto;
  text-align: right;
}

.pager__link {
  display: block;
}

/* Images / Video */
img {
  width: auto\9;
  /* ie8 */
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

iframe,
embed,
object,
video {
  max-width: 100%;
}

/* Table */
table {
  width: 100%;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  border-spacing: 0;
  border-collapse: collapse;
  border-top: 1px solid #ebebeb;
  border-left: 1px solid #ebebeb;
}

td,
th {
  padding: 5px 10px;
  border-right: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
}

th {
  font-weight: 700;
}

/* Forms */
input {
  padding: 5px;
  font-size: 12px;
  vertical-align: middle;
  background: #f5f5f5;
  border: 1px solid #ebebeb;
  transition: all 0.25s ease-in-out;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"] {
  width: 60%;
}

input[type="text"]:hover,
input[type="email"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
textarea:hover {
  border: 1px solid #aaa;
}

input[type="submit"],
input[type="reset"] {
  display: inline-block;
  min-width: 150px;
  padding: 10px 15px;
  font-weight: 700;
  color: #fff;
  /* text-transform: uppercase; */
  cursor: pointer;
  background: #2a2a2a;
  border: 0;
  transition: all 0.1s linear;
  -webkit-appearance: none;
  appearance: none;
}

input[type="submit"]:hover,
input[type="reset"]:hover {
  background: var(--highlightColor);
}

textarea {
  width: 96%;
  padding: 5px;
  overflow: auto;
  line-height: 1.5;
  resize: vertical;
  background: #f5f5f5;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

/* Widgets */
.widget {
  margin-bottom: 25px;
  overflow: hidden;
}

.widget:last-child {
  margin-bottom: 0;
}

.widget__title {
  position: relative;
  padding-bottom: 5px;
  font-size: 16px;
  font-size: 1rem;
  /* text-transform: uppercase; */

  border-bottom: 3px solid var(--highlightColor);
}

.widget__item {
  display: block;
  padding: 5px 0;
  border-bottom: 1px dotted #ebebeb;
}

.widget__item:first-child {
  padding-top: 0;
}

.widget__counter--bubble {
  display: inline-block;
  padding: 0 6px;
  font-size: 0.75rem;
  color: #666;
  text-align: center;
  background: #ebebeb;
  border-radius: 2em;
}

/* Search widget */
.widget-search__form {
  display: block;
  padding: 5%;
  margin: 0 auto;
  background: #f5f5f5;
}

.widget-search__form .widget-search__submit {
  display: none;
}

.widget-search__field {
  position: relative;
  display: block;
  width: 90%;
  padding: 8px;
  margin: 0 auto;
  font-size: 11px;
  cursor: pointer;
  background: #fff;
  border: 1px solid #ebebeb;
  border-radius: 0;
  outline-offset: -2px;
  transition: none;
  -webkit-appearance: none;
  appearance: none;
}

.widget-search__field:active,
.widget-search__field:focus {
  cursor: text;
}

/* Social widget */
.widget-social__item {
  padding: 0;
  border: 0;
}

.widget-social__link {
  display: block;
  margin: 0 0 8px;
  white-space: normal;
}

.widget-social__link-icon {
  margin: 0 5px 0 0;
  vertical-align: middle;
  fill: #fff;
}

/* Tags Widget */
.widget-taglist__link {
  font-size: 12px;
  font-family: var(--font-sans);
  font-style: regular;
  font-weight: 400;
  display: inline-block;
  margin: 0 4px 8px 0;
  /* text-transform: uppercase; */
}

/* Languages Widget */
.widget-languages__link {
  display: block;
}

.widget-languages__link:hover .widget-languages__link-btn {
  color: #fff;

  background: var(--highlightColor);
}

.widget-languages__link-btn {
  display: inline-block;
}

/* Footer */
.footer {
  padding: 10px 25px;
  font-size: 12px;
  font-size: 0.75rem;
  color: #999;
  background: #2a2a2a;
  border-top: 3px solid #999;
}

.footer__container {
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.footer__links {
  -webkit-order: 1;
  order: 1;
}

.footer a {
  color: #fff;
}

.footer a:hover {
  text-decoration: underline;
}

/* Media Queries */
@media screen and (max-width: 1475px) {
  .container--outer {
    width: 95%;
  }
}

@media screen and (max-width: 900px) {
  .container--outer {
    width: 100%;
    margin: 0 auto;
  }

  .wrapper,
  .logo {
    padding: 20px;
  }

  .widget {
    margin-bottom: 20px;
  }

  .footer__container {
    display: block;
  }

  .footer__links {
    padding-bottom: 8px;
    padding-bottom: 0.5rem;
    text-align: center;
  }

  .footer__copyright {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .wrapper {
    display: block;
  }

  .sidebar {
    float: none;
    width: 100%;
    margin: 0;
  }

  .logo {
    text-align: center;
  }

  .logo__link {
    margin: 0 auto;
  }

  .logo__title {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .sidebar {
    margin-top: 20px;
  }
}

@media screen and (max-width: 620px) {

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"] {
    width: 88%;
  }

  .meta__item {
    display: block;
    margin-left: 0;
  }

  .authorbox {
    text-align: center;
  }

  .authorbox__avatar {
    display: inline-block;
    float: none;
    margin: 0 0 20px;
  }

  .pager {
    display: block;
  }

  .pager__item {
    min-width: 100%;
    text-align: center;
  }

  .pager__item--prev {
    padding-bottom: 25px;
  }

  .content ul,
  .content ol {
    margin: 0 0 20px 20px;
  }

  .content ul ul,
  .content ol ol,
  .content ol ul,
  .content ul ol {
    margin: 0 0 0 20px;
  }

  .list__thumbnail {
    max-width: 80px;
  }

  .list__title {
    font-size: 16px;
    font-size: 1rem;
  }

  .list__lead {
    font-size: 14px;
    font-size: 0.875rem;
  }

  .list__meta {
    display: block;
    font-size: 11px;
    font-size: 0.6875rem;
  }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  body {
    background: #111;
  }

  .container.container--outer {

    .header,
    .wrapper {
      background: #222;
      color: #bbb;
    }

    :is(h1, h2, h3, h4, h5, h6) {
      color: #ccc;
    }

    :is(figcaption) {
      color: #999;
    }

    :is(pre, code) {
      background-color: #111;
      color: #bbb;
      border: none;
      scrollbar-color: #222 #666;
    }

    :is(time.meta__text) {
      color: #bbb;
    }

    /* :is(div.post__meta.meta) {
      border-top-color: #444;
      border-bottom-color: #444;
    } */

    :is(a) {
      color: #ddd;
    }

    :is(a):hover {
      color: var(--highlightColor);
    }

    :is(a).widget-taglist__link.widget__link.btn:hover,
    a.menu__link:hover {
      color: #fff;
    }

    .list__item,
    .widget__item {
      border-bottom-color: #444;
    }

    .widget-search__form {
      background: #252525;
    }

    .widget-search__field {
      background: #282828;
      color: #bbb;
      border-color: #333;
    }

    .logo__tagline {
      border-top-color: #444;
    }

    .logo__title {
      color: #bbb;
    }
  }

  :root {
    --halo-search-widget-muted-color: #cbd5e1;
    --halo-search-widget-content-color: #f1f5f9;
    --halo-search-widget-hit-bg-color: #110909;
    --halo-search-widget-modal-bg-color: #2a1517;
    --halo-search-widget-modal-layer-color: #000000cc;
    --halo-search-widget-base-bg-color: #110909;
    --halo-search-widget-divider-color: #3b1e29;
    --halo-search-widget-kbd-border-color: #553341;
    --halo-search-widget-kbd-shadow: 0px 2px 0px 0px #ffffff1a;
    --halo-comment-widget-base-color: #bbb;
    --halo-comment-widget-base-info-color: #aaa;
    --halo-comment-widget-component-form-input-bg-color: #333;
    --halo-comment-widget-component-form-input-color: #ffffff;
    --halo-comment-widget-component-form-input-border-color: #363636;
    --halo-comment-widget-component-form-input-border-color-focus: #444;
    --halo-comment-widget-component-form-input-box-shadow-focus: 0 0 0 0.15em #661c22;
    --halo-comment-widget-component-form-button-login-bg-color: #333;
    --halo-comment-widget-component-form-button-login-bg-color-hover: #444;
    --halo-comment-widget-component-form-button-login-border-color: #444;
    --halo-comment-widget-component-form-button-submit-bg-color: #841728;
    --halo-comment-widget-component-form-button-submit-border-color: #be5341;
    --halo-comment-widget-component-form-button-submit-border-color-hover: #be5341;
    --halo-comment-widget-component-form-button-emoji-color: #cbd5e1;

    --halo-comment-widget-component-comment-item-action-bg-color-hover: #475569;
    --halo-comment-widget-component-comment-item-action-color-hover: #94a3b8;

    --halo-comment-widget-component-pagination-button-bg-color-hover: #475569;
    --halo-comment-widget-component-pagination-button-bg-color-active: #475569;
    --halo-comment-widget-component-pagination-button-border-color-active: #475569;

    --halo-comment-widget-component-emoji-picker-rgb-color: 222, 222, 221;
    --halo-comment-widget-component-emoji-picker-rgb-accent: 58, 130, 247;
    --halo-comment-widget-component-emoji-picker-rgb-background: 21, 22, 23;
    --halo-comment-widget-component-emoji-picker-rgb-input: 0, 0, 0;
    --halo-comment-widget-component-emoji-picker-color-border: rgba(255, 255, 255, 0.1);
    --halo-comment-widget-component-emoji-picker-color-border-over: rgba(255, 255, 255, 0.2);
  }
}

/* ------------------------------------------------------------------
 * Typecho 适配层
 * ------------------------------------------------------------------ */

/* 屏幕阅读器专用 */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* 关闭侧边栏时正文占满整行 */
.wrapper--full .primary {
	-webkit-flex: 1 0 100%;
	flex: 1 0 100%;
}

/* Typecho 盒状分页（PageNavigator\Box 输出结构） */
.pagination {
	list-style: none;
	padding: 0;
	font-size: 13px;
}

.pagination > div,
.pagination > li {
	display: inline-block;
	margin: 0 6px 6px 0;
}

.pagination > div > a,
.pagination > div > span,
.pagination > li > a,
.pagination > li > span {
	display: block;
	padding: 10px 15px;
	font-weight: 700;
	color: #000;
	background: #f5f5f5;
}

.pagination > div > a:hover,
.pagination > li > a:hover,
.pagination > .pagination__item--current > a,
.pagination > .pagination__item--current > span,
.pagination > .current > a {
	color: #fff;
	background: var(--highlight-color);
}

.widget-search__field {
	-webkit-flex: 1;
	flex: 1;
}

.widget-search__submit {
	display: none;
}

/* 404 页面 */
.warning__icon {
	stroke: #ddd;
	fill: none;
	stroke-width: 2;
}

.warning__title {
	font-size: 64px;
	line-height: 1;
	margin-bottom: 10px;
}

.warning__text {
	color: #666;
	margin-bottom: 20px;
}

/* 文章内容中的图片、附件 */
.post__content img {
	max-width: 100%;
	height: auto;
}

.post__content .attachment {
	margin: 0 auto;
}

/* 目录（由 JS 生成） */
.toc__menu > ul {
	margin: 0;
	list-style: none;
}

/* 评论 */
.comments {
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px solid #ebebeb;
}

.comments__title,
.respond__title {
	padding-bottom: 5px;
	margin-bottom: 20px;
	font-size: 16px;
	font-size: 1rem;
	text-transform: uppercase;
	border-bottom: 3px solid var(--highlight-color);
}

.comment-list,
.comment-list .children {
	padding: 0;
	margin: 0;
	list-style: none;
}

.comment-list .children {
	margin-left: 30px;
}

.comment-body {
	position: relative;
	padding: 15px 0;
	border-bottom: 1px dotted #ebebeb;
}

.comment-author {
	font-size: 14px;
	font-weight: 700;
	line-height: 2;
}

.comment-author .avatar {
	float: left;
	padding: 2px;
	margin: 0 10px 0 0;
	border: 1px solid #ebebeb;
}

.comment-author .fn {
	font-style: normal;
}

.comment-author .says {
	font-weight: 400;
	color: #999;
}

.comment-meta {
	margin: 4px 0 10px;
	font-size: 12px;
	color: #999;
}

.comment-meta a {
	color: #999;
}

.comment-content {
	font-size: 14px;
	line-height: 1.7;
	overflow: hidden;
}

.comment-content p:last-child {
	margin-bottom: 0;
}

.comment-reply-link {
	margin-left: 10px;
	font-size: 12px;
	font-weight: 700;
}

.comment-body.bypostauthor > .comment-author .fn {
	color: var(--highlight-color);
}

.comment-awaiting-moderation {
	padding: 5px 10px;
	font-size: 12px;
	color: #8a6d3b;
	background: #fcf8e3;
	border: 1px solid #faebcc;
}

.comments .page-navigator {
	padding: 0;
	margin: 20px 0 0;
	list-style: none;
}

.comments .page-navigator li {
	display: inline-block;
	margin: 0 6px 6px 0;
}

.comments .page-navigator li a,
.comments .page-navigator li span {
	display: block;
	padding: 8px 12px;
	background: #f5f5f5;
}

.comments .page-navigator li.current span,
.comments .page-navigator li a:hover {
	color: #fff;
	background: var(--highlight-color);
}

/* 评论表单 */
.respond {
	margin-top: 25px;
}

.cancel-comment-reply {
	margin-bottom: 10px;
	font-size: 12px;
}

.comment-form p {
	margin-bottom: 15px;
}

.comment-form label {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.comment-form input.text,
.comment-form textarea {
	width: 100%;
	padding: 8px 10px;
	font-size: 13px;
	background: #f5f5f5;
	border: 1px solid #ebebeb;
}

.comment-form textarea {
	min-height: 120px;
}

.comment-form .submit,
.comment-form button[type=submit] {
	display: inline-block;
	min-width: 150px;
	padding: 10px 15px;
	font: inherit;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	cursor: pointer;
	background: #2a2a2a;
	border: 0;
	transition: background-color .1s linear;
}

.comment-form .submit:hover,
.comment-form button[type=submit]:hover {
	background: var(--highlight-color);
}

.comment-form .logged-in-as {
	font-size: 13px;
	color: #666;
}

/* ------------------------------------------------------------------
 * Mainroad (UOF) × Typecho —— 结构与组件补充
 * ------------------------------------------------------------------ */

/* 搜索框：保持 UOF 的居中窄输入框，回车即可提交 */
.widget-search__field {
	box-sizing: border-box;
}

.widget-search__field::-webkit-search-cancel-button {
	cursor: pointer;
}

/* 站点 Logo 图片 */
.logo__title .logo__img {
	display: inline-block;
	vertical-align: middle;
}

/* 列表分类链接 */
.meta__link {
	color: inherit;
}

.meta__link:hover {
	color: var(--highlightColor);
}

/* 文章页作者信息卡（对应 UOF 的 post__meta-box） */
.post__meta-box .post__meta-avatar img {
	width: 4.5rem;
	object-fit: cover;
}

.post__meta-author-info {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6;
	color: #666;
}

.post__meta-time {
	font-size: 12px;
	font-size: 0.75rem;
	color: #888;
}

.post__meta-time time {
	white-space: nowrap;
}

/* 「上一页 / 页码 / 下一页」分页 */
.page-bar {
	align-items: center;
	font-size: 13px;
	font-size: 0.8125rem;
}

.page-bar > span {
	color: #666;
}

.page-bar a {
	color: var(--highlightColor);
}

.page-bar a:hover {
	text-decoration: underline;
}

/* 「支持我们」文本组件 */
.widget-text .widget__content {
	line-height: 1.7;
}

.widget-text .widget__content p {
	margin: 0 0 12px;
}

.widget-text iframe {
	display: block;
	margin-top: 12px;
	border: 0;
}

/* 侧栏计数 */
.widget__counter {
	color: #666;
	font-size: 12px;
}

/* 正文图片与目录在深色模式下的补充 */
@media (prefers-color-scheme: dark) {
	.comments,
	.respond,
	.toc,
	.pager {
		border-color: #444;
	}

	.comments__title,
	.respond__title,
	.comment-author .fn,
	.comment-meta a {
		color: #ccc;
	}

	.comment-body,
	.comment-content,
	.comment-form .logged-in-as,
	.comment-form label,
	.warning__text,
	.page-bar > span,
	.post__meta-author-info,
	.post__meta-time,
	.toc__title {
		color: #aaa;
	}

	.comment-form input.text,
	.comment-form textarea,
	.comment-form input[type=email],
	.comment-form input[type=url],
	.toc {
		color: #ddd;
		background: #282828;
		border-color: #444;
	}

	.toc a,
	.comment-form .submit,
	.comment-form button[type=submit] {
		color: #ddd;
	}

	.comments .page-navigator li a,
	.comments .page-navigator li span,
	.pagination > div > a,
	.pagination > div > span,
	.pagination > li > a,
	.pagination > li > span {
		color: #ccc;
		background: #333;
	}

	.comments .page-navigator li.current span,
	.comments .page-navigator li a:hover,
	.pagination > div > a:hover,
	.pagination > li > a:hover,
	.pagination > .pagination__item--current > a,
	.pagination > .pagination__item--current > span,
	.pagination > .current > a {
		color: #fff;
		background: var(--highlightColor);
	}

	.warning {
		border-color: #444;
	}

	.warning__icon {
		stroke: #666;
	}

	.widget__counter--bubble,
	.widget__counter {
		color: #bbb;
		background: transparent;
	}

	.widget-search__submit {
		display: none;
	}
}

/* ------------------------------------------------------------------
 * 细节修正（评论头像占位、清除浮动）
 * ------------------------------------------------------------------ */
.comment-author .avatar {
	width: 32px;
	height: 32px;
	object-fit: cover;
	font-size: 0;
	color: transparent;
	background: #f0f0f0;
}

.page-bar {
	clear: both;
}

@media (prefers-color-scheme: dark) {
	.comment-author .avatar {
		background: #333;
		border-color: #444;
	}
}

/* 深色模式下让标签按钮保持可辨识（浅色模式与原站完全一致） */
@media (prefers-color-scheme: dark) {
	.widget-taglist__link.widget__link.btn {
		color: #ddd;
		background: #333;
	}

	.widget-taglist__link.widget__link.btn:hover,
	.widget-taglist__link.widget__link.btn.active {
		color: #fff;
		background: var(--highlightColor);
	}
}

/* ------------------------------------------------------------------
 * 站点 Logo（内置 UOF 校徽，浅色版与原站一致）
 * ------------------------------------------------------------------ */

.logo__picture {
	display: inline-block;
	vertical-align: middle;
	line-height: 0;
}

.logo__title .logo__img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 6rem;
}

@media screen and (max-width: 767px) {
	.logo__title .logo__img {
		max-height: 4.5rem;
	}
}
