html {
  touch-action: pan-y
}

body {
  background-color: var(--backgroundColor);
  color: var(--linkColor);
  margin: 0;
  padding: 0;
  font-family: "HarmonyOS_Regular", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

* {
  scrollbar-width: none
}

*::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0
}

body.light {
  --themeColor: #1da1f2;
  --themeColorOpacity: rgba(29, 161, 242, 0.08);
  --backgroundColor: #fff;
  --backgroundColorOpacity: #ffffff;
  --border: #e6ecf0;
  --shadow: rgba(0, 0, 0, 0.25);
  --time: #818181;
  --linkColor: #14171a;
  --highLight: #fff;
  --contentColor: #324b64;
  --contentBackground: #f5f8fa;
  --contentColorSecondary: #657786
}

body.dark {
  --themeColor: #1da1f2;
  --themeColorOpacity: rgba(29, 161, 242, 0.08);
  --backgroundColor: #15202b;
  --backgroundColorOpacity: #15202b;
  --border: #253341;
  --shadow: rgba(0, 0, 0, 0.45);
  --time: #818181;
  --linkColor: #ffffff;
  --highLight: #fff;
  --contentColor: #8899a6;
  --contentBackground: #192734;
  --contentColorSecondary: #657786
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px
}

::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 10px
}

::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, 0.3);
  border-radius: 10px;
  transition: all 0.3s ease
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(156, 163, 175, 0.8)
}

::-webkit-scrollbar-corner {
  background: transparent
}

.scrollable-container {
  scrollbar-width: thin;
  scrollbar-color: rgba(156, 163, 175, 0.3) transparent;
  overflow: auto;
  transition: scrollbar-color 0.3s ease
}

.scrollable-container:hover {
  scrollbar-color: rgba(156, 163, 175, 0.8) transparent
}

body.dark #loading {
  background: var(--backgroundColor) !important
}

body #loading {
  position: fixed;
  top: 50vh;
  left: 50vw;
  width: 100vmax;
  height: 100vmax;
  border-radius: 50%;
  background: var(--themeColor);
  transition: transform .5s ease-out;
  transform: translate(-50%, -50%) scale(0);
  z-index: 10099
}

body #loading img {
  width: 5rem;
  height: 5rem;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, transform .5s cubic-bezier(.5, 0, .5, 1.5), visibility .3s;
  z-index: 3
}

body.loading #loading {
  transform: translate(-50%, -50%) scale(1.5)
}

body.loading #loading img {
  opacity: 1;
  visibility: visible
}

img {
  max-width: 100%
}

a,
a:active,
a:focus,
a:hover {
  color: var(--themeColor);
  text-decoration: none
}

.a-text {
  display: block;
  border: 1px solid transparent;
  background: 0 0;
  outline: 0;
  font-size: 15px;
  letter-spacing: 1.5px;
  padding: 10px 5px;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out;
  color: var(--contentcolor)
}

#nav {
  background-color: var(--backgroundColor)
}

.text-logo a {
  display: block;
  color: var(--linkColor);
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 10px;
  padding: 2px 12px;
  background-color: transparent;
  border-radius: 5px;
  transition: .3s background-color ease-in-out
}

.image-logo a,
.nav-list-li-container,
.tool-bar-icon {
  transition: background-color .3s ease-in-out
}

.text-logo a:focus,
.text-logo a:hover {
  background-color: var(--themeColorOpacity)
}

.image-logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  /* 固定展开态尺寸（8px 内边距 + 48px Logo = 64px）：收起过渡到 50px 时
     width/height/padding 均可插值；若 height 为 auto 则无法过渡，
     Logo 区高度会瞬跳并带动下方菜单图标一起上下跳 */
  width: 64px;
  height: 64px;
  padding: 8px;
  border-radius: 9999px;
  outline: 0;
  background-color: transparent;
  transition: background-color .3s ease-in-out, width .28s ease-in-out, height .28s ease-in-out, padding .28s ease-in-out
}

.nav-list-li:hover .nav-list-li-container {
  background-color: var(--themeColorOpacity)
}

/* 收起/展开时菜单项上下内边距在 4px↔7px 间变化：必须过渡，
   否则内边距瞬跳会让菜单图标瞬间上下跳动 */
.nav-list-li {
  transition: padding .28s ease-in-out
}

.nav-list-li:last-child {
  margin-bottom: 4px
}

.nav-list-li-container {
  color: var(--linkColor);
  padding: 12px;
  transition: background-color .3s ease-in-out, padding .28s ease-in-out, margin .28s ease-in-out
}

.nav-list-li-container.current>span {
  font-weight: 500
}

.nav-list-li-container>svg {
  font-size: 1.5rem;
  flex-shrink: 0;
  transition: font-size .28s ease-in-out
}

.nav-list-li-container>span {
  font-size: 1.3rem;
  letter-spacing: 1px
}

/* 收起/展开时文字的过渡：淡出并收拢宽度（替代 display:none 的瞬间消失）；
   max-height 用于收起时把用户信息区高度也压到 0，让用户卡片收成正圆 */
.nav-list-li-container>span,
.navigation-button>span,
.yoniu-user .yoniu-user-btn,
.yoniu-user .yoniu-user-info {
  max-width: 300px;
  max-height: 80px;
  overflow: hidden;
  transition: opacity .28s ease-in-out, max-width .28s ease-in-out, max-height .28s ease-in-out, margin .28s ease-in-out, padding .28s ease-in-out
}

.nav-list-li-container .icon {
  width: 30px;
  text-align: center;
  display: inline-block;
  height: auto;
  overflow: visible;
  font-size: 1.25rem;
  vertical-align: middle;
}

.nav-list-li-container svg.icon {
  width: 1.25em;
  height: 1.25em;
  fill: currentColor;
  vertical-align: -0.2em;
  /* 菜单图标是填充式实心图形：叠加背景色描边（画在填充之上）把边缘侵蚀一圈，
     笔画视觉上更纤细；stroke-width 用百分比按各图标 viewBox 归一化，
     24/1024 等不同 viewBox 的侵蚀厚度一致（32px 下约 0.4px/边） */
  stroke: var(--backgroundColor);
  stroke-width: 2.5%;
  stroke-linejoin: round
}

.navigation-button {
  flex: 0 0 auto;
  margin: 15px 0 30px;
  width: 90%;
  height: 50px;
  background-color: var(--themeColor);
  color: var(--highLight);
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1;
  box-shadow: var(--themeColorOpacity) 0 8px 28px;
  border-radius: 9999px;
  transition: filter .3s ease-in-out, width .28s ease-in-out, margin .28s ease-in-out, border-radius .28s ease-in-out, font-size .28s ease-in-out
}

.random-title>a,
.yoniu-user-nickname {
  font-weight: 500
}

.navigation-button>svg {
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  transition: opacity .28s ease-in-out, max-width .28s ease-in-out
}

.navigation-button:hover {
  filter: grayscale(20%);
  color: var(--highLight)
}

/* 侧栏收起按钮：sticky 悬浮，滚动时始终贴住 #main 左边框线并保持视口垂直居中；
   滚动到页面底部时自然停靠在边框线末端（父容器内不允许再下移） */
.itw-nav-collapse-sticky {
  position: sticky;
  top: 50vh;
  height: 0;
  /* 高于吸顶分类条（#yoniu-sort 的 z-index:5），避免筛选条滚过 50vh 时盖住按钮；
     低于发布框面板（z-index:10） */
  z-index: 6
}

/* 按钮默认透明隐藏（保留指针事件，悬停即自显现）；悬浮左侧导航区域或按钮自身时显示；触屏设备保持常显 */
.itw-nav-collapse {
  display: none;
  position: absolute;
  left: -14px;
  top: -14px;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--itw-lineHoverColor, rgba(0, 0, 0, .25));
  border-radius: 50%;
  background-color: var(--backgroundColor);
  color: var(--contentColorSecondary);
  cursor: pointer;
  outline: 0;
  opacity: 0;
  transition: background-color .3s ease-in-out, color .3s ease-in-out, opacity .25s ease-in-out, transform .25s ease-in-out, border-color .25s ease-in-out
}

body.dark .itw-nav-collapse {
  border-color: var(--itw-lineHoverColorDark, rgba(255, 255, 255, .25))
}

@media (hover: hover) {
  #navigation:hover ~ #main .itw-nav-collapse,
  #main .itw-nav-collapse:hover {
    opacity: 1
  }
}

/* 悬浮按钮时保持不透明白色背景，遮住穿过按钮的竖线，图标变主题色 */
.itw-nav-collapse:hover {
  background-color: var(--backgroundColor);
  color: var(--themeColor)
}

/* 点击后（聚焦）不显示浏览器焦点外框与高亮 */
.itw-nav-collapse:focus,
.itw-nav-collapse:focus-visible {
  outline: 0;
  outline-offset: 0;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent
}

/* 按下时轻微缩小，松开还原，形成点击交互动画 */
.itw-nav-collapse:active {
  transform: scale(.88)
}

/* 展开侧栏过渡期间防止文字在窄栏中竖排换行：文字不换行、超出部分裁剪，
   栏宽从 90px 展开时文字随宽度呈滑出效果，避免出现逐字竖排的瞬间 */
#navigation .text-logo a,
#navigation .nav-list-li-container,
#navigation .navigation-button,
#navigation .yoniu-user-info {
  white-space: nowrap
}

#navigation .text-logo {
  overflow: hidden;
  max-height: 80px;
  transition: opacity .28s ease-in-out, max-height .28s ease-in-out
}

#navigation .nav-list-li,
#navigation .navigation-button {
  overflow: hidden
}

/* 无图标菜单项整行收拢的过渡基础：收起时 max-height 归零并淡出 */
#navigation .nav-list-li {
  max-height: 80px;
  transition: opacity .28s ease-in-out, max-height .28s ease-in-out, margin .28s ease-in-out, padding .28s ease-in-out
}

#navigation .yoniu-user-info {
  min-width: 0;
  overflow: hidden
}

/* 桌面端：#main 左侧竖线默认为实色灰线（收起菜单时不变化，保持默认）；
   仅悬浮导航区域或悬浮按钮时，交叉淡入为视口高度渐变线：
   线条随 sticky 容器固定在视口内，上下两端渐变透明淡出，中段比默认灰线深一档；
   交叉淡化动画节奏与收起按钮出现时一致（.25s ease-in-out） */
@media only screen and (min-width:768px) {
  #main {
    border-left: 0
  }

  #main::before {
    content: '';
    position: absolute;
    left: -1px;
    top: 0;
    bottom: 0;
    width: 1px;
    pointer-events: none;
    background: var(--border);
    transition: opacity .25s ease-in-out
  }

  /* 视口高度渐变线：跟随 sticky 容器，滚动时始终覆盖当前视口，两端渐变透明；
     中段颜色比默认灰线深一档 */
  .itw-nav-collapse-sticky::before {
    content: '';
    position: absolute;
    left: -1px;
    top: -50vh;
    width: 1px;
    height: 100vh;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent 0%, var(--itw-lineHoverColor, rgba(0, 0, 0, .25)) 22%, var(--itw-lineHoverColor, rgba(0, 0, 0, .25)) 78%, transparent 100%);
    opacity: 0;
    transition: opacity .25s ease-in-out
  }

  body.dark .itw-nav-collapse-sticky::before {
    background: linear-gradient(to bottom, transparent 0%, var(--itw-lineHoverColorDark, rgba(255, 255, 255, .25)) 22%, var(--itw-lineHoverColorDark, rgba(255, 255, 255, .25)) 78%, transparent 100%)
  }
}

@media (hover: hover) {
  /* 仅手动模式响应悬浮：淡出默认灰线并显示视口高度加深线 */
  #app.itw-nav-mode-manual #navigation:hover ~ #main::before,
  #app.itw-nav-mode-manual #main:has(.itw-nav-collapse:hover)::before {
    opacity: 0
  }

  #app.itw-nav-mode-manual #navigation:hover ~ #main .itw-nav-collapse-sticky::before,
  #app.itw-nav-mode-manual #main:has(.itw-nav-collapse:hover) .itw-nav-collapse-sticky::before {
    opacity: 1
  }
}

/* 后台固定"收起/展开"模式：隐藏切换按钮与悬浮加深线（按钮和渐变线都在此容器内），线条保持默认 */
#app.itw-nav-mode-collapsed .itw-nav-collapse-sticky,
#app.itw-nav-mode-expanded .itw-nav-collapse-sticky {
  display: none
}

.itw-nav-collapse>svg {
  width: 14px;
  height: 14px;
  transition: transform .3s ease-in-out
}

@media only screen and (min-width:768px) {

  .itw-nav-collapse {
    display: flex
  }

  #app:has(#navigation.itw-nav-collapsed) .itw-nav-collapse>svg {
    transform: rotate(180deg)
  }

  #navigation.itw-nav-collapsed .text-logo {
    max-height: 0;
    opacity: 0
  }

  #navigation.itw-nav-collapsed .image-logo a,
  #navigation.itw-nav-collapsed .navigation-button {
    width: 50px;
    height: 50px
  }

  /* 胶囊随图标紧凑收缩：图标28px(1.4rem×1.25em) + 上下内边距9px = 46px 高，
     宽 44px，图标左右各留约 8px，视觉更紧凑；
     margin-left 3px 让 44px 胶囊与 50px 的 Logo/按钮/头像圆心对齐（左右各留 3px） */
  #navigation.itw-nav-collapsed .nav-list-li-container {
    min-width: 44px;
    margin-left: 3px;
    justify-content: center;
    padding: 9px 4px
  }

  /* 收起时左右内边距 16px→20px：列宽 90px、最宽内容（Logo/按钮/头像）50px，
     左对齐内容视觉上正好居中；padding 可平滑过渡，
     不能用 align-items 切换居中（不可过渡，收起结束会瞬间右跳） */
  #navigation.itw-nav-collapsed {
    padding-left: 20px !important;
    padding-right: 20px !important
  }

  /* 收起时菜单项上下间距加大（覆盖 Bootstrap py-1 的 4px），图标之间更透气 */
  #navigation.itw-nav-collapsed .nav-list-li {
    padding-top: 7px !important;
    padding-bottom: 7px !important
  }

  /* 无图标的菜单项收起时整行收拢淡出，避免出现空白胶囊 */
  #navigation.itw-nav-collapsed .nav-list-li:has(.nav-list-li-container:not(:has(svg))) {
    max-height: 0;
    opacity: 0;
    margin: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important
  }

  #navigation.itw-nav-collapsed .nav-list-li-container>span,
  #navigation.itw-nav-collapsed .navigation-button>span {
    max-width: 0;
    opacity: 0;
    margin: 0 !important
  }

  #navigation.itw-nav-collapsed .nav-list-li-container>svg {
    font-size: 1.4rem;
    flex-shrink: 0
  }

  #navigation.itw-nav-collapsed .navigation-button {
    margin: 30px 0;
    font-size: 1.5rem;
    border-radius: 50%
  }

  #navigation.itw-nav-collapsed .navigation-button>svg {
    max-width: 30px;
    opacity: 1
  }

  #navigation.itw-nav-collapsed .image-logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0
  }

  #navigation.itw-nav-collapsed .yoniu-user .yoniu-user-btn,
  #navigation.itw-nav-collapsed .yoniu-user .yoniu-user-info {
    max-width: 0;
    max-height: 0;
    opacity: 0;
    padding: 0
  }

  #navigation.itw-nav-collapsed .yoniu-user {
    width: 100%
  }

  #navigation.itw-nav-collapsed .yoniu-user .yoniu-user-box {
    max-width: 50px;
    margin: 0 auto;
    padding: 5px
  }

  #navigation.itw-nav-collapsed .yoniu-user img {
    width: 40px;
    height: 40px
  }

  #navigation.itw-nav-collapsed .yoniu-user .yoniu-user-listbox {
    position: fixed;
    bottom: calc(1.5rem + 70px);
    width: calc(7rem)
  }

  #navigation.itw-nav-collapsed .yoniu-user .yoniu-user-listbox:after {
    left: 20px
  }
}

@media only screen and (min-width:1025px) {
  /* 中间栏用 calc 代替 auto：auto 与百分比之间无法插值，会导致网格过渡到一半时瞬间跳变 */
  #app:has(#navigation.itw-nav-collapsed) {
    grid-template-columns: 90px calc(72.5% - 90px) 27.5%
  }
}

.YEmotion {
  position: relative
}

.YEmotion .YEmotion-face {
  display: inline-block;
  outline: 0;
  border: 0;
  border-radius: 5px;
  padding: 5px 8px;
  line-height: 1rem;
  font-size: .9rem;
  background-color: var(--backgroundColor);
  transition: .3s ease background-color, .3s ease color
}

.YEmotion .YEmotion-container .YEmotion-typelist.top,
.push-post-header,
.yoniu-user-listbox:after,
.yoniu-user-listitem {
  border-bottom: 1px solid var(--border)
}

.YEmotion .YEmotion-container .YEmotion-typelist.bottom,
.post-data-show,
.post-links {
  border-top: 1px solid var(--border)
}

.YEmotion .YEmotion-face.show,
.YEmotion .YEmotion-face:focus,
.YEmotion .YEmotion-face:hover {
  background-color: var(--themeColor);
  color: var(--highLight)
}

.YEmotion .YEmotion-container {
  position: absolute;
  left: 0;
  width: var(--mWidth);
  max-height: 0;
  transform: translateY(50px);
  border-radius: 5px;
  transition: .3s ease transform;
  overflow: hidden;
  z-index: 1024;
}

.YEmotion .YEmotion-container.show {
  height: var(--mHeight);
  max-height: var(--mHeight);
  transform: translateY(0);
  background-color: var(--contentBackground);
  border: 1px solid var(--border)
}

.YEmotion .YEmotion-container .YEmotion-coverbox {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--contentBackground);
  color: var(--linkColor);
  font-size: .9rem;
  border-radius: 5px;
  overflow: hidden
}

.YEmotion .YEmotion-container .YEmotion-typelist {
  padding: 8px;
  overflow-x: auto
}

.YEmotion .YEmotion-container .YEmotion-typelist::-webkit-scrollbar {
  width: 10px;
  height: 5px
}

.YEmotion .YEmotion-container .YEmotion-typelist::-webkit-scrollbar-button {
  width: 0;
  height: 0
}

.YEmotion .YEmotion-container .YEmotion-typelist::-webkit-scrollbar-thumb {
  min-width: 28px;
  background-color: rgba(0, 0, 0, .2);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border-radius: 5px;
  box-shadow: inset 1px 1px 0 rgba(0, 0, 0, .1), inset 0 -1px 0 rgba(0, 0, 0, .07)
}

.YEmotion .YEmotion-container .YEmotion-typelist .YEmotion-type-select {
  display: inline-block;
  background-color: transparent;
  color: var(--linkColor);
  text-decoration: none;
  line-height: 1;
  padding: 5px 8px;
  border-radius: 5px;
  margin-right: 5px
}

.YAlert-body .YAlert-background,
.YEmotion .YEmotion-container .YEmotion-typelist .YEmotion-type-select.current,
.YEmotion .YEmotion-container .YEmotion-typelist .YEmotion-type-select:hover,
.YEmotion .YEmotion-container .YEmotion-typelist .YEmotion-type-selectfocus {
  background-color: rgba(0, 0, 0, .1)
}

.YEmotion .YEmotion-container .YEmotion-emolist-container {
  position: relative;
  height: var(--mHeight);
  background-color: var(--backgroundColor);
  overflow: hidden
}

.YEmotion .YEmotion-container .YEmotion-emolist-container .YEmotion-emolist {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--backgroundColor);
  transform: translateX(calc(0 - var(--mWidth)));
  overflow-y: auto;
  padding: 8px;
  transition: .3s ease transform
}

.YEmotion .YEmotion-container .YEmotion-emolist-container .YEmotion-emolist:not(.current) {
  transform: translateX(var(--mWidth))
}

.YEmotion .YEmotion-container .YEmotion-emolist-container .YEmotion-emolist .YEmotion-emo-button {
  padding: 5px 8px;
  margin-bottom: 5px;
  margin-right: 5px;
  border-radius: 5px;
  text-decoration: none;
  color: var(--linkColor);
  background-color: var(--contentBackground);
  transition: .3s ease all
}

#yoniu-login-framework,
.yoniu-user-box,
.yoniu-user-listbox {
  transition: all .3s ease-out;
  display: flex
}

.YEmotion .YEmotion-container .YEmotion-emolist-container .YEmotion-emolist .YEmotion-emo-button:focus,
.YEmotion .YEmotion-container .YEmotion-emolist-container .YEmotion-emolist .YEmotion-emo-button:hover {
  text-decoration: none;
  background-color: var(--themeColor);
  color: var(--highLight)
}

.yoniu-user-box-active,
.yoniu-user-box:hover {
  background-color: var(--themeColorOpacity)
}

.yoniu-user {
  position: relative;
  flex: 1 1 auto;
  width: 95%;
  margin-bottom: 1.5rem;
  flex-direction: column-reverse;
  transition: width .28s ease-in-out
}

.yoniu-user-box {
  align-items: center;
  border-radius: 50px;
  padding: 10px;
  border: 1px solid var(--border);
  /* 基础上限供收起态（max-width:50px）平滑过渡插值 */
  max-width: 300px;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out
}

.yoniu-user-box:hover {
  cursor: pointer
}

.yoniu-user-listbox,
.yoniu-user-listbox:after {
  position: absolute;
  background-color: var(--backgroundColor);
  box-shadow: 0 0 20px 0 var(--border)
}

.yoniu-user-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.5;
  padding: 0 10px
}

.yoniu-user-name {
  color: var(--contentColor)
}

.yoniu-user-btn {
  padding-right: 10px
}

.yoniu-user img {
  transition: width .28s ease-in-out, height .28s ease-in-out
}

.yoniu-user-listbox {
  opacity: 0;
  transform: translateY(100px);
  visibility: hidden;
  flex-direction: column;
  width: 100%;
  bottom: 90px;
  border: 1px solid var(--border);
  border-radius: 5px;
  -ms-transition: all .3s ease-out
}

.yoniu-user-listbox:after {
  content: '';
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  border-right: 1px solid var(--border);
  bottom: -5.5px;
  left: calc(50% - 4px)
}

.yoniu-user-listbox-active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0)
}

.yoniu-user-listbox:hover,
.yoniu-user-listbox:hover::after {
  box-shadow: 0 0 10px 0 var(--border)
}

.yoniu-user-listitem {
  padding: 15px 20px;
  line-height: 1;
  color: var(--acolor)
}

.yoniu-user-listitem:hover {
  background-color: var(--contentBackground);
  color: var(--linkColor);
  text-decoration: none
}

.yoniu-user-listitem:last-child {
  border-bottom: 0
}

#yoniu-login-framework {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 1050;
  opacity: 0;
  backdrop-filter: blur(5px);
  visibility: hidden;
  pointer-events: none;
  transition: all .3s ease-out;
}

.yoniu-login-framework-active {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#yoniu-login-framework.yoniu-login-framework-active .yoniu-login-card {
  transform: scale(1);
  opacity: 1;
}

.yoniu-login-box,
.yoniu-register-box {
  position: relative;
  padding: 0 20px;
  max-height: 0;
  border-radius: 5px;
  background-color: var(--backgroundColor);
  opacity: 0;
  transform: translateY(100px);
  visibility: hidden;
  transition: all .3s ease-out;
  -ms-transition: all .3s ease-out
}

.yoniu-login-box:after,
.yoniu-login-box:before,
.yoniu-register-box:after,
.yoniu-register-box:before {
  position: absolute;
  background-color: var(--backgroundColor);
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  z-index: -1;
  height: 10px
}

#yoniu-login-framework>.focus {
  max-height: unset;
  padding: 20px;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) !important
}

.yoniu-login-box:before,
.yoniu-register-box:before {
  content: '';
  width: 90%;
  left: 5%;
  top: 100%;
  opacity: .8
}

#yoniu-login-framework .yoniu-login-card {
  position: relative;
  width: 300px;
  height: 280px;
  background-color: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: scale(0.9);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#yoniu-login-framework .yoniu-login-close {
  position: absolute;
  top: 10px;
  right: 10px;
  margin: 0;
  z-index: 10;
}

#yoniu-login-framework .yoniu-login-close a {
  background-color: transparent;
  width: auto;
  height: auto;
  border-radius: 0;
  transition: opacity 0.3s;
}

#yoniu-login-framework .yoniu-login-close a:hover {
  background-color: transparent;
  opacity: 0.7;
}

/* Reset existing box styles to fit in card */
#yoniu-login-framework .yoniu-login-box {
  background-color: transparent;
  padding: 0;
  max-height: none;
  opacity: 1;
  visibility: visible;
  transform: none;
  box-shadow: none;
}

/* Remove stacked paper effect */
#yoniu-login-framework .yoniu-login-box:before,
#yoniu-login-framework .yoniu-login-box:after {
  display: none;
}

#yoniu-login-framework .input-group {
  margin-bottom: 15px;
  display: flex;
  flex-direction: column;
}

#yoniu-login-framework .input-group label {
  font-size: 13px;
  color: #333;
  font-weight: 500;
  margin-bottom: 5px;
  display: block;
}

#yoniu-login-framework .a-text {
  width: 100%;
  padding: 10px 12px;
  font-size: 13px;
  border: 1px solid #E1E1E1;
  border-radius: 4px;
  background-color: #F9F9F9;
  color: #333;
  transition: all 0.3s ease;
  margin-bottom: 0;
  box-sizing: border-box;
}

#yoniu-login-framework .a-text:focus {
  background-color: #FFFFFF;
  border-color: var(--themeColor);
  outline: none;
}

#yoniu-login-framework .password-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

#yoniu-login-framework .password-toggle {
  position: absolute;
  right: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  color: #999;
}

#yoniu-login-framework .form-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 5px;
}

#yoniu-login-framework .submit {
  margin-top: 0;
  height: 32px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  background-color: #F0F0F0;
  color: #66789E;
  width: auto;
  padding: 0 20px;
  border: none;
  outline: none;
}

#yoniu-login-framework .submit:hover {
  background-color: #E0E0E0;
  opacity: 1;
}

/* Hide register box if present */
#yoniu-login-framework .yoniu-register-box {
  display: none;
}

/* Responsive adjustments */
@media (max-width: 480px) {
  #yoniu-login-framework .yoniu-login-card {
    width: 90%;
    height: auto;
    padding: 30px 20px;
  }
}


.yoniu-author-box-button {
  border: 1px solid var(--themeColor)
}

.yoniu-login-msg {
  margin: 0 auto 15px;
  padding: 5px 10px;
  border-radius: 5px;
  color: var(--highLight);
  background-color: var(--red)
}

#push-post {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--shadow);
  backdrop-filter: blur(10px);
  z-index: 9999999
}

.push-post {
  margin-top: 5vh;
  width: 100%;
  max-width: 600px;
  background-color: var(--backgroundColor);
  border-radius: 16px
}

.push-post-header {
  padding: 6px 10px
}

.push-post-header a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  transition: all .2s ease-in-out
}

.push-post-header a:hover {
  background-color: var(--themeColorOpacity)
}

.push-post svg {
  width: 22px;
  height: 22px;
  color: var(--themeColor);
  fill: var(--themeColor);
  vertical-align: baseline
}

.push-post-body {
  padding: 8px 15px
}

.push-post-body-left img {
  width: 48px;
  height: 48px
}

.push-post-body-right textarea {
  border: none;
  font-size: 16px;
  width: 100%;
  min-height: 62px;
  max-height: 65vh;
  line-height: 1.5;
  outline: 0;
  resize: vertical;
  color: var(--linkColor);
  background-color: var(--backgroundColor)
}

.pushPost-YEmotion-textarea-inline {
  min-height: 45px !important;
}

.push-post-body-right textarea::-webkit-input-placeholder {
  color: var(--contentColorSecondary)
}

.push-post-body-right textarea:-moz-placeholder {
  color: var(--contentColorSecondary)
}

.push-post-body-right textarea::-moz-placeholder {
  color: var(--contentColorSecondary)
}

.push-post-body-right textarea:-ms-input-placeholder {
  color: var(--contentColorSecondary)
}

.push-post-more-setting {
  position: relative;
  border-bottom: 1px solid var(--border)
}

.push-post-action-inline {
  padding-top: 0.5rem;
}

.push-post-body-inline {
  border-bottom: 1px solid var(--border);
}

.push-post-action-inline .push-post-more-setting {
  border-bottom: none;
}

.push-post-more-setting input[type=checkbox] {
  position: absolute;
  opacity: 0
}

.push-post-more-setting label {
  margin: 0 auto;
  padding: 7px 14px;
  font-weight: 500;
  font-size: .9rem;
  line-height: 1rem;
  color: var(--themeColor);
  border-radius: 25px;
  cursor: pointer;
  transition: all .2s ease-in-out
}

.push-post-more-setting label:hover {
  background-color: var(--themeColorOpacity)
}

.push-post-more-setting-box,
.push-post-more-setting-box::after {
  position: absolute;
  background-color: var(--backgroundColor);
  /* 10：需高于信息流实况图内部的 inline z-index（封面1/徽标2），否则实况图会盖住面板 */
  z-index: 10
}

.push-post-more-setting i {
  font-size: 1rem
}

.push-post-more-setting-box {
  display: none;
  left: calc(-115px);
  top: calc(2rem + 10px);
  min-width: 300px;
  padding: 15px;
  border-radius: 16px;
  box-shadow: 0 5px 20px var(--shadow)
}

.push-post-more-setting-box::after {
  content: '';
  display: block;
  top: -8px;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: rotate(45deg) translateX(50%)
}

.push-post-icon .YEmotion-face,
label[for=image-upload],
label[for=image-upload-inline],
label[for=video-upload-inline],
label[for=music-upload-inline],
label[for=live-upload-inline],
label[for=share-upload-inline],
label[for=inset-html],
#push-post-topic-inline {
  display: flex;
  width: 38px;
  height: 38px;
  transition: all .2s ease-in-out;
  cursor: pointer
}

.push-post-more-setting input[type=checkbox]:checked~.push-post-more-setting-box,
#push-post-more-setting-button-inline:checked~.push-post-more-setting-box {
  display: flex
}

.push-post input[type=text] {
  padding: 5px;
  border-bottom: 1px solid var(--border)
}

.push-post input[type=text]:focus {
  border-bottom-color: var(--contentColor)
}

.push-post-more-setting-box select {
  margin-top: .5rem;
  border: 1px solid var(--border);
  border-radius: 5px;
  outline: 0;
  font-size: .9rem;
  padding: 5px;
  color: var(--contentColorSecondary)
}

.push-post-more-setting-box select:focus {
  outline: 0;
  border: 1px solid var(--contentColor)
}

.push-post-button button {
  outline: 0;
  background: var(--themeColor);
  color: var(--highLight);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  padding: 7px 16px;
  border: none;
  border-radius: 999px
}

.push-post-icon .YEmotion-face.show,
.push-post-icon .YEmotion-face:focus,
.push-post-icon .YEmotion-face:hover,
label[for=image-upload]:hover,
label[for=image-upload-inline]:hover,
label[for=video-upload-inline]:hover,
label[for=music-upload-inline]:hover,
label[for=live-upload-inline]:hover,
label[for=share-upload-inline]:hover,
label[for=inset-html]:hover,
#push-post-topic-inline:hover {
  background-color: var(--themeColorOpacity)
}

.push-post-icon {
  position: relative
}

.push-post-icon .YEmotion-face {
  justify-content: center;
  align-items: center;
  border: none;
  border-radius: 50%;
  font-size: unset;
  padding: 0;
  line-height: inherit;
  z-index: unset
}

#image-upload,
#image-upload-inline,
#video-upload-inline,
#music-upload-inline,
#live-upload-inline,
#share-upload-inline,
#inset-html {
  /* 面板切换机关：彻底移除渲染（label 点击仍可切换 :checked） */
  display: none
}

label[for=image-upload],
label[for=image-upload-inline],
label[for=video-upload-inline],
label[for=music-upload-inline],
label[for=live-upload-inline],
label[for=share-upload-inline],
label[for=inset-html],
#push-post-topic-inline {
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  margin: 0 auto
}

label[for=share-upload-inline] svg {
  width: 18px;
  height: 18px
}

label[for=live-upload-inline] svg {
  width: 18px;
  height: 18px
}

/* 实况照片：渲染在段落内时收紧间距（流水线占位保护不包裹它） */
.post-content p>img.itw-live-img {
  margin: 0;
  display: block
}

/* 实况照片：heolivephoto 的包裹层 span 内联了 border-radius:inherit，必须 !important 压制
   增强后结构为 span > video + a > img（或 span > video + img），故需同时匹配含 video 直接子元素的 span */
.itw-img-single span:has(> img.itw-live-img),
.itw-img-single span:has(> video.itw-live-img),
.post-content span:has(> img.itw-live-img),
.post-content span:has(> video.itw-live-img) {
  display: block;
  width: 100%;
  border-radius: 12px !important;
  overflow: hidden
}

/* 网格内的实况项：跟随网格 8px 圆角、按格子拉伸 */
.itw-img-grid span:has(> img.itw-live-img),
.itw-img-grid span:has(> video.itw-live-img) {
  display: block;
  width: 100%;
  border-radius: 8px !important;
  overflow: hidden
}

.itw-img-grid img.itw-live-img {
  object-fit: cover !important;
  border-radius: 8px !important;
  aspect-ratio: 1;
  height: 100%
}

.image-upload,
.image-upload::after,
.video-upload,
.video-upload::after,
.music-upload,
.music-upload::after,
.live-upload,
.live-upload::after,
.link-upload,
.link-upload::after {
  position: absolute;
  background-color: var(--backgroundColor);
  /* 10：需高于信息流实况图内部的 inline z-index（封面1/徽标2），否则实况图会盖住面板 */
  z-index: 10
}

.image-upload {
  display: none;
  left: calc(-100px);
  top: calc(2rem + 10px);
  min-width: 300px;
  padding: 15px;
  border-radius: 16px;
  box-shadow: 0 5px 20px var(--shadow)
}

/* 插入视频面板：视频图标比图片图标更靠右，面板整体再左移避免超出输入框 */
.video-upload {
  display: none;
  left: calc(-140px);
  top: calc(2rem + 10px);
  min-width: 300px;
  padding: 15px;
  border-radius: 16px;
  box-shadow: 0 5px 20px var(--shadow)
}

/* 插入音乐面板：音乐图标在视频图标右侧，面板同样再左移避免超出输入框 */
.music-upload {
  display: none;
  left: calc(-180px);
  top: calc(2rem + 10px);
  min-width: 300px;
  padding: 15px;
  border-radius: 16px;
  box-shadow: 0 5px 20px var(--shadow)
}

/* 分享网站面板：以图标条右缘对齐（分享图标在最右侧），避免 left 偏移跑出发发布框 */
.link-upload {
  display: none;
  right: 0;
  top: calc(2rem + 10px);
  min-width: 300px;
  padding: 15px;
  border-radius: 16px;
  box-shadow: 0 5px 20px var(--shadow)
}

/* 实况照片面板：位于音乐与分享图标之间，左移对齐避免溢出输入框 */
.live-upload {
  display: none;
  left: calc(-210px);
  top: calc(2rem + 10px);
  min-width: 300px;
  padding: 15px;
  border-radius: 16px;
  box-shadow: 0 5px 20px var(--shadow)
}

/* 音乐面板：封面链接输入框与上传封面按钮同行，输入框占满剩余宽度 */
.music-upload .push-image-actions .a-text,
.live-upload .push-image-actions .a-text {
  flex: 1;
  min-width: 0
}

.image-upload::after,
.video-upload::after,
.music-upload::after,
.live-upload::after,
.link-upload::after {
  content: '';
  display: block;
  top: -8px;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: rotate(45deg) translateX(50%)
}

/* 分享面板右对齐定位，箭头相应靠右指向分享图标 */
.link-upload::after {
  left: auto;
  right: 16px;
  transform: rotate(45deg)
}

#image-upload:checked~.image-upload,
#image-upload-inline:checked~.image-upload,
#video-upload-inline:checked~.video-upload,
#music-upload-inline:checked~.music-upload,
#live-upload-inline:checked~.live-upload,
#share-upload-inline:checked~.link-upload {
  display: flex
}

/* 前台发布器：多图上传 / 媒体库选择 */
.push-image-actions {
  gap: 8px
}

/* 输入框下方的已选图片预览区 */
.push-image-preview {
  gap: 8px;
  margin: 8px 0 0
}

/* 输入框下方的已选视频预览区（缩略块复用 .push-image-thumb） */
.push-video-preview {
  gap: 8px;
  margin: 4px 0 0
}

.push-video-thumb video {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--border);
  display: block;
  background: #000
}

/* 输入框下方的已选音乐预览区（封面 + 歌名/歌手） */
.push-music-preview {
  gap: 8px;
  margin: 4px 0 0
}

.push-music-thumb {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 180px;
  padding: 6px 12px 6px 6px;
  border: 1px solid var(--border);
  border-radius: 10px
}

.push-music-cover {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  object-fit: cover;
  flex: none;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--contentBackground)
}

.push-music-cover svg {
  width: 18px;
  height: 18px;
  fill: var(--time)
}

.push-music-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0
}

.push-music-title {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--linkColor);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

.push-music-artist {
  font-size: 12px;
  line-height: 1.2;
  color: var(--contentColorSecondary);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

/* 前台发布/文章正文中的 [video] 短代码视频 */
.post-content .itw-video {
  margin: 8px 0
}

.post-content .itw-video video {
  width: 100%;
  max-width: 100%;
  display: block;
  border-radius: 12px;
  background: #000
}

/* [music] 短代码音乐卡片（正文与列表卡片共用） */
.itw-music {
  margin: 8px 0
}

.itw-music-card {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 360px;
  padding: 8px;
  padding-right: 20px;
  background: var(--contentBackground);
  border-radius: 12px
}

/* 兜底：若灯箱脚本把封面包进链接，抵消其块级与 30px 上下外边距，避免卡片被撑高 */
.itw-music-card a.yoniu-post-image {
  display: flex;
  flex: none;
  margin: 0;
  line-height: 0
}

.itw-music-card a.yoniu-post-image img {
  border-radius: 8px
}

.itw-music-cover {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  object-fit: cover;
  flex: none;
  display: block
}

/* 覆盖 .post-content div>img 的 30px 上下外边距 / height:auto / 12px 圆角，避免卡片被撑高变形 */
.post-content .itw-music .itw-music-cover {
  margin: 0;
  height: 56px;
  border-radius: 8px
}

.itw-music-cover-default {
  display: flex;
  justify-content: center;
  align-items: center
}

.itw-music-cover-default svg {
  width: 22px;
  height: 22px;
  fill: var(--time)
}

.itw-music-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px
}

.itw-music-title {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--linkColor);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

.itw-music-artist {
  font-size: 13px;
  line-height: 1.3;
  color: var(--contentColorSecondary);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

/* 悬浮音乐播放器：播放时出现在左上角，可任意拖动，松手吸附左右侧边 */
#itw-float-player {
  position: fixed;
  top: 76px;
  left: 12px;
  z-index: 9999;
  width: 80px;
  height: 112px;
  padding: 0;
  background: #4a4a4c;
  border: none;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: none;
  display: none;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none
}

#itw-float-player.show {
  display: block
}

#itw-float-player.dragging {
  cursor: grabbing
}

#itw-float-player.snapping {
  transition: left .25s ease-in-out
}

.itw-float-cover {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: none;
  border-radius: 0;
  display: block;
  background: #333
}

.itw-float-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-top: 0;
  padding: 0;
  height: 32px;
  background: #58585a;
  border: none;
  border-radius: 0
}

.itw-float-bar button {
  border: none;
  background: transparent;
  color: #fff;
  width: 50%;
  height: 32px;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: 0;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent
}

.itw-float-bar button:focus,
.itw-float-bar button:active {
  outline: 0;
  box-shadow: none
}

.itw-float-bar svg {
  width: 16px;
  height: 16px;
  fill: currentColor
}

.itw-float-close svg {
  width: 14px;
  height: 14px
}

.itw-float-play .icon-pause {
  display: none
}

#itw-float-player.playing .itw-float-play .icon-play {
  display: none
}

#itw-float-player.playing .itw-float-play .icon-pause {
  display: block
}

.itw-music-play {
  flex: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--linkColor);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent
}

.itw-music-play:focus,
.itw-music-play:active {
  outline: 0;
  box-shadow: none
}

.itw-music-play svg {
  width: 22px;
  height: 22px;
  fill: currentColor
}

.itw-music-play .icon-pause {
  display: none
}

.itw-music-card.playing .icon-play {
  display: none
}

.itw-music-card.playing .icon-pause {
  display: block
}

.itw-music-card audio {
  display: none
}

/* [link] 短代码链接卡片（正文与列表卡片共用），尺寸与音乐卡片一致（360×72） */
.itw-link {
  margin: 8px 0
}

.itw-link-card {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 360px;
  max-width: 100%;
  height: 72px;
  padding: 8px;
  padding-right: 20px;
  background: var(--contentBackground);
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
  transition: opacity .2s ease-in-out
}

.itw-link-card:hover {
  opacity: .85;
  text-decoration: none;
  color: inherit
}

.itw-link-thumbs {
  flex: none;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--themeColorOpacity)
}

.itw-link-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0;
  border-radius: 8px
}

/* 覆盖 .post-content img 的 height:auto / 12px 圆角 / 上下边距，避免卡片图片被撑高变形 */
.post-content .itw-link-thumbs img {
  margin: 0;
  height: 56px;
  border-radius: 8px
}

.itw-link-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px
}

.itw-link-title {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--linkColor);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

.itw-link-desc {
  font-size: 12px;
  line-height: 1.25;
  color: var(--contentColorSecondary);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical
}

/* 发布器里的链接分享预览块 */
.push-share-preview {
  display: none;
  gap: 8px;
  margin: 8px 0 0
}

.push-share-item {
  position: relative;
  display: inline-flex
}

.push-share-card {
  cursor: default
}

.push-share-remove {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--themeColor);
  color: var(--highLight);
  font-size: 12px;
  line-height: 20px;
  cursor: pointer
}

/* 前台发布/文章正文中的 [img] 短代码图片 */
.post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 2px 0
}

/* 单张图片：轻量容器，收紧上下间距 */
.itw-img-single {
  margin: 6px 0
}

/* 灯箱包裹后压掉 a.yoniu-post-image 的 30px 上下外边距，圆角恒定 12px */
.post-content .itw-img-single a.yoniu-post-image,
.itw-img-single a.yoniu-post-image {
  display: block;
  margin: 0;
  line-height: 0;
  border-radius: 12px;
  overflow: hidden
}

.itw-img-single img,
.post-content .itw-img-single img,
.post-content .itw-img-single a.yoniu-post-image img {
  margin: 0 !important;
  border-radius: 12px;
  display: block
}

/* 连续图片九宫格：3 列网格，2 张并排、4 张 2×2 */
.itw-img-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin: 8px 0
}

/* 灯箱脚本会给图片包 <a> 链接（.post-content a.yoniu-post-image 自带 30px 上下 margin），高特异性覆盖之 */
.post-content .itw-img-grid a.yoniu-post-image,
.itw-img-grid a.yoniu-post-image {
  display: block;
  margin: 0;
  line-height: 0;
  border-radius: 8px;
  overflow: hidden
}

/* 高特异性锁定：灯箱包裹前（裸 img/p>img）与包裹后布局一致，消除内页打开瞬间的错落闪动 */
.itw-img-grid img,
.post-content .itw-img-grid img,
.post-content .itw-img-grid p>img {
  width: 100% !important;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px !important;
  margin: 0 !important;
  display: block
}

/* 列表卡片九宫格整体缩小（约 70% 宽度） */
.post-container .itw-img-grid {
  max-width: 360px
}

/* 内页正文图片：鼠标悬浮轻微放大（灯箱链接裁切溢出，不破格） */
.itw-img-single a.yoniu-post-image img,
.itw-img-grid a.yoniu-post-image img {
  transition: transform .3s ease
}

.itw-img-single a.yoniu-post-image:hover img,
.itw-img-grid a.yoniu-post-image:hover img,
.itw-img-single a.yoniu-post-image img:hover,
.itw-img-grid a.yoniu-post-image img:hover {
  transform: scale(1.05)
}

/* 实况照片：悬浮不放大（悬浮时播放底层视频，视频层不缩放，放大封面会错位） */
.itw-img-single a.yoniu-post-image.itw-live-photo:hover img,
.itw-img-grid a.yoniu-post-image.itw-live-photo:hover img,
.itw-img-single a.yoniu-post-image.itw-live-photo img:hover,
.itw-img-grid a.yoniu-post-image.itw-live-photo img:hover {
  transform: none
}

/* 列表卡片图片超过 9 张：第 9 张叠"+N"遮罩，点击进灯箱看大图 */
.itw-grid-more {
  position: relative
}

.itw-grid-more .itw-grid-more-num {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .5);
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 8px
}

/* 列表卡片视频（微博模式）：封面态显示播放按钮，点击后内联播放 */
.itw-video-card {
  position: relative;
  max-width: 360px;
  margin: 8px 0;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
  cursor: pointer
}

.itw-video-card video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block
}

.itw-video-card .itw-video-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .15);
  transition: opacity .2s ease-in-out
}

.itw-video-card .itw-video-play svg {
  width: 44px;
  height: 44px;
  padding: 12px;
  box-sizing: border-box;
  fill: #fff;
  background: rgba(0, 0, 0, .5);
  border-radius: 50%
}

.itw-video-card.playing .itw-video-play {
  opacity: 0;
  pointer-events: none
}

.itw-img-grid[data-count="2"],
.itw-img-grid[data-count="4"] {
  grid-template-columns: repeat(2, 1fr)
}

.itw-img-grid[data-count="2"] img,
.itw-img-grid[data-count="4"] img,
.post-content .itw-img-grid[data-count="2"] img,
.post-content .itw-img-grid[data-count="4"] img,
.post-content .itw-img-grid[data-count="2"] p>img,
.post-content .itw-img-grid[data-count="4"] p>img {
  aspect-ratio: 4/3
}

/* 单张图片：全宽大图展示 */
.itw-img-grid[data-count="1"] {
  grid-template-columns: 1fr
}

.itw-img-grid[data-count="1"] img,
.post-content .itw-img-grid[data-count="1"] img,
.post-content .itw-img-grid[data-count="1"] p>img {
  aspect-ratio: 4/3
}

/* 图库页面（template-gallery）：全宽 1:1 方格，按列宽自适应列数，不走单图/双图特殊布局 */
.itw-img-grid.itw-gallery-grid,
.itw-img-grid.itw-gallery-grid[data-count="1"],
.itw-img-grid.itw-gallery-grid[data-count="2"],
.itw-img-grid.itw-gallery-grid[data-count="4"] {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  margin: 10px 0
}

.itw-img-grid.itw-gallery-grid img,
.post-content .itw-img-grid.itw-gallery-grid img {
  aspect-ratio: 1 !important
}

.itw-gallery-empty {
  text-align: center;
  padding: 40px 0;
  opacity: .6
}

/* 图库月份筛选条与日期分组标题 */
.itw-gallery-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 2px
}

.itw-gallery-filter a {
  font-size: 13px;
  line-height: 1;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--backgroundColor);
  color: var(--linkColor) !important;
  text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease;
  cursor: pointer;
  outline: 0;
  -webkit-tap-highlight-color: transparent
}

.itw-gallery-filter a.is-active {
  background: var(--themeColor);
  color: var(--highLight) !important
}

.itw-gallery-group.is-hidden,
.itw-gallery-batch.is-hidden {
  display: none
}

.itw-gallery-date {
  font-size: 15px;
  font-weight: 500;
  margin: 14px 0 8px
}

/* 图库分批加载：容器底部渐变遮罩 + 加载更多按钮 */
.itw-gallery-wrap {
  position: relative
}

.itw-gallery-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 140px;
  background: linear-gradient(180deg, transparent, var(--backgroundColor) 72%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s ease;
  z-index: 2
}

.itw-gallery-wrap:not(.is-all-loaded) .itw-gallery-fade {
  opacity: 1
}

.itw-gallery-more {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 16px 0 4px;
  z-index: 3
}

.itw-gallery-more-btn {
  border: none;
  background: var(--themeColor);
  color: var(--highLight) !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  padding: 9px 22px;
  border-radius: 999px;
  cursor: pointer;
  outline: 0;
  -webkit-tap-highlight-color: transparent;
  transition: opacity .2s ease
}

.itw-gallery-more-btn:hover {
  opacity: .85
}

.itw-gallery-more-btn.is-hidden {
  display: none
}

@media (max-width: 576px) {
  .itw-img-grid {
    gap: 3px
  }
}

.push-image-actions button {
  flex: 1;
  border: 1px solid var(--border);
  background: var(--backgroundColor);
  color: var(--linkColor);
  font-size: 13px;
  padding: 8px 0;
  border-radius: 8px;
  cursor: pointer;
  transition: all .2s ease-in-out
}

.push-image-actions button:hover {
  background: var(--themeColorOpacity);
  border-color: var(--themeColor)
}

.push-image-actions button:disabled {
  opacity: .6;
  cursor: not-allowed
}

.push-image-thumbs {
  gap: 8px;
  margin-top: 10px
}

.push-image-thumb {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: visible
}

.push-image-thumb img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--border);
  display: block
}

.push-image-thumb-del {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 18px;
  height: 18px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, .65);
  color: #fff;
  font-size: 12px;
  line-height: 18px;
  padding: 0;
  cursor: pointer;
  text-align: center
}

.push-image-thumb-del:hover {
  background: rgba(0, 0, 0, .85)
}

.image-upload-done-inline {
  margin-top: 10px;
  border: none;
  background: var(--themeColor);
  color: #fff;
  font-size: 13px;
  padding: 8px 0;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity .2s ease-in-out
}

.image-upload-done-inline:hover {
  opacity: .85
}

.push-post-YEmotion-inline .YEmotion-face,
#push-post-topic-inline,
label[for=image-upload-inline],
label[for=video-upload-inline],
label[for=music-upload-inline],
label[for=live-upload-inline],
label[for=share-upload-inline] {
  width: 30px;
  height: 30px;
}

.push-post-YEmotion-inline .YEmotion-face svg,
#push-post-topic-inline svg,
label[for=image-upload-inline] svg,
label[for=video-upload-inline] svg,
label[for=music-upload-inline] svg {
  width: 18px;
  height: 18px;
}

.image-upload button {
  outline: 0;
  background: var(--themeColor);
  color: var(--highLight);
  margin-top: .5rem;
  border: none;
  border-radius: 3px
}

.carousel-item-image,
.list-self-box-image,
.yoniu-category-card-image {
  background-image: var(--background);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover
}

#main,
.tab-box-title {
  border-right: 1px solid var(--border)
}

.tool-bar,
.yoniu-sort a {
  border-bottom: 1px solid var(--border);
  font-weight: 500
}

#main {
  position: relative
}

/* 移动端保留 #main 左边框；桌面端（≥768px）由 sticky 容器内的视口高度渐变线（.itw-nav-collapse-sticky::before）替代 */
@media only screen and (max-width: 767px) {
  #main {
    border-left: 1px solid var(--border)
  }
}

.tool-bar {
  position: sticky;
  top: 0;
  background-color: var(--backgroundColorOpacity);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  font-size: 1.2rem;
  z-index: 3
}

.tool-bar-icon {
  color: var(--themeColor);
  width: 36px;
  height: 36px;
  margin-left: calc(.5rem - 18px)
}

.tool-bar-icon:last-child {
  margin-left: 0;
  margin-right: calc(.5rem - 18px)
}

.tool-bar-icon:hover {
  color: var(--themeColor);
  background-color: var(--themeColorOpacity)
}

.yoniu-go-top {
  position: relative;
  overflow: hidden
}

.yoniu-go-top span {
  position: absolute;
  top: 0;
  bottom: 0;
  transform: translateY(0);
  transition: transform .3s ease-in-out
}

.yoniu-go-top::after {
  content: 'Top';
  display: inline-block;
  transform: translateY(2rem);
  transition: transform .3s ease-in-out
}

.carousel-item-image::after,
.carousel-item-image::before,
.list-self-box-image::after,
.list-self-box-image::before,
.random-right::after,
.random-right::before,
.yoniu-author-box-background::before,
.yoniu-category-card-image::after,
.yoniu-category-card.has-image::after,
.yoniu-sort a::before {
  content: ''
}

.yoniu-go-top:hover {
  cursor: pointer
}

.yoniu-go-top:hover span {
  transform: translateY(-2rem)
}

#footer_bar,
.yoniu-go-top:hover::after {
  transform: translateY(0)
}

.list-self-box {
  position: relative;
  overflow: hidden
}

.list-self-box-image {
  position: relative;
  overflow: hidden;
  filter: blur(1px);
  -webkit-animation: slideZoom 60s linear;
  animation: slideZoom 60s linear;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

.list-self-box-content,
.list-self-box-image::after {
  position: absolute;
  top: 0;
  height: 100%;
  left: 0;
  width: 100%
}

.list-self-box-image::before {
  float: left;
  padding-top: 45%
}

.list-self-box-image::after {
  background-color: rgba(0 0 0 / 10%)
}

@-webkit-keyframes slideZoom {
  from {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  to {
    -webkit-transform: scale(1.3);
    transform: scale(1.3)
  }
}

@keyframes slideZoom {
  from {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  to {
    -webkit-transform: scale(1.3);
    transform: scale(1.3)
  }
}

.list-self-box-content {
  color: var(--highLight);
  text-shadow: 0 -2px 10px var(--shadow)
}

.list-self-box-icon-group a,
.w-96 {
  text-shadow: 0 -2px 5px var(--shadow)
}

.list-self-box-title {
  font-size: 34px;
  font-weight: 500
}

.list-self-box-description,
.list-self-box-icon-group,
.list-self-box-title {
  max-width: 96%
}

.list-self-box-icon-group a {
  color: var(--highLight);
  font-size: 1.4rem;
  margin-right: .5rem
}

.list-self-box-icon-group a:last-child {
  margin-right: 0
}

.carousel-item-container {
  display: block;
  position: relative;
  overflow: hidden
}

.carousel-item-link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1
}

.carousel-item-image {
  position: relative;
  overflow: hidden
}

.yoniu-sort,
pre code.hljs {
  overflow-x: auto
}

.carousel-item-image::before {
  float: left;
  padding-top: 45%
}

.carousel-item-image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to bottom, transparent, rgba(0 0 0 / 50%))
}

.carousel-item-content {
  position: absolute;
  bottom: 1rem;
  left: 0;
  width: 100%;
  z-index: 2;
  pointer-events: none
}

.carousel-item-content-time {
  line-height: 1;
  font-size: .8rem;
  color: var(--highLight)
}

.carousel-item-content-title {
  margin: 5px 0;
  font-size: 1.2rem;
  color: var(--highLight);
  font-weight: 500
}

.carousel-item-content-context {
  color: var(--highLight);
  font-size: .9rem
}

.w-96 {
  margin-left: 1.5rem;
  margin-right: 1rem
}

.carousel-control-next,
.carousel-control-prev {
  position: absolute;
  top: 50%;
  bottom: unset;
  transform: translateY(-50%)
}

/* 分类筛选条吸顶：下滑时跟随滚动，停在工具栏（36px 图标 + py-2 内边距 + 1px 边框 = 53px）下方；
   z-index 高于卡片内绝对定位元素（如实况徽标 z-index:2），低于发布框面板（z-index:10） */
#yoniu-sort {
  position: sticky;
  top: 53px;
  z-index: 5;
  background-color: var(--backgroundColor)
}

.yoniu-sort a {
  position: relative;
  flex: 0 0 auto;
  padding: 10px 0;
  color: var(--contentColor);
  transition: .3s color ease-in-out, .3s background-color ease-in-out
}

.yoniu-sort a.current,
.yoniu-sort a:hover {
  color: var(--themeColor)
}

.yoniu-sort a::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  height: 3px;
  width: 3rem;
  border-radius: 3px;
  background-color: var(--themeColor);
  transition: .3s transform ease-in
}

#search-area,
.random-list {
  transition: all .5s ease-out
}

.yoniu-sort a.current::before {
  transform: translateX(-50%) scaleX(1)
}

.yoniu-sort a:hover {
  background-color: var(--themeColorOpacity)
}

.yoniu-category-card-description,
.yoniu-category-card-icon {
  color: var(--contentColor)
}

.yoniu-category-card {
  position: relative;
  border-bottom: 5px solid var(--border);
  background-color: var(--backgroundColor);
  overflow: hidden
}

.yoniu-category-card.has-image::after {
  float: left;
  padding-top: 40%
}

.yoniu-category-card-image {
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  right: 0;
  width: 50%
}

.yoniu-category-card-image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, var(--backgroundColor), transparent)
}

.yoniu-category-card-container {
  padding: 10% 45% 10% 0
}

.yoniu-category-card-container.yoniu-calendar {
  padding: 5% 0
}

.yoniu-category-card-icon .icon {
  font-size: 1.3rem
}

.yoniu-category-card-title h2 {
  font-weight: 500
}

.yoniu-author-box {
  position: relative;
  z-index: 0;
  overflow: hidden;
  border-bottom: 10px solid var(--border)
}

.yoniu-author-box-background {
  position: relative;
  width: 100%;
  background-position: 50% 50%;
  background-size: cover;
  overflow: hidden;
  background-image: var(--authorimg);
  transform: scale(1.1);
  -webkit-filter: brightness(90%) blur(2px);
  filter: brightness(90%) blur(2px);
  z-index: -1
}

.yoniu-author-box-background::before {
  padding-top: 35%;
  float: left
}

.yoniu-author-box-content {
  background-color: var(--backgroundColor);
  padding: 10px;
  z-index: 1
}

.yoniu-author-box-content-header {
  margin-top: -86.5px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end
}

.yoniu-author-box-content-header>img {
  border: 5px solid var(--backgroundColor);
  width: 133px;
  height: 133px
}

.yoniu-author-box-button {
  margin-bottom: 10px;
  display: block;
  line-height: 1;
  font-weight: 500;
  padding: 10px 20px;
  color: var(--themeColor);
  border-radius: 50px
}

.yoniu-author-box-button:hover {
  text-decoration: none;
  color: var(--themeColor);
  border: 1px solid var(--themeColor);
  background-color: var(--themeColorOpacity)
}

.yoniu-author-box-content-body {
  padding: 0 5px;
  line-height: 1.3;
  margin-bottom: 10px
}

.yoniu-author-box-content-body-author {
  margin-top: 8px;
  font-size: 1.3rem;
  font-weight: 500
}

.yoniu-author-box-content-body-user {
  margin-top: 5px;
  color: var(--contentColorSecondary)
}

.yoniu-author-box-content-body-des {
  margin-top: 10px;
  line-height: 1.3;
  color: var(--linkColor)
}

.yoniu-author-box-content-body-count,
.yoniu-author-box-content-body-tag {
  display: flex;
  align-items: center;
  margin-top: 10px;
  line-height: 1.3;
  color: var(--contentColorSecondary)
}

.yoniu-author-box-content-body-count>div,
.yoniu-author-box-content-body-tag>div {
  margin-right: 15px
}

.yoniu-author-box-content-body-tag svg {
  margin-right: 5px;
  font-size: 1.2rem
}

.yoniu-author-box-content-body-count span {
  font-size: .9rem;
  font-weight: 500;
  color: var(--linkColor);
  margin-right: 5px
}

.search-card {
  position: relative;
  padding: 15px;
  border-bottom: 1px solid var(--border)
}

#search-area {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  background-color: var(--contentBackground);
  border: 1px solid var(--border);
  border-radius: 25px
}

#search-area>.submit {
  margin: 0 10px 0 20px;
  padding: 0;
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--contentColor);
  outline: 0
}

.random-list,
.search-random-title {
  padding: 10px 15px;
  border-bottom: 1px solid var(--border)
}

#search-area>.a-text {
  flex-grow: 1
}

.search-random {
  border-top: 10px solid var(--border);
  position: relative
}

.search-random-title {
  font-weight: 500
}

.random-list {
  display: -webkit-flex;
  display: flex;
  align-items: flex-start
}

.random-list:hover {
  background-color: var(--contentBackground)
}

article,
article>.post {
  background-color: var(--backgroundColor)
}

.random-left {
  position: relative;
  flex-grow: 1;
  overflow: hidden;
  margin-right: 10px
}

.random-des {
  font-size: .8rem;
  color: var(--contentColor)
}

.random-des>span:first-child {
  margin-right: 5px
}

.random-des>span:last-child {
  margin-left: 5px
}

.random-title {
  line-height: 1.3125;
  overflow-wrap: break-word
}

.random-title>a {
  color: var(--linkColor)
}

.random-title>a:hover {
  text-decoration: none
}

.random-right {
  position: relative;
  width: 15%;
  max-width: calc(98px);
  min-width: calc(69px);
  overflow: hidden
}

.random-right img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  border: 0 !important;
  border-radius: 15px
}

.random-right::before {
  padding-top: 100%;
  float: left
}

.random-right::after {
  display: block;
  clear: both
}

article {
  position: relative;
  border-bottom: 1px solid var(--border)
}

article>.post {
  position: relative;
  padding: 1rem
}

.yoniu-sticky {
  margin: -5px 5px 5px;
  font-size: 13px;
  color: var(--contentColorSecondary);
  user-select: none
}

.yoniu-sticky svg {
  margin-right: 10px
}

article .post-avatar {
  flex: 0 0 auto;
  margin-right: 10px
}

article .post-author {
  color: var(--linkColor);
  font-weight: 500
}

/* 作者名后的认证图标（蓝色对勾徽章），与名字上下居中对齐 */
.itw-verified {
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-left: 3px;
  vertical-align: middle;
  transform: translateY(-0.13em);
  background: url('../image/verified.svg') center / contain no-repeat
}

/* 作者名后的 @用户ID（Twitter 风格灰色小字） */
.itw-author-id {
  margin-left: 6px;
  color: var(--contentColorSecondary);
  font-size: 0.875em
}

article .post-time {
  position: relative;
  margin-left: 10px;
  padding-left: 5px;
  font-size: 15px;
  color: var(--contentColorSecondary)
}

article .post-time::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 2px;
  background: var(--contentColorSecondary);
  top: 50%;
  transform: translateY(-50%);
  left: -3px
}

article .post-has-comment {
  padding-bottom: 3px
}

.post-has-comment::after {
  content: '';
  position: absolute;
  top: calc(1rem + 48px + 1rem * (1 / 3));
  bottom: 0;
  left: calc(24px + 1rem);
  width: 2px;
  background-color: var(--border)
}

.yoniu-sticky~.post-has-comment::after {
  top: calc(1rem + 68px + 1rem * (1 / 3))
}

.list-comment-content {
  position: relative;
  padding: 1rem;
  background-color: var(--backgroundColor)
}

.list-comment-content::after,
.list-comment-content::before {
  position: absolute;
  left: calc(24px + 1rem);
  width: 2px;
  background-color: var(--border);
  content: ''
}

.list-comment-content::before {
  top: 0;
  height: calc(1rem * (2 / 3))
}

.post-cover-style-image>img,
.post-side-style-image>img {
  height: 100%;
  transition: transform .3s ease-in-out;
  object-fit: cover
}

.list-comment-content::after {
  top: calc(1rem + 48px + 1rem * (1 / 3));
  bottom: 0
}

.post-cover-style,
.post-cover-style-image {
  position: relative;
  overflow: hidden
}

.cite-post-card:hover,
.list-comment-content:hover,
.post-content blockquote,
.post-content table:not(.hljs-ln) th,
.post-content table:not(.hljs-ln) tr:nth-child(2n) {
  background-color: var(--contentBackground)
}

.list-comment-content:last-child:after {
  display: none
}

.list-comment-text {
  word-break: break-all
}

.post-cover-style {
  margin: .5rem 0;
  border: 1px solid var(--border);
  border-radius: 15px;
  background-color: var(--backgroundColor)
}

.post-cover-style-image::before {
  content: '';
  padding-top: 45%;
  float: left
}

.post-cover-style-image::after {
  content: '';
  clear: both;
  position: absolute;
  background: rgba(0, 0, 0, .2);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1
}

.post-cover-style-image>img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border: 0;
  -ms-transition: transform .3s ease-in-out
}

.post-cover-style:hover .post-cover-style-image>img {
  transform: scale(1.05);
  -ms-transform: scale(1.05)
}

.post-cover-style-image>h2 {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  padding: 0 20px;
  font-size: 24px;
  color: var(--highLight);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  z-index: 2
}

.post-cover-style-summary {
  display: -webkit-box;
  margin: 15px;
  text-overflow: ellipsis;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  line-height: 1.5;
  color: var(--contentColor);
  overflow: hidden
}

.breadcrumb,
.breadcrumb-item+.breadcrumb-item::before,
.breadcrumb-item.active,
.post-icon,
.post-icon-group {
  color: var(--contentColorSecondary)
}

.post-icon-group {
  width: 100%;
  max-width: 425px
}

.post-icon {
  font-size: 1.1rem;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  margin-right: .2rem;
  transition: background-color .3s ease-in-out, color .3s ease-in-out
}

.post-icon-dad:hover .post-icon {
  color: var(--themeColor);
  background-color: var(--themeColorOpacity)
}

.post-icon:first-child {
  margin-left: calc((32px - 1.2rem)/ -2)
}

.post-icon-dad>span {
  font-size: .8rem;
  cursor: default;
  transition: color .3s ease-in-out
}

.post-icon-dad:hover>span {
  color: var(--themeColor)
}

.post-icon-comments:hover .post-icon {
  color: #17bf63;
  background-color: rgba(23, 191, 99, .1)
}

.post-icon-praises:hover .post-icon {
  cursor: pointer;
  color: #e0245e;
  background-color: rgba(224, 36, 94, .1)
}

.post-icon-praises.loving .post-icon,
.post-icon-praises.stop {
  cursor: not-allowed
}

.post-icon-comments:hover>span {
  color: #17bf63
}

.post-icon-praises.loving .post-icon,
.post-icon-praises.loving>span,
.post-icon-praises:hover>span {
  color: #e0245e
}

.post-side-style {
  position: relative;
  margin: .5rem 0;
  border: 1px solid var(--border);
  border-radius: 15px;
  background-color: var(--backgroundColor);
  overflow: hidden
}

.post-side-style-image {
  flex: 0 0 auto;
  position: relative;
  width: 100%;
  max-width: 183.44px;
  line-height: 1;
  overflow: hidden
}

.post-side-style-summary,
.post-side-style-title {
  display: -webkit-box;
  line-height: 1.2;
  overflow: hidden;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis
}

.post-side-style-image::before {
  content: '';
  padding-top: 80%;
  float: left
}

.post-side-style-image::after {
  content: '';
  clear: both;
  position: absolute;
  background: rgba(0, 0, 0, .2);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1
}

.dplayer-controller,
.more-pic {
  background-color: var(--shadow)
}

.post-side-style-image>img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border: 0;
  -ms-transition: transform .3s ease-in-out
}

.aplayer,
.bilibili {
  border: 1px solid var(--border)
}

.cite-post-card-image>img,
.extend-box-title>svg,
.yoniu-index-image>img {
  transition: transform .3s ease-in-out
}

.post-side-style:hover .post-side-style-image>img {
  transform: scale(1.2);
  -ms-transform: scale(1.2)
}

.post-side-style-context {
  padding: 10px 15px
}

.post-side-style-title {
  color: var(--linkColor);
  font-size: 24px;
  -webkit-line-clamp: 2;
  max-height: calc(24px * 2 * 1.2);
  margin-bottom: 10px
}

.post-side-style-summary {
  -webkit-line-clamp: 5;
  color: var(--contentColor);
  max-height: calc(5rem * 1.5);
  line-height: 1.5;
  text-align: justify
}

.post-content ul,
.post-content ol {
  padding-inline-start: 0;
  list-style-position: inside
}

.post-twitter-style,
.post-twitter-style:hover {
  color: var(--linkColor)
}

.post-twitter-style {
  display: block;
  margin: .2rem 0
}

.yoniu-page-link>a,
.yoniu-page-link>ol>li {
  display: inline-block
}

.post-twitter-style>.post-twitter-style-summary>p,
.post-twitter-style>p {
  margin-bottom: 0
}

.post-twitter-style-title {
  font-size: 1.2rem
}

.bilibili {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: .5rem
}

.aplayer {
  margin: .5rem 0;
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .1);
  border-radius: 5px
}

.dplayer {
  margin: .5rem 0;
  border: 1px solid var(--border);
  border-radius: 5px;
  overflow: hidden
}

.dplayer:-webkit-full-screen {
  border: 0;
  border-radius: 0
}

.cite-post-card,
.yoniu-photosets {
  border: 1px solid var(--border);
  overflow: hidden
}

.dplayer-controller {
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  height: 48px
}

.dplayer-controller .dplayer-bar-wrap {
  bottom: 40px;
  left: 0;
  width: 100%
}

.dplayer-controller .dplayer-icons {
  bottom: 5px !important
}

.dplayer-video-wrap .dplayer-video {
  max-height: 400px
}

.dplayer:-webkit-full-screen .dplayer-video-wrap .dplayer-video {
  max-height: unset
}

.yoniu-photosets {
  position: relative;
  border-radius: 25px;
  grid-gap: 1px;
  margin: .5rem 0
}

.yoniu-photosets-1 {
  grid-template-columns: 100%
}

.yoniu-photosets-2,
.yoniu-photosets-3,
.yoniu-photosets-4 {
  grid-template-columns: 50% 50%
}

.photosets-overall,
.yoniu-photosets-5,
.yoniu-photosets-6,
.yoniu-photosets-9 {
  grid-template-columns: 1fr 1fr 1fr
}

.yoniu-photosets-3>.yoniu-index-image:first-child {
  grid-row: 1/span 2
}

.yoniu-photosets-5>.yoniu-index-image:first-child {
  grid-column: 1/span 2
}

.photosets-overall.yoniu-photosets-3>.yoniu-index-image:first-child {
  grid-row: 1
}

.photosets-overall {
  border: 0;
  border-radius: 0;
  grid-gap: 3px
}

.yoniu-index-image {
  position: relative;
  overflow: hidden
}

.photosets-overall .yoniu-index-image {
  border-radius: 5px
}

.more-pic,
.yoniu-page-link>a {
  color: var(--highLight);
  border-radius: 9999px;
  line-height: 1
}

.yoniu-index-image::before {
  content: '';
  float: left;
  padding-top: 100%
}

.yoniu-photosets-3 .yoniu-index-image::before,
.yoniu-photosets-4 .yoniu-index-image::before {
  padding-top: calc((9 / 16) * 100%)
}

.photosets-overall .yoniu-index-image::before {
  padding-top: 100% !important
}

.yoniu-photosets-5>.yoniu-index-image:first-child::before {
  padding-top: calc((3 / 4) * 100%)
}

.yoniu-index-image>img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover
}

.yoniu-index-image:hover>img {
  transform: scale(1.1)
}

.yoniu-photosets-1 .yoniu-index-image::before {
  padding-top: calc(9 / 16 * 100%)
}

.more-pic {
  position: absolute;
  padding: 10px;
  bottom: 5px;
  right: 5px;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px)
}

.more-pic:hover {
  color: var(--highLight)
}

.yoniu-page-link {
  margin: 1rem auto
}

.yoniu-page-link>a {
  margin: 0 auto;
  font-size: 12px;
  padding: 10px 15px;
  background: var(--themeColor);
  text-align: center;
  overflow: hidden
}

.yoniu-page-link>a>svg {
  font-size: 14px
}

.yoniu-page-link>ol {
  margin: 0 auto;
  padding: 0;
  border-radius: 5px;
  overflow: hidden
}

.yoniu-page-link>ol>li>a,
.yoniu-page-link>ol>li>span {
  display: block;
  font-size: 12px;
  padding: 5px 10px;
  color: var(--themeColor);
  background: var(--contentBackground)
}

.donut,
.extend-box>input[type=checkbox],
.yoniu-map.error,
.yoniu-map.loaded span.loading {
  display: none
}

.yoniu-page-link>ol>li.current>a {
  background: var(--themeColor);
  color: var(--highLight)
}

@keyframes donut-spin {
  0% {
    transform: rotate(0)
  }

  100% {
    transform: rotate(360deg)
  }
}

.donut {
  margin: 0 auto;
  border: 4px solid var(--border);
  border-left-color: var(--themeColor);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  animation: donut-spin 1.2s linear infinite
}

article.post {
  position: relative;
  padding: 1rem 1rem 0
}

.post-header {
  margin-bottom: 12px
}

.post-header .post-cover-image {
  position: relative;
  margin: -1rem -1rem -72px;
  overflow: hidden;
  background-image: var(--background);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  z-index: 0
}

.post-header .post-cover-image::before {
  content: '';
  float: left;
  padding-top: 40%
}

.post-header .post-cover-image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to bottom, transparent, var(--backgroundColor))
}

.post-header .post-title {
  position: relative;
  font-weight: 500;
  font-size: 1.5rem;
  z-index: 1
}

.post-info {
  position: relative;
  line-height: 1;
  z-index: 1;
  font-size: .9rem
}

.breadcrumb {
  position: relative;
  margin-bottom: .5rem;
  font-size: .9rem;
  z-index: 1
}

.post-info time,
.post-info-author a,
.post-info-icon span {
  color: var(--contentColor)
}

/* postDefault 信息栏：作者名与认证徽章 flex 居中，抵消全局徽章 -0.13em 上移导致的"靠上" */
.post-info-author a {
  display: inline-flex;
  align-items: center
}

.post-info-author a .itw-verified {
  transform: none
}

.post-content {
  word-wrap: break-word;
  line-height: 1.7;
  font-size: 16px;
  letter-spacing: 0.5px;
}

.post-content p {
  margin-bottom: 25px
}

.post-content h2 {
  display: inline-block;
  box-shadow: inset 0 -.9rem 0 0 var(--themeColorOpacity)
}

.post-content a {
  outline: 0;
  transition: all .6s ease-out;
  -ms-transition: all .6s ease-out
}

.post-content a:not(.yoniu-post-image):not(.zhediebtn):not(.a-archives):not(.a-friend):not(.tab-box-title) {
  color: var(--themeColor);
  text-decoration: underline dotted var(--themeColorOpacity)
}

.post-content a:not(.yoniu-post-image):not(.zhediebtn):not(.a-archives):not(.a-friend):not(.tab-box-title):hover {
  text-decoration: underline dotted var(--themeColor)
}

#comments a:hover,
.box-shang a:hover,
.category-child>a:hover,
.post-content a.a-post-h-Link:hover {
  text-decoration: none
}

.post-content p>img,
.post-content div>img:not(.biaoqing) {
  max-width: 100%;
  margin: 30px 0
}

.post-content a.yoniu-post-image img {
  text-align: center;
  max-width: 100%;
  border-radius: 15px
}

.post-content a.yoniu-post-image {
  position: relative;
  display: block;
  max-width: 100%;
  text-align: center;
  margin: 30px 0;
  line-height: 1;
}

.post-content a.yoniu-post-image:hover .a-post-imgTip {
  transform: translateY(-5px)
}

.a-post-imgTip {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 0;
  padding: 10px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--contentBackground);
  font-size: 12px;
  text-align: center;
  transition: all .2s ease-out;
  z-index: 2
}

.post-content a.yoniu-post-image:hover {
  opacity: 1
}

.post-content a.a-post-h-Link {
  display: block;
  color: unset !important
}

.post-content table:not(.hljs-ln) {
  display: table;
  border-spacing: 0;
  width: 100%;
  margin: 20px 0;
  border: var(--contentBackground) solid;
  border-radius: 5px;
  font-size: 14px
}

.post-content table:not(.hljs-ln) thead {
  font-weight: 600;
  font-size: 16px
}

.post-content table:not(.hljs-ln) td,
.post-content table:not(.hljs-ln) th {
  padding: 6px 13px;
  word-break: break-all
}

.post-content table:not(.hljs-ln) th {
  text-align: left;
  font-weight: 500
}

.post-content code:not([class*=language]) {
  margin: 0 5px;
  white-space: pre-wrap
}

.post-content blockquote {
  position: relative;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
  font-size: 1.2rem;
  color: var(--contentColor);
  border: 1px solid transparent;
  overflow: hidden
}

.extend-box>input[type=checkbox]:checked~.extend-box-title,
.post-button-list,
.post-data-show,
.tab-box-title-list {
  border-bottom: 1px solid var(--border)
}

.post-content blockquote p {
  line-height: 1.6;
  color: var(--contentColor);
  font-size: 1rem
}

.post-content blockquote::before {
  content: "”";
  position: absolute;
  bottom: -4rem;
  right: 10px;
  line-height: 1;
  color: var(--border);
  font-size: 8rem;
  z-index: 0
}

.biaoqing {
  width: 24px
}

.content-fa {
  font-size: 1.2rem;
  margin-right: 8px
}

.cite-post-card {
  position: relative;
  margin: .5rem 0;
  padding: 12px;
  font-size: 15px;
  border-radius: 10px
}

.cite-post-card-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2
}

.cite-post-card-header {
  line-height: 1
}

.cite-post-card-header .cite-post-card-author {
  margin: 0 .2rem;
  font-weight: 500
}

.cite-post-card-title {
  position: relative;
  padding-left: 1rem;
  color: var(--contentColorSecondary);
  text-overflow: ellipsis;
  max-width: 80%;
  white-space: nowrap;
  overflow: hidden
}

.cite-post-card-title::before {
  content: '';
  position: absolute;
  width: 2px;
  height: 2px;
  top: 50%;
  left: .3rem;
  background-color: var(--contentColorSecondary)
}

.cite-post-card-context {
  margin-top: 4px;
  line-height: 20px;
  overflow-wrap: break-word;
  white-space: pre-wrap
}

.cite-post-card-image {
  position: relative;
  overflow: hidden;
  margin: 10px -12px -12px
}

.cite-post-card-image::before {
  content: '';
  float: left;
  padding-top: 45%
}

.cite-post-card-image>img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover
}

.extend-box {
  border: 1px solid var(--border);
  border-radius: 5px;
  margin: .5rem 0;
  background-color: var(--backgroundColor);
  overflow: hidden
}

.extend-box .extend-box-title {
  padding: .5rem 1rem;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer
}

.extend-box .extend-box-title:hover {
  background-color: var(--contentBackground)
}

.extend-box-title>svg {
  font-size: .9rem;
  transform: rotate(0)
}

.extend-box-content,
.tab-box-content {
  transition: .3s all ease-in-out;
  overflow: hidden
}

.extend-box-content {
  padding: 0 1rem;
  height: 0
}

.extend-box>input[type=checkbox]:checked~.extend-box-content {
  padding: 1rem;
  height: auto
}

.extend-box>input[type=checkbox]:checked~.extend-box-title {
  background-color: var(--contentBackground)
}

.extend-box>input[type=checkbox]:checked~.extend-box-title>svg {
  transform: rotate(180deg)
}

.yoniu-tab-box {
  margin: .5rem 0;
  border: 1px solid var(--border);
  border-radius: 5px;
  background-color: var(--backgroundColor)
}

.tab-box-title-list {
  line-height: 1;
  background-color: var(--contentBackground)
}

.tab-box-title {
  padding: .5rem 1rem;
  font-size: 15px;
  color: var(--contentColorSecondary)
}

.tab-box-title.current {
  font-weight: 500;
  color: var(--contentColor);
  background-color: var(--backgroundColor)
}

.tab-box-title:active,
.tab-box-title:focus,
.tab-box-title:hover {
  color: var(--contentColorSecondary)
}

.tab-box-content {
  height: 0;
  padding: 0 1rem
}

.tab-box-content.current {
  height: auto;
  padding: .5rem 1rem
}

.twitter-header {
  margin-bottom: 1rem
}

.twitter-author {
  line-height: 1.2
}

.twitter-author-screenName a {
  color: var(--linkColor);
  font-weight: 500
}

.twitter-author-screenName a:hover {
  text-decoration: underline
}

.twitter-author-name {
  color: var(--contentColorSecondary);
  font-size: 15px
}

.post-twitter .post-content p {
  font-size: 1.4rem
}

.post-twitter-time {
  margin: .5rem 0;
  color: var(--contentColor);
  font-size: .875rem
}

.post-archives,
.post-tags {
  margin-bottom: 1rem
}

.post-tags svg {
  margin-top: .5rem;
  font-size: 1.2rem;
  color: var(--contentColor)
}

.post-tags a {
  margin-top: .5rem;
  margin-left: .5rem;
  color: var(--themeColor);
  line-height: 1
}

.post-tags a:hover {
  text-decoration: underline
}

.post-tags a::before {
  content: '#'
}

.post-data-show {
  padding: .9rem .2rem;
  font-size: .8rem;
  color: var(--contentColor)
}

.post-data-show span {
  color: var(--linkColor);
  font-weight: 500
}

.post-data-view {
  margin-right: 1rem
}

.post-data-link {
  margin-left: 1rem
}

.post-data-link a {
  color: var(--contentColor)
}

.post-data-link a:focus,
.post-data-link a:hover {
  text-decoration: underline
}

.yoniu-map {
  --aspect-ratio: calc(5 / 16 * 100%);
  position: relative;
  margin-top: .5rem;
  border-radius: 5px;
  overflow: hidden
}

.yoniu-map span.loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: .9rem;
  color: var(--contentColorSecondary)
}

.post-button-list {
  position: relative;
  padding: .3rem 0
}

.post-button-list svg {
  font-size: 1.4rem;
  color: var(--contentColorSecondary);
  transition: .2s color ease-in-out
}

.post-button-list>a:hover svg,
.post-button-praise.loving svg {
  color: var(--themeColor)
}

.post-button-list>a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  line-height: 1;
  transition: .2s background-color ease-in-out
}

#post-detail,
.yoniu-menu-list {
  display: none
}

.post-button-list>a:hover {
  background-color: var(--themeColorOpacity)
}

.post-button-secondary {
  --themeColor: #00ba7c;
  --themeColorOpacity: rgba(0, 186, 124, 0.1)
}

.post-button-praise {
  --themeColor: #f91880;
  --themeColorOpacity: rgba(249, 24, 128, 0.1)
}

.post-button-praise.stop {
  cursor: not-allowed
}

.yoniu-menu-list-container {
  position: absolute;
  top: 40px;
  right: .5rem;
  height: 0;
  background-color: var(--backgroundColor);
  border-radius: 5px;
  overflow: hidden;
  z-index: 1020
}

.yoniu-menu-list[checked]~.yoniu-menu-list-container {
  height: auto;
  box-shadow: rgba(101, 119, 134, .2) 0 0 15px, rgba(101, 119, 134, .15) 0 0 3px 1px
}

.yoniu-menu-list-container .yoniu-menu-list-item {
  display: flex;
  align-items: center;
  padding: .8rem 1rem;
  color: var(--linkColor);
  transition: background-color .3s ease-in-out
}

.yoniu-menu-list-container .yoniu-menu-list-item svg {
  margin-right: .8rem
}

.yoniu-menu-list-container .yoniu-menu-list-item:hover {
  background-color: rgba(0, 0, 0, .03)
}

.yoniu-menu-list-container .yoniu-menu-list-divider {
  height: 1px;
  background-color: rgba(101, 119, 134, .15)
}

.post-archives .link-title {
  display: block;
  text-align: center;
  font-size: 1.3rem;
  margin-top: 15px;
  margin-bottom: 10px;
  box-shadow: none
}

.post-archives .link-title span {
  text-align: center;
  margin-bottom: 10px;
  box-shadow: inset 0 -7px 0 0 var(--themeColorOpacity)
}

.post-archives .archives-h3 {
  display: block;
  color: var(--linkColor) !important;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.1;
  margin: .5rem 0;
  transition: none
}

.post-archives li a,
.post-archives li span {
  color: var(--contentColor)
}

.post-archives .archives-h3::before {
  content: '-'
}

.post-archives .archives-h3[aria-expanded=false]::before {
  content: '+'
}

.yoniu-post-1 .poster-img::before,
.yoniu-post-2 .poster-img::after,
.yoniu-post-2 .poster-img::before,
.yoniu-timeline-item::after,
.yoniu-timeline-item::before,
.yoniu-timeline-title::before {
  content: ''
}

.post-archives .archives-h3:hover {
  text-decoration: none !important
}

.post-archives li {
  list-style: none;
  display: flex;
  align-items: center
}

.post-archives li span {
  padding: 3px 5px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  background-color: var(--border);
  margin-right: 5px
}

.reader {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 1rem 0
}

.reader>div {
  flex: 0 0 33.33%;
  padding: 10px;
  text-align: center
}

.reader>div a {
  display: block;
  position: relative;
  margin: 0 auto;
  color: var(--linkColor) !important
}

.reader>div a:hover {
  text-decoration: none !important
}

.reader>div img {
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto;
  border-radius: 5px
}

.reader>div i {
  position: absolute;
  top: calc(-.2rem - .25rem);
  right: calc(((100% - 80px)/ 2) - 1rem);
  padding: .2rem .5rem;
  color: var(--highLight);
  background-color: var(--themeColor);
  border: 3px solid var(--backgroundColor);
  border-radius: 25px;
  font-weight: 500;
  font-style: normal;
  font-size: .5rem;
  line-height: 1
}

.alert-yoniu {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 15px;
  color: var(--contentColor);
  background-color: var(--contentBackground)
}

.a-text::-webkit-input-placeholder {
  color: var(--contentColor)
}

.a-text:-moz-placeholder {
  color: var(--contentColor)
}

.a-text::-moz-placeholder {
  color: var(--contentColor)
}

.a-text:-ms-input-placeholder {
  color: var(--contentColor)
}

.imlocked .a-text {
  border-radius: 5px;
  border: 1px solid transparent;
  padding: 5px 10px;
  margin-right: 10px;
  min-width: 240px
}

.imlocked .a-text:focus {
  border-color: var(--themeColor);
  background-color: var(--backgroundColor)
}

.imlocked .a-submit {
  padding: 4px 15px;
  text-align: center;
  border-radius: 999px;
  border: 0;
  color: var(--linkColor);
  font-weight: 500;
  background-color: transparent;
  font-size: 15px
}

.imlocked .a-submit:hover {
  background-color: var(--shadow)
}

#create-poster-body {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--backgroundColorOpacity);
  backdrop-filter: blur(20px);
  z-index: 1099
}

.yoniu-post-1,
.yoniu-post-2 {
  top: -99999px;
  overflow: hidden
}

.create-poster-container {
  max-width: 480px;
  width: 90%
}

.create-poster-container>img {
  border: 5px solid var(--border);
  border-radius: 10px;
  box-shadow: 0 0 40px var(--shadow)
}

.create-poster-button-list {
  display: flex;
  margin-top: 1rem
}

.create-poster-button-list a,
.create-poster-tip {
  padding: 8px;
  border-radius: 5px;
  font-size: .9rem;
  font-weight: 500;
  background-color: var(--contentBackground);
  box-shadow: 0 0 10px var(--shadow)
}

.create-poster-button-list a {
  padding: 8px 12px;
  color: var(--linkColor);
  margin-left: 1rem
}

.create-poster-button-list a:first-child {
  margin-left: 0
}

.create-poster-button-list a:hover {
  color: var(--highLight);
  background-color: var(--themeColor)
}

.yoniu-post-1 {
  position: fixed;
  width: 640px;
  background: #fff;
  padding: 20px
}

.yoniu-post-1 .poster-img {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 20px
}

.yoniu-post-1 .poster-img::before {
  padding-top: 70%;
  float: left
}

.yoniu-post-1 .poster-img>img.yoniu-fluid {
  position: absolute;
  top: 0;
  left: 0;
  height: auto;
  min-height: 100%;
  width: 100%;
  object-fit: cover;
  border: 0 !important
}

.yoniu-post-1 .poster-img .poster-title {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  font-size: 34px;
  font-weight: 500;
  color: #fff;
  line-height: 1.3;
  text-shadow: 0 3px 5px rgba(0, 0, 0, .3)
}

.yoniu-post-1 .poster-img .poster-qrcode {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  border-radius: 20px;
  padding: 15px;
  background-color: rgba(255, 255, 255, .3)
}

.yoniu-post-1 .poster-blog {
  margin-top: 15px;
  font-size: 18px;
  color: #333
}

.yoniu-post-1 .poster-blog-right {
  padding: 5px 10px;
  background-color: var(--themeColor);
  color: #fff;
  border-radius: 5px
}

.yoniu-post-1 .poster-blog,
.yoniu-post-1 .poster-img .poster-qrcode {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.yoniu-post-1 .poster-qrcode-left {
  font-size: 24px;
  color: #fff;
  flex: 1 0 auto
}

.yoniu-post-1 .poster-qrcode-right {
  flex: 0 0 auto
}

.yoniu-post-1 .poster-qrcode-right>img {
  padding: 10px;
  background-color: rgba(255, 255, 255);
  width: 86px;
  height: auto;
  border-radius: 5px
}

.yoniu-post-2 {
  position: fixed;
  width: 400px;
  background: #fff
}

.box-img,
.link-card-image .link-card-img,
.post-links .post-links-card .post-links-card-header .post-links-card-image,
.post-links .post-links-card::after,
.yoniu-post-2 .poster-img {
  background-position: 50% 50%;
  background-size: cover
}

.yoniu-post-2 .poster-img {
  position: relative;
  width: 100%;
  overflow: hidden
}

.yoniu-post-2 .poster-img::before {
  padding-top: 70%;
  float: left
}

.yoniu-post-2 .poster-img::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
  z-index: 1
}

.yoniu-post-2 .poster-content {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 2;
  color: #fff
}

.yoniu-post-2 .poster-sort {
  margin-bottom: 5px;
  font-size: 13px
}

.yoniu-post-2 .poster-sort>span {
  padding: 4px 10px;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, .3);
  line-height: 1
}

.yoniu-post-2 .poster-title {
  position: relative;
  font-size: 24px;
  font-weight: 500;
  color: #fff;
  line-height: 1.3
}

.yoniu-post-2 .poster-des {
  padding: 10px 20px;
  font-size: 14px;
  color: #333;
  word-break: break-all
}

.yoniu-post-2 .poster-qrcode {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 5px;
  padding: 10px 20px;
  background-color: #eee;
  margin: 10px
}

.yoniu-post-2 .poster-qrcode-left {
  font-size: 16px;
  color: #8e8e8e;
  flex: 1 0 auto
}

.yoniu-post-2 .poster-qrcode-right {
  flex: 0 0 auto
}

.yoniu-post-2 .poster-qrcode-right>img {
  padding: 10px;
  background-color: rgba(255, 255, 255);
  width: 76px;
  height: auto;
  border-radius: 5px
}

.yoniu-post-2 .poster-blog {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 10px 10px;
  color: #8e8e8e;
  font-size: 13px
}

.yoniu-timeline {
  position: relative;
  padding: 10px 0
}

.yoniu-message-send .yoniu-message-word a,
.yoniu-timeline a {
  color: var(--highLight) !important;
  text-decoration: underline var(--highLight) !important
}

.yoniu-timeline-item>span,
.yoniu-timeline-title>span {
  background-color: var(--themeColor);
  color: var(--highLight)
}

.yoniu-timeline-title {
  position: relative;
  margin-top: 1rem
}

.yoniu-timeline-title:first-child {
  margin-top: 0
}

.yoniu-timeline-title::before {
  position: absolute;
  left: calc(15px + 1rem);
  top: -1rem;
  background-color: var(--themeColor);
  width: 3px;
  height: calc(1rem + 1px)
}

.yoniu-timeline-title:first-child::before {
  display: none
}

.yoniu-timeline-title>span {
  padding: 5px 20px;
  border-radius: 25px;
  font-size: .9rem
}

.yoniu-timeline-item {
  position: relative;
  padding-left: calc(15px + 2rem);
  margin-top: 1rem
}

.yoniu-timeline-item::after {
  position: absolute;
  left: calc((15px + 1rem) - 3.5px);
  top: calc(50% - 5px);
  background-color: var(--themeColor);
  border: 3px solid var(--highLight);
  width: 10px;
  height: 10px;
  border-radius: 50%
}

.yoniu-timeline-item::before {
  position: absolute;
  left: calc(15px + 1rem);
  top: -1rem;
  background-color: var(--themeColor);
  width: 3px;
  height: calc(100% + 1rem)
}

.yoniu-message-word>span::before,
.yoniu-timeline-item>span::before {
  left: -4px;
  top: calc(50% - 4px);
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  content: ''
}

.yoniu-timeline-item>span {
  position: relative;
  display: inline-block;
  padding: .5rem 1rem;
  border-radius: 5px;
  max-width: 300px
}

.yoniu-timeline-item>span::before {
  position: absolute;
  width: 0;
  height: 0;
  border-right: 4px solid var(--themeColor)
}

.yoniu-message-receive {
  display: flex;
  padding: 10px 0;
  justify-content: flex-start
}

.yoniu-message-send {
  display: flex;
  padding: 10px 0;
  justify-content: flex-end
}

.yoniu-message-user {
  display: flex;
  flex-direction: column;
  text-align: center
}

.yoniu-message-user>img {
  border-radius: 50%;
  width: 50px;
  height: 50px
}

.yoniu-message-user>span {
  font-size: .8rem;
  opacity: .8
}

.yoniu-message-word {
  margin: 0 10px
}

.yoniu-message-word>span {
  position: relative;
  display: inline-block;
  padding: .5rem 1rem;
  background-color: var(--border);
  color: var(--linkColor);
  border-radius: 5px;
  max-width: 300px
}

.yoniu-message-word>span::before {
  position: absolute;
  width: 0;
  height: 0;
  border-right: 4px solid var(--border)
}

.yoniu-message-send .yoniu-message-user {
  order: 2
}

.yoniu-message-send .yoniu-message-word>span {
  background-color: var(--themeColor);
  color: var(--highLight)
}

.yoniu-message-send .yoniu-message-word>span::before {
  left: unset;
  right: -4px;
  border-left: 4px solid var(--themeColor);
  border-right: 0
}

.link-card-image,
.link-card-left {
  border-right: 1px solid var(--border)
}

.yoniu-link-card {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1rem auto;
  width: clamp(350px, calc(100% - 20px), 450px);
  border: 1px solid var(--border);
  border-radius: 16px;
  text-decoration: none !important;
  transition: none !important;
  overflow: hidden
}

.link-card-left {
  flex: 0 1 auto;
  padding: 10px;
  width: 104px;
  height: 104px;
  min-height: 104px;
  max-height: 104px;
  font-size: 84px;
  line-height: 84px;
  color: var(--themeColorOpacity)
}

.link-card-image {
  flex: 0 1 auto
}

.link-card-image .link-card-img {
  width: 128px;
  background-image: var(--background);
  overflow: hidden
}

.link-card-image .link-card-img:before {
  content: '';
  padding-top: 100%;
  float: left
}

.link-card-right {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 5px 10px;
  line-height: 1.5rem
}

.link-card-title {
  color: var(--linkColor)
}

.link-card-desc,
.link-card-tip {
  color: var(--contentColorSecondary)
}

.link-card-desc {
  display: -webkit-box;
  max-width: 100%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis
}

.link-card-tip {
  font-size: .8rem
}

.yoniu-link-card:hover {
  text-decoration: none !important;
  background-color: var(--contentBackground)
}

.post-links {
  margin: 1rem 0;
  padding-top: 1rem
}

.post-links .post-links-title {
  text-align: center;
  margin: .5rem 0 1rem
}

.post-links .post-links-title span {
  display: inline-block;
  padding: 0 .2rem;
  font-size: 1.2rem;
  font-weight: 500;
  box-shadow: inset 0 -.8rem 0 var(--themeColorOpacity)
}

.post-links .post-links-card {
  position: relative;
  margin: .5rem 1rem;
  padding: 10px;
  border-radius: 5px;
  border: 1px solid var(--border);
  transition: all .3s ease-in-out;
  overflow: hidden
}

.post-links .post-links-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  filter: blur(10px);
  background-image: var(--background);
  object-fit: cover;
  transform: scale(1.2);
  border: 0 !important;
  z-index: 0
}

.post-links .post-links-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 20px var(--shadow)
}

.post-links .post-links-card a {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2
}

.post-links .post-links-card .post-links-card-description,
.post-links .post-links-card .post-links-card-header {
  position: relative;
  z-index: 1
}

.post-links .post-links-card .post-links-card-header .post-links-card-image {
  width: 48px;
  height: 48px;
  background-image: var(--background);
  border-radius: 50%;
  overflow: hidden
}

.post-links .post-links-card .post-links-card-header .post-links-card-title {
  line-height: 1.1;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--highLight);
  text-shadow: 0 0 1px #000
}

.post-links .post-links-card .post-links-card-description {
  margin-top: .5rem;
  font-size: .9rem;
  color: var(--highLight);
  text-shadow: 0 0 1px #000;
  line-height: 1.2
}

.yy-code-highlight {
  margin: 1.5em 0;
  background-color: #eee;
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
  border-radius: 5px;
  overflow: hidden
}

.yy-code-highlight .hljs {
  background-color: #f3f3f3;
  color: #333
}

.yy-code-highlight .highlight-decorate {
  display: block;
  margin: 8px 0 8px 8px;
  border-radius: 50%;
  background: 10px 10px no-repeat #ff0800;
  width: 12px;
  height: 12px;
  -webkit-box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
  box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b
}

.yy-code-highlight .highlight-copy {
  outline: 0;
  padding: 0;
  margin: 8px 8px 8px 0;
  line-height: 1;
  font-size: .8rem;
  border-radius: 15px;
  border: 0;
  background-color: transparent;
  color: #586069
}

.a-comment-list,
.comment-children .author {
  border-top: var(--border) 1px solid
}

.yy-code-highlight .highlight-copy:focus,
.yy-code-highlight .highlight-copy:hover {
  outline: 0;
  background-color: transparent;
  opacity: .8
}

.yy-code-highlight .hljs-ln-numbers {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-align: center;
  color: hsla(0, 4%, 60.4%, .38);
  border-right: none;
  vertical-align: top;
  padding-right: 5px !important
}

.yy-code-highlight .hljs-ln-code {
  padding-left: 10px !important
}

/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/
pre code.hljs {
  display: block;
  padding: 1em
}

#search,
.a-avatar>img,
.box-img,
.sidebar-newposts-right,
.widget,
.widget-media-span {
  overflow: hidden
}

code.hljs {
  padding: 3px 5px
}

.hljs {
  color: #24292e;
  background: #fff
}

.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
  color: #d73a49
}

.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
  color: #6f42c1
}

.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id,
.hljs-variable {
  color: #005cc5
}

.hljs-meta .hljs-string,
.hljs-regexp,
.hljs-string {
  color: #032f62
}

.hljs-built_in,
.hljs-symbol {
  color: #e36209
}

.hljs-code,
.hljs-comment,
.hljs-formula {
  color: #6a737d
}

.hljs-name,
.hljs-quote,
.hljs-selector-pseudo,
.hljs-selector-tag {
  color: #22863a
}

.hljs-subst {
  color: #24292e
}

.hljs-section {
  color: #005cc5;
  font-weight: 500
}

.hljs-bullet {
  color: #735c0f
}

.hljs-emphasis {
  color: #24292e;
  font-style: italic
}

.hljs-strong {
  color: #24292e;
  font-weight: 500
}

.hljs-addition {
  color: #22863a;
  background-color: #f0fff4
}

.hljs-deletion {
  color: #b31d28;
  background-color: #ffeef0
}

.a-b-q:hover,
.secret-comment {
  background-color: var(--contentBackground)
}

#comments {
  margin: 0 -1rem
}

.comment-close {
  border-bottom: 1px solid var(--border)
}

.comment-close {
  padding-bottom: 1.5rem
}

.comment-edit-link {
  display: none
}

.a-comment:hover .comment-edit-link {
  display: inline
}

.comment-close .alert {
  margin: 1rem
}

.comment-list {
  padding: 0;
  margin: 0
}

.a-b-q {
  padding: 1rem 1rem 10px
}

.author {
  margin-left: 12px
}

.comment-children {
  margin-top: 0;
  padding: 12px 0 0 12px
}

.comment-children .a-b-q {
  padding: 12px 0 0 12px;
  border-bottom: none
}

.comment-children .comment-children {
  padding: 12px 0 0
}

.comment-children .author {
  margin-top: -12px;
  margin-left: 0;
  padding: 12px 0 0 12px;
  flex-grow: 1
}

.comment-load-more,
.page-navigator {
  border-top: 1px solid var(--border)
}

.comment-author,
.comment-author b,
.comment-author a {
  font-weight: 500
}

.comment-author {
  display: flex;
  align-items: center
}

.comment-author a,
.comment-author a:hover {
  color: var(--linkColor)
}

.comment-author span {
  margin-left: 5px
}

#search>.submit,
.comment-reply a {
  color: var(--contentColor)
}

input,
textarea {
  outline: 0
}

.comment-content p {
  margin-bottom: 2px;
  word-break: break-all
}

.comment-body ol {
  padding: 0
}

.a-comment-list>ol,
.a-comment-page>ol {
  margin: 0;
  padding: 0;
  list-style-type: none
}

.a-comment:last-child>div {
  border-bottom: none !important
}

.comment-reply {
  display: block;
  font-size: 13px;
  text-align: center;
  margin-top: 5px
}

.comment-body ol .a-avatar>img {
  width: 30px;
  height: 30px
}

.a-comment-time {
  font-size: 12px;
  color: var(--time)
}

.secret-comment {
  font-size: 1rem;
  line-height: 1.2;
  color: var(--contentColorSecondary)
}

.a-comment .comment-container {
  border-radius: 5px;
  border: 1px solid var(--border);
  background-color: var(--backgroundColor)
}

.comment-content img:not(.biaoqing) {
  display: block;
  margin: 5px 0;
  max-width: 100%;
  border-radius: 5px
}

.comment-load-more {
  padding: .5rem;
  color: var(--themeColor);
  text-align: center;
  font-size: 1.1rem;
  transition: .3s ease-in-out background-color
}

.comment-load-more:hover {
  background-color: rgba(0 0 0 / 10%)
}

.comment-load-more.disabled {
  cursor: not-allowed;
  color: var(--time)
}

.page-navigator {
  display: flex;
  margin: 0 auto;
  padding: .5rem;
  list-style-type: none;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap
}

.page-navigator li {
  margin: 0 .5rem;
  padding: 0
}

.page-navigator li a {
  display: block;
  padding: .4rem .6rem;
  color: var(--themeColor);
  background-color: var(--highLight);
  border: 1px solid var(--themeColor);
  border-radius: 50%;
  line-height: 1
}

.page-navigator li.current a {
  border: 1px solid var(--themeColor);
  color: var(--highLight);
  background-color: var(--themeColor)
}

.comment-latest-preview {
  border: 1px solid var(--border);
  border-radius: 0;
  background-color: transparent;
  overflow: visible;
  margin-bottom: .8rem
}

.comment-latest-preview .widget-list {
  border-top: 0;
  padding: 10px 15px
}

.comment-latest-preview .widget-list:hover {
  background-color: transparent
}

.comment-container {
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--border)
}

.comment-container .cancel-comment-reply {
  padding-left: calc(48px + 1rem)
}

.comment-container textarea {
  border: 0;
  font-size: 1.3rem;
  resize: none;
  height: 2.4rem;
  line-height: 1.6;
  padding: 0;
  color: var(--linkColor);
  background-color: var(--backgroundColor)
}

.comment-container textarea::-webkit-input-placeholder {
  color: var(--contentColorSecondary)
}

.comment-container textarea:-moz-placeholder {
  color: var(--contentColorSecondary)
}

.comment-container textarea::-moz-placeholder {
  color: var(--contentColorSecondary)
}

.comment-container textarea:-ms-input-placeholder {
  color: var(--contentColorSecondary)
}

.comment-container .submit {
  background-color: var(--themeColor);
  border-radius: 9999px;
  color: var(--highLight);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  padding: 8px 16px;
  border: 0;
  outline: 0
}

.comment-container .submit.ban {
  cursor: not-allowed;
  opacity: .5
}

.comment-container .far-avatar {
  margin-left: calc(48px + 1rem)
}

.comment-container .reply-image,
.comment-container .reply-secret {
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  border-radius: 50%;
  margin-left: 2px;
  padding: 0;
  cursor: pointer;
  width: 32px;
  height: 32px;
  transition: all .3s ease-in-out
}

.comment-container .reply-image svg,
.comment-container .reply-secret svg {
  width: 22px;
  height: 22px;
  color: var(--themeColor);
  fill: var(--themeColor);
  vertical-align: baseline
}

.comment-container .reply-image:hover,
.comment-container .reply-secret:hover {
  background-color: var(--themeColorOpacity)
}

.comment-container #commentSecret:checked~label.reply-secret,
.comment-container #commentSecret:checked~label.reply-secret:hover {
  background-color: var(--themeColor)
}

.comment-container #commentSecret:checked~label.reply-secret svg {
  color: var(--highLight);
  fill: var(--highLight)
}

.comment-container .reply-YEmotion .YEmotion-face {
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  border-radius: 50%;
  font-size: unset;
  margin-left: -8px;
  padding: 0;
  cursor: pointer;
  width: 32px;
  height: 32px;
  line-height: inherit;
  z-index: unset;
  transition: all .3s ease-in-out
}

.comment-container .reply-YEmotion .YEmotion-face.show,
.comment-container .reply-YEmotion .YEmotion-face:focus,
.comment-container .reply-YEmotion .YEmotion-face:hover {
  background-color: var(--themeColorOpacity)
}

.comment-container .reply-YEmotion .YEmotion-face svg {
  width: 22px;
  height: 22px;
  color: var(--themeColor);
  fill: var(--themeColor);
  vertical-align: baseline
}

#comment-info {
  padding: .5rem 0
}

#comment-info .a-text {
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 10px
}

#comment-info .a-text:not(:first-child) {
  margin-top: .5rem
}

#comment-info .a-text:focus,
#comment-info .a-text:hover {
  border: 1px solid var(--themeColor)
}

.YAlert-html {
  display: none
}

.YAlert-body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1030
}

.YAlert-body .YAlert-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0
}

.YAlert-body .YAlert-container {
  position: relative;
  width: 100%;
  max-width: 500px;
  max-height: 600px;
  background-color: var(--backgroundColor);
  border-radius: 10px;
  z-index: 1
}

.YAlert-body .YAlert-container .YAlert-header {
  padding: .5rem 1rem;
  border-bottom: 1px solid var(--border)
}

.YAlert-body .YAlert-container .YAlert-header .YAlert-title {
  font-size: 1.1rem;
  font-weight: 500
}

.YAlert-body .YAlert-container .YAlert-header .YAlert-close {
  font-size: 1.2rem;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  transition: .3s background-color ease-in
}

.YAlert-body .YAlert-container .YAlert-header .YAlert-close:focus,
.YAlert-body .YAlert-container .YAlert-header .YAlert-close:hover {
  background-color: rgba(0, 0, 0, .1)
}

.YAlert-body .YAlert-container .YAlert-content {
  padding: .5rem 1rem
}

.YAlert-body .YAlert-container .YAlert-content .YAlert-html {
  display: block
}

.lg-backdrop {
  background-color: rgba(0, 0, 0, .5) !important;
  backdrop-filter: blur(10px)
}

#secondary {
  padding: 0 1rem;
  height: 100%
}

#secondary .secondary-sticky {
  position: sticky;
  top: 0
}

.site-search {
  padding: 10px 0;
  background-color: var(--backgroundColor);
  z-index: 1028
}

#search {
  background-color: var(--border);
  border: 1px solid var(--border);
  border-radius: 25px
}

#search>.submit {
  margin: 0 10px 0 20px;
  padding: 0;
  background-color: transparent;
  border: 1px solid transparent;
  outline: 0
}

.widget {
  margin-top: 1rem;
  background-color: var(--contentBackground);
  border-radius: 15px
}

.widget-title {
  font-size: 18px;
  font-weight: 500;
  padding: 10px 15px
}

.category-parent,
.widget-list {
  position: relative;
  padding: 10px 15px;
  border-top: 1px solid var(--border)
}

.category-parent>a,
.widget-list>a {
  color: var(--linkColor)
}

.category-parent:last-child,
.widget-list:last-child {
  border-bottom: none
}

.category-parent:hover,
.widget-list:hover {
  background-color: rgba(0, 0, 0, .03)
}

.widget-list .biaoqing {
  width: 1.2rem
}

.widget-wrap {
  margin: 0;
  padding: 0;
  list-style-type: none
}

.widget.self-box {
  margin-top: 0
}

.box-top {
  position: relative
}

.box-avatar-left img {
  margin-right: 10px;
  border: 3px solid var(--contentBackground)
}

.box-img {
  position: relative;
  width: 100%;
  z-index: 1010
}

.box-img::before {
  content: '';
  padding-top: 45%;
  float: left
}

.box-img::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0, var(--contentBackground), transparent)
}

.box-avatar {
  position: relative;
  margin-top: -54px;
  z-index: 1027;
  padding: 0 15px
}

.box-avatar-left {
  flex: 0 1 auto
}

.box-avatar-right {
  flex: 1 1 auto;
  font-size: 1.2rem;
  color: var(--acolor)
}

.box-bottom {
  color: var(--contentColor)
}

.box-bottom-info {
  padding: 5px 20px 10px;
  font-size: .875rem
}

.box-bottom .box-bottom-icon {
  border-top: 1px solid var(--border);
  padding: 5px 15px
}

.box-bottom .box-bottom-icon>a {
  font-size: 18px;
  color: var(--contentColor) !important;
  transition: .3s opacity ease-in-out
}

.box-bottom .box-bottom-icon>a>.icon {
  width: 26px;
  height: 26px;
  margin: 4px 0
}

.box-bottom .box-bottom-icon>a:not(:last-child) {
  margin-right: 20px
}

.box-bottom .box-bottom-icon>a:hover {
  opacity: .8
}

.box-shang {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  right: 15px;
  top: 15px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--shadow);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  cursor: pointer;
  z-index: 1011;
  -webkit-transition: all .5s ease-out;
  -moz-transition: all .5s ease-out;
  transition: all .5s ease-out
}

.box-shang:hover,
.category-widget i {
  background-color: var(--themeColor)
}

.box-shang a {
  flex: 1 1 auto;
  text-align: center;
  color: var(--highLight);
  font-size: .8rem
}

.box-shang a:hover {
  color: var(--highLight)
}

.sidebar-newposts-title {
  font-weight: 500;
  line-height: 1.3rem;
  margin-bottom: .5rem
}

.sidebar-newposts-date {
  color: var(--contentColorSecondary);
  font-size: .8rem;
  line-height: 1rem
}

.sidebar-newposts-right {
  position: relative;
  margin-left: 1rem;
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  border-radius: 10px
}

.sidebar-newposts-right img,
.widget-media-link {
  position: absolute;
  top: 0;
  height: 100%;
  left: 0;
  width: 100%
}

.sidebar-newposts-right img {
  object-fit: cover;
  border: 0 !important
}

.widget-media-span {
  display: block;
  color: var(--contentColor);
  white-space: nowrap;
  text-overflow: ellipsis
}

.category-widget a {
  font-weight: 500
}

.widget-media-head {
  font-weight: 500
}

.box-avatar-right b {
  font-weight: 500
}

.category-child {
  margin-top: 5px;
  padding: 5px 0 5px 10px;
  border-top: 1px solid var(--border)
}

.category-child>a {
  color: var(--linkColor)
}

/* 灯箱内实况视频层：精确覆盖在封面大图之上 */
.lg-outer .lg-item video.itw-lg-live-video {
  position: absolute;
  z-index: 20;
  object-fit: cover;
  background: #000;
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}
.lg-outer .lg-item .itw-lg-live-badge {
  position: absolute;
  z-index: 21;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px 4px 8px;
  border-radius: 980px;
  background: rgba(0, 0, 0, .45);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
  font: 400 12px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif;
  pointer-events: none;
}
/* ===== 图片加载占位：shimmer 作为常驻背景，内容渲染后自动覆盖（无类切换、零闪烁） ===== */
img.itw-img-fx {
  background-color: rgba(127, 137, 150, .10);
  background-image: linear-gradient(90deg, rgba(127, 137, 150, 0) 0%, rgba(127, 137, 150, .22) 50%, rgba(127, 137, 150, 0) 100%);
  background-size: 200% 100%;
  background-repeat: no-repeat;
  animation: itw-shimmer 1.3s linear infinite
}

.itw-img-grid img.itw-img-fx,
.itw-img-single img.itw-img-fx {
  min-height: 40px
}

@keyframes itw-shimmer {
  from { background-position: 200% 0 }
  to { background-position: -200% 0 }
}

.category-widget i {
  line-height: .8rem;
  font-size: .8rem;
  font-style: normal;
  color: var(--highLight);
  padding: 3px 5px;
  border-radius: 25px
}

.widget-list>a>span {
  font-weight: 500;
  line-height: 1.2rem
}

.widget-list>a>i {
  font-style: normal;
  font-size: .8rem;
  line-height: 1rem;
  color: var(--contentColorSecondary)
}

.archive-show-more>a {
  color: var(--themeColor)
}

.footer-info {
  margin-top: 10px;
  font-size: 13px;
  padding: 15px 15px 10px;
  border-top: 2px solid var(--contentBackground);
  color: var(--contentColor)
}

.yybar_icon,
.yybar_icon.focus {
  font-size: 1.5rem;
  color: var(--contentColorSecondary)
}

#footer_bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 5px 40px;
  display: none;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--backgroundColor);
  z-index: 1030;
  transition: all .5s ease-out;
  background-color: var(--backgroundColor)
}

#footer_bar.hidetime {
  transform: translateY(100px);
  transition: all 1s ease-out
}

.yybar_icon {
  --barcolor: var(--contentColorSecondary);
  fill: var(--contentColorSecondary)
}

.yybar_icon.focus {
  --barcolor: var(--contentColorSecondary)
}

.yybar_icon:hover {
  color: var(--themeColor);
  --barcolor: var(--themeColor)
}

@media only screen and (min-width:768px) and (max-width:1024px) {

  .image-logo a,
  .nav-list-li-container,
  .navigation-button,
  .w50px {
    width: 50px;
    height: 50px
  }

  #navigation {
    z-index: 2;
    align-items: center !important
  }

  /* 平板恒为图标模式：图标 32px 居中于 50×50 胶囊，菜单项间距与桌面收起态一致 */
  #navigation .nav-list {
    align-items: center
  }

  #navigation .nav-list-li {
    text-align: center;
    padding-top: 7px !important;
    padding-bottom: 7px !important
  }

  .nav-list-li-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0
  }

  .nav-list-li-container>span,
  .navigation-button>span {
    display: none
  }

  .nav-list-li-container>svg {
    font-size: 1.4rem;
    flex-shrink: 0
  }

  .navigation-button {
    flex: 0 0 auto;
    margin: 30px 0;
    font-size: 1.5rem;
    border-radius: 50%
  }

  .navigation-button>svg {
    display: block
  }

  .image-logo {
    margin-top: 1rem !important
  }

  .image-logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 9999px
  }

  .cite-post-card-header .cite-post-card-title,
  .yoniu-user .yoniu-user-btn,
  .yoniu-user .yoniu-user-info {
    display: none
  }

  .yoniu-user {
    width: 100%
  }

  .yoniu-user .yoniu-user-box {
    max-width: 50px;
    margin: 0 auto;
    padding: 5px
  }

  .yoniu-user img {
    width: 40px;
    height: 40px
  }

  .yoniu-user .yoniu-user-listbox {
    position: fixed;
    bottom: calc(1.5rem + 70px);
    width: calc(7rem)
  }

  .yoniu-user .yoniu-user-listbox:after {
    left: 20px
  }

  .post-side-style .post-side-style-image {
    max-width: 140px
  }

  .post-side-style .post-side-style-title {
    color: var(--linkColor);
    font-size: 20px;
    -webkit-line-clamp: 2;
    max-height: calc(20px * 2 * 1.2);
    margin-bottom: 10px
  }

  .post-cover-style .post-cover-style-image>h2 {
    font-size: 20px
  }

  .box-avatar {
    margin-top: -42px
  }

  .box-avatar-left>img {
    width: 52px;
    height: 52px
  }

  .cite-post-card-header .cite-post-card-author {
    margin: 0 .5rem
  }
}

@media only screen and (min-width:320px) and (max-width:767px) {

  #main,
  #navigation.show {
    transform: translateX(0)
  }

  #main,
  #navigation {
    transition: transform .1s ease-out
  }

  #navigation {
    transform: translateX(-250px);
    box-shadow: 1px 0 10px 0 var(--shadow);
    background-color: var(--backgroundColor);
    z-index: 1021
  }

  #main {
    border-left: 0;
    border-right: 0;
    /* border-bottom: 0.5px solid var(--border); */
    z-index: 2
  }

  #main.hide {
    transform: translateX(246px)
  }

  /* 菜单打开时 #main 会被 translateX(246px) 推出视口右侧，形成横向可滚动区域，
     在菜单上左右滑动会带动底层页面跟着滑动；裁掉横向溢出根治
     （对忽略 touch-action 的旧浏览器同样有效，且不影响菜单自身的纵向滚动） */
  html {
    overflow-x: hidden
  }

  /* 菜单打开期间锁定底层页面滚动（含纵向），关闭后由 JS 移除该类恢复正常滑动 */
  html.menu-open {
    overflow: hidden
  }

  /* 菜单自身滚动到边缘时不把滚动传递给底层页面 */
  #navigation.show {
    overscroll-behavior: contain
  }

  .tool-bar .tool-bar-menu-icon {
    position: relative;
    display: block !important
  }

  .tool-bar .tool-bar-menu-icon::after,
  .tool-bar .tool-bar-menu-icon::before {
    content: '';
    position: absolute;
    left: 8px;
    height: 2px;
    background-color: var(--themeColor);
    border-radius: 2px
  }

  .tool-bar .tool-bar-menu-icon::before {
    top: 13px;
    width: 12px;
    transition: all .1s ease-in-out
  }

  .tool-bar .tool-bar-menu-icon::after {
    bottom: 13px;
    width: 20px;
    transition: all .3s ease-in-out
  }

  .tool-bar .tool-bar-menu-icon.current::before {
    top: 45%;
    left: 50%;
    width: 18px;
    transform: rotate(45deg) translate(-50%, -50%);
    transform-origin: left
  }

  .tool-bar .tool-bar-menu-icon.current::after {
    bottom: 50%;
    left: 50%;
    width: 18px;
    transform: rotate(-45deg) translate(-50%, -50%);
    transform-origin: left
  }

  .tool-bar .yoniu-go-top {
    text-align: center;
    letter-spacing: 1px
  }

  .post-side-style .post-side-style-image {
    max-width: 110px
  }

  .post-side-style .post-side-style-title {
    font-size: 18px;
    font-weight: 500;
    max-height: calc(18px * 2 * 1.2);
    margin-bottom: 8px
  }

  .post-side-style .post-side-style-summary {
    max-height: calc(5.4rem * 1.2);
    font-size: .9rem
  }

  .post-cover-style .post-cover-style-image>h2 {
    bottom: 0;
    padding: 0 15px;
    font-size: 20px
  }

  .post-cover-style .post-cover-style-summary {
    font-size: .9rem
  }

  .yoniu-author-box-content-header {
    margin-top: -48px
  }

  .yoniu-author-box-content-header>img {
    width: 96px;
    height: 96px
  }

  .YAlert-body {
    align-items: flex-start !important
  }

  .YAlert-body .YAlert-container {
    width: 100%;
    max-width: 100% !important;
    border-radius: 0
  }

  #footer_bar {
    display: flex
  }

  .push-post {
    margin-top: 0;
    border-radius: 0
  }

  .push-post .push-post-more-setting-box {
    left: 50%;
    transform: translateX(-50%)
  }

  .push-post .push-post-more-setting-box::after {
    left: 12%
  }

  #loading img {
    transform: scale(.5)
  }

  .YEmotion-container {
    left: -50px !important
  }
}

/* Fix for article inner page text style */
.post-twitter .post-content p {
  font-size: 1rem;
}

.post-content p {
  margin-bottom: 10px;
}

.post-content {
  word-wrap: break-word;
}

.post-twitter-time {
  margin: .5rem 0 .5rem;
  color: var(--contentColor);
}

/* Improve inner article text alignment */
.post-content {
  text-align: justify;
  text-justify: inter-ideograph;
}
.post-content p,
.post-content li {
  text-align: justify;
  text-align-last: left;
  text-justify: inter-ideograph;
}
.post-content .post-twitter-style-summary > p {
  text-align: justify;
  text-align-last: left;
  text-justify: inter-ideograph;
}

/* Reduce header font sizes in article content */
.post-content h1 {
  font-size: 1.5rem;
  font-weight: 500;
  margin: 1em 0;
}

.post-content h2 {
  font-size: 1.3rem;
  font-weight: 500;
  margin: 1em 0;
}

.post-content h3 {
  font-size: 1.1rem;
  font-weight: 500;
  margin: 1em 0;
}

.post-content h4 {
  font-size: 1rem;
  font-weight: 500;
  margin: 1em 0;
}

.post-content h5 {
  font-size: 0.9rem;
  font-weight: 500;
  margin: 1em 0;
}

/* Friend Link Card Styles */
.link-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  padding: 0;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  list-style: none;
}

.link-items li {
  height: 70px;
  background-color: var(--backgroundColor);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}

.link-items li a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0.5rem;
  text-decoration: none;
  color: inherit;
}

.link-items li img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 8px;
  margin-right: 1rem;
  flex-shrink: 0;
  border: 1px solid var(--border);
}

.link-items li .link-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  flex: 1;
}

.link-items li strong {
  display: block;
  font-size: 16px;
  color: var(--contentColor);
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.link-items li small {
  display: block;
  font-size: 12px;
  color: var(--contentColorSecondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 768px) {
  .link-items {
    grid-template-columns: 1fr;
  }
}

/* Custom Page Templates Styles */
.archive-list ul,
.hot-search-list ol {
  padding-left: 20px;
}

.archive-list li,
.hot-search-list li {
  margin-bottom: 10px;
}

/* Readers Wall */
.readers-wall {
  margin: 0;
}

.readers-wall a {
  display: inline-block;
  margin: 5px;
  transition: transform 0.2s;
}

.readers-wall a:hover {
  transform: scale(1.1);
}

.readers-wall img {
  border-radius: 50%;
  box-shadow: 0 2px 5px var(--shadow);
}

/* Pagination Styles */
.yoniu-page-link {
  margin: 20px 0;
  justify-content: center;
  width: 100%;
}

.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 5px;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--contentColor);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
  background: var(--contentBackground);
}

.page-numbers.current {
  background: var(--themeColor);
  color: #fff;
  border-color: var(--themeColor);
}

.page-numbers:hover:not(.current) {
  background: var(--themeColorOpacity);
  color: var(--themeColor);
  border-color: var(--themeColor);
}

.page-numbers.dots {
  border: none;
  background: transparent;
}

.page-numbers.prev,
.page-numbers.next {
  border-radius: 16px;
  padding: 0 15px;
  width: auto;
}

#yoniu-toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 10099;
  pointer-events: none;
}
.yoniu-toast-item {
  pointer-events: auto;
  background: #f0f0f0;
  color: #000;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  min-width: 280px;
  opacity: 0;
  transform: translateY(8px);
  animation: yoniu-toast-in .2s ease forwards;
  font-size: 14px;
}
.yoniu-toast-item.hide {
  animation: yoniu-toast-out .2s ease forwards;
}
.yoniu-toast-success {
  /* border-color: #52c41a; */
}
.yoniu-toast-error {
  /* border-color: #ff4d4f; */
}
.yoniu-toast-warning {
  /* border-color: #faad14; */
}
.yoniu-toast-info {
  /* border-color: var(--themeColor); */
}
@keyframes yoniu-toast-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes yoniu-toast-out {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(8px); }
}
