/* 云风笺 · 侧栏与公告布局优化 */
#aside-content .card-announcement .announcement_content {
  text-align: left;
  line-height: 1.7;
  font-size: 0.92em;
  word-break: break-word;
  overflow-wrap: anywhere;
}

#aside-content .card-announcement .announcement_content p {
  margin: 0 0 0.55em;
}

#aside-content .card-announcement .announcement_content p:last-child {
  margin-bottom: 0;
}

#aside-content .card-announcement .announcement_content a {
  color: var(--anzhiyu-main);
  text-decoration: none;
  white-space: nowrap;
}

/* 作者卡底部：名称与社交图标对齐，避免挤乱 */
#aside-content .card-info .author-info__bottom-group {
  align-items: center;
  gap: 10px;
  width: 100%;
}

#aside-content .card-info .author-info__bottom-group-left {
  flex: 1;
  min-width: 0;
}

#aside-content .card-info .author-info__name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#aside-content .card-info .card-info-social-icons {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  flex-shrink: 0;
}

/* 与参考站一致：正圆社交图标（之前被压成椭圆） */
#aside-content .card-info .card-info-social-icons .social-icon {
  margin: 0 !important;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
}

#aside-content .card-info .card-info-social-icons .social-icon i,
#aside-content .card-info .card-info-social-icons .social-icon svg {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  min-height: 40px;
  padding: 0 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
}

/* 公众号翻转卡：对齐参考站 face / back / blur 组合 */
#aside-content .card-widget#card-wechat {
  --yf-wechat-blur: url("/static/img/wechat/blur-bg.png?v=oa20260828");
  background: #57bd6a;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  cursor: pointer;
  border: none;
  height: 110px;
  overflow: hidden;
  position: relative;
}

#aside-content .card-widget#card-wechat::before {
  content: "";
  position: absolute;
  inset: -12px;
  background: var(--yf-wechat-blur) center / cover no-repeat;
  filter: blur(18px);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}

#aside-content .card-widget#card-wechat #flip-wrapper {
  position: relative;
  z-index: 1;
}

#aside-content .card-widget#card-wechat .face {
  background-color: transparent !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

[data-theme="dark"] #aside-content .card-widget#card-wechat {
  background-color: #121121;
  border: var(--style-border);
}

/* 右侧粘性栏：标签高亮 + 归档双列卡片（对齐参考站） */
#aside-content .sticky_layout > .card-widget {
  padding: 1rem 1.05rem;
}

#aside-content .card-tag-cloud a {
  margin: 0 4px 6px 0;
  padding: 0 6px;
  line-height: 1.7;
}

#aside-content .card-archives ul.card-archive-list,
#aside-content .card-categories ul.card-category-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 0;
}

#aside-content .card-archives ul.card-archive-list > .card-archive-list-item,
#aside-content .card-categories ul.card-category-list > .card-category-list-item {
  width: 48% !important;
  flex: 0 0 48% !important;
}

#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a,
#aside-content .card-categories ul.card-category-list > .card-category-list-item a {
  display: flex !important;
  flex-direction: column !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  border: var(--style-border) !important;
  margin: 4px 0 !important;
}

#aside-content .card-archives .card-archive-list-date {
  font-size: 12px;
  opacity: 0.55;
}

#aside-content .card-archives .card-archive-list-count {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.1;
}

#aside-content .card-webinfo {
  margin-top: 0.4rem;
}

#aside-content .card-webinfo .webinfo-item {
  padding: 0.35rem 0;
}

#aside-content .webinfo .webinfo-item {
  justify-content: space-between;
  align-items: center;
}

#aside-content .webinfo .item-count {
  text-align: right;
  min-width: 3.2em;
}

/* 首页顶栏：浅色背景时保证【一级】菜单可见
   注意：不要作用到 .menus_item_child，否则白底下文字/图标会消失 */
#page-header.full_page:not(.nav-fixed) #nav {
  background: rgba(18, 28, 40, 0.52);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

#page-header.full_page:not(.nav-fixed) #nav #blog_name a,
#page-header.full_page:not(.nav-fixed) #nav #blog_name .title,
#page-header.full_page:not(.nav-fixed) #nav #menus > .menus_items > .menus_item > a.site-page,
#page-header.full_page:not(.nav-fixed) #nav #nav-right .nav-button > a,
#page-header.full_page:not(.nav-fixed) #nav #nav-right #toggle-menu a,
#page-header.full_page:not(.nav-fixed) #nav .back-home-button,
#page-header.full_page:not(.nav-fixed) #nav #menus > .menus_items > .menus_item > a.site-page i,
#page-header.full_page:not(.nav-fixed) #nav #nav-right i,
#page-header.full_page:not(.nav-fixed) #nav .back-home-button i {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

#page-header.full_page:not(.nav-fixed) #nav #center-console + label i {
  background: #fff !important;
}

/* 二级下拉：白底 + 深色字/图标，避免与顶栏白色规则冲突 */
#page-header #nav .menus_items .menus_item .menus_item_child {
  background: var(--anzhiyu-card-bg, #fff) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--anzhiyu-shadow-border, 0 8px 24px rgba(0, 0, 0, 0.12));
}

#page-header #nav .menus_items .menus_item .menus_item_child a,
#page-header #nav .menus_items .menus_item .menus_item_child a span,
#page-header #nav .menus_items .menus_item .menus_item_child i {
  color: var(--anzhiyu-fontcolor) !important;
  text-shadow: none !important;
}

#page-header #nav .menus_items .menus_item .menus_item_child li:hover a,
#page-header #nav .menus_items .menus_item .menus_item_child li:hover a span,
#page-header #nav .menus_items .menus_item .menus_item_child li:hover i {
  color: #fff !important;
}

/* 首页大标题在浅色图上也加阴影，避免发白看不清 */
#page-header.full_page #site-title,
#page-header.full_page #site-subtitle,
#page-header.full_page #site_social_icons .social-icon {
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45), 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* 页脚状态：参考安知鱼 / 安和鱼底部「所有业务正常」 */
#footer-bar-tips .yf-site-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 10px;
  font-size: 0.85em;
  color: var(--anzhiyu-secondtext);
  vertical-align: middle;
}

#footer-bar-tips .yf-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #39c16c;
  box-shadow: 0 0 0 3px rgba(57, 193, 108, 0.18);
  flex-shrink: 0;
}

#footer-bar .footer-bar-left {
  flex-wrap: wrap;
  row-gap: 4px;
}

/* 404：去掉下方重复推荐图，页面背景改成氛围图而不是一片白 */
#body-wrap.error .error-box .aside-list {
  display: none !important;
}

body:has(#body-wrap.error),
body:has(#body-wrap.error) #body-wrap.error {
  background: #0f1720;
  min-height: 100vh;
}

body:has(#body-wrap.error) #web_bg {
  background: url("/static/img/bg/bg6.jpg") center / cover no-repeat !important;
  filter: brightness(0.55) saturate(1.08);
  opacity: 1 !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: -1 !important;
}

body:has(#body-wrap.error) #footer,
body:has(#body-wrap.error) #footer-bar {
  display: none !important;
}

/* 404 卡片：相对视口正中（避开顶栏） */
#body-wrap.error {
  position: relative;
  min-height: 100vh;
}

#body-wrap.error #page-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 10;
  height: auto !important;
  background: transparent !important;
}

#body-wrap.error .error-box {
  position: fixed !important;
  inset: 0;
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 1rem !important;
  box-sizing: border-box;
  z-index: 5;
  pointer-events: none;
}

#body-wrap.error #error-wrap {
  margin: 0 !important;
  width: 100%;
  max-width: 820px;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: auto;
  /* 略上移，视觉上对齐视口正中（避开顶栏压迫感） */
  transform: translateY(-1.5vh);
}

#body-wrap.error .error-content {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.92) !important;
  border: none !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28) !important;
  overflow: hidden;
  height: auto !important;
  min-height: 16rem;
  max-height: none !important;
  align-items: stretch !important;
}

[data-theme="dark"] #body-wrap.error .error-content {
  background: rgba(24, 28, 36, 0.88) !important;
}

#body-wrap.error .error-img {
  min-height: 16rem;
}

/* 窄屏：压缩上半图片高度，避免「字都在下半张卡片」的感觉 */
@media (max-width: 768px) {
  #body-wrap.error .error-content {
    max-width: 92vw;
  }

  #body-wrap.error .error-img {
    min-height: 9.5rem !important;
    max-height: 11rem !important;
    flex: 0 0 11rem !important;
  }

  #body-wrap.error .error-info {
    flex: 1 1 auto !important;
    min-height: 11rem;
  }
}

#body-wrap.error .error-info {
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  align-items: center !important;
  padding: 1.5rem 1.2rem !important;
  box-sizing: border-box;
}

/* ========== AnHeYu 适配：加载页 / 404 / 隐藏登录 ========== */

#initial-loader {
  background:
    linear-gradient(160deg, rgba(12, 22, 32, 0.78), rgba(18, 40, 36, 0.72)),
    url("/static/img/bg/bg3.jpg") center / cover no-repeat !important;
}

#initial-loader .loader-spinner {
  display: none !important;
}

.yf-loader-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.yf-loader-avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.08), 0 12px 36px rgba(0, 0, 0, 0.35);
  object-fit: cover;
}

.yf-loader-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.9);
  animation: yf-loader-pulse 1.2s ease-in-out infinite;
}

@keyframes yf-loader-pulse {
  0%,
  100% {
    transform: scale(0.85);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}

/* 隐藏顶栏登录/注册（含 Popover 容器） */
[data-site-header-toolbar] > *:has(button[aria-label*="登录"]),
[data-site-header-toolbar] > *:has(button[title*="登录"]),
[data-site-header-toolbar] button[aria-label="登录或注册"],
[data-site-header-toolbar] button[aria-label="登录"],
[data-site-header-toolbar] button[title="登录"],
[data-site-header-toolbar] button[title="登录 / 注册"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* 移动端菜单：AnHeYu 硬编码演示标签与假统计 */
[class*="mobileMenu"] [class*="cardTagCloud"],
[class*="mobileMenu"] [class*="webinfo"] {
  display: none !important;
}

[class*="mobileMenu"] [class*="sidebarMenuItemTitle"] + [class*="cardWidget"]:has([class*="cardTagCloud"]),
[class*="mobileMenu"] [class*="sidebarMenuItemTitle"] + [class*="cardWidget"]:has([class*="noTags"]) {
  display: none !important;
}

[class*="mobileMenu"] [class*="sidebarMenuItemTitle"]:has(+ [class*="cardWidget"] [class*="cardTagCloud"]),
[class*="mobileMenu"] [class*="sidebarMenuItemTitle"]:has(+ [class*="webinfo"]) {
  display: none !important;
}

/* 移动端菜单顶部：隐藏演示用的标签/分类/评论假统计，仅保留文章数 */
[class*="sidebarMenus"] [class*="siteData"] [class*="dataItem"]:has(a[href="/tags"]),
[class*="sidebarMenus"] [class*="siteData"] [class*="dataItem"]:has(a[href="/categories"]),
[class*="sidebarMenus"] [class*="siteData"] [class*="dataItem"]:has(a[href="/recentcomments"]) {
  display: none !important;
}

/* 硬编码演示标签链接（Console 外其它区域） */
a[href="/tags/JavaScript/"],
a[href="/tags/TypeScript/"],
a[href="/tags/React/"],
a[href="/tags/Next.js/"],
a[href="/tags/Vue/"],
a[href="/tags/Node.js/"],
a[href="/tags/CSS/"],
a[href="/tags/前端/"] {
  display: none !important;
}

/* 404：全屏氛围 bg6 + 居中卡片 + 隐藏下方推荐 */
body:has(main [class*="errorPage"]) {
  background: #0f1720 !important;
}

body:has(main [class*="errorPage"]) #frontend-layout::before {
  opacity: 0 !important;
}

main [class*="errorPage"] {
  min-height: 100vh !important;
  background:
    linear-gradient(rgba(8, 14, 22, 0.45), rgba(8, 14, 22, 0.55)),
    url("/static/img/bg/bg6.jpg") center / cover no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem !important;
}

main [class*="errorPage"] [class*="asideList"] {
  display: none !important;
}

main [class*="errorPage"] [class*="errorBox"] {
  width: 100%;
  max-width: 820px;
}

main [class*="errorPage"] [class*="errorContent"] {
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28) !important;
}

main [class*="errorPage"] [class*="errorImg"] {
  background-size: cover !important;
  background-position: center !important;
}

/* 一图流 banner 内粒子层 */
section[class*="oneImageBanner"] #yf-home-particles {
  z-index: 1;
}

section[class*="oneImageBanner"] [class*="siteInfo"],
section[class*="oneImageBanner"] [class*="scrollDown"] {
  position: relative;
  z-index: 2;
}

#body-wrap.error .error_title {
  font-size: clamp(3.2rem, 8vw, 5.5rem) !important;
  line-height: 1 !important;
  margin: 0 0 0.45rem !important;
  overflow: visible !important;
}

#body-wrap.error .error_subtitle {
  font-size: clamp(0.95rem, 2.2vw, 1.25rem) !important;
  margin-bottom: 0.85rem;
  -webkit-line-clamp: unset !important;
}

/* 首屏加载：头像动画阶段不要白底 */
#loading-box .loading-bg {
  background:
    linear-gradient(160deg, rgba(12, 22, 32, 0.78), rgba(18, 40, 36, 0.72)),
    url("/static/img/bg/bg3.jpg") center / cover no-repeat !important;
}

#loading-box .loading-img {
  border-color: rgba(255, 255, 255, 0.35) !important;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.08), 0 12px 36px rgba(0, 0, 0, 0.35);
}

#loading-box .loading-image-dot {
  border-color: rgba(255, 255, 255, 0.9) !important;
}

/* 首页粒子层：只铺在首屏大图上 */
#page-header.full_page #yf-home-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

/* 只抬高层级，不要改写原本的 absolute / fixed 定位 */
#page-header.full_page #site-info,
#page-header.full_page #scroll-down,
#page-header.full_page #nav {
  z-index: 2;
}

/* ========== 页脚空白过大 ========== */
footer [class*="footerWrap"] {
  min-height: 0 !important;
}

footer [class*="footerSocialBar"] {
  padding: 0.35rem 0 0.15rem !important;
}

footer [class*="footerBackToTop"] {
  width: 50px !important;
  height: 50px !important;
  max-width: 50px !important;
  max-height: 50px !important;
  object-fit: cover !important;
}

/* 运行时间 + License 徽章：紧凑居中，避免 License 孤零零一整行 */
footer [class*="footerRuntimeBoard"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0.25rem auto 0.1rem !important;
  padding: 0.25rem 1rem !important;
  gap: 0.4rem !important;
  max-width: 920px;
}

footer [class*="footerRuntimeBoard"] [class*="runtime"],
footer [class*="footerRuntimeBoard"] p,
footer [class*="footerRuntimeBoard"] span {
  text-align: center;
  margin: 0 !important;
}

footer [class*="footerBadges"] {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.45rem 0.65rem !important;
  margin: 0 auto 0.75rem !important;
  padding: 0.15rem 1rem 0.85rem !important;
  max-width: 920px;
}

footer [class*="footerBadges"] a {
  display: inline-flex !important;
  margin: 0 !important;
  line-height: 0;
}

footer [class*="footerBadges"] img {
  display: block;
  height: 20px;
  width: auto;
}

/* 将徽章视觉上贴近 runtime 区域 */
footer [class*="footerRuntimeBoard"] + [class*="footerBadges"],
footer [class*="footerBadges"]:has(+ *) {
  margin-top: 0 !important;
}

footer [class*="footerLinkGrid"] {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

/* ========== 首页一图流：背景只留顶部，正文白底 ========== */
.frontend-layout.one-image-active::before {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  max-height: 100vh !important;
  bottom: auto !important;
  /* 不再 fixed 贴视口，滚动后正文区可盖住风景 */
}

.frontend-layout.one-image-active #frontend-main,
.frontend-layout.one-image-active main,
.frontend-layout.one-image-active [class*="homeContent"],
.frontend-layout.one-image-active [class*="contentInner"],
.frontend-layout.one-image-active [class*="mainContent"] {
  position: relative;
  z-index: 1;
  background-color: var(--anzhiyu-background, #f7f9fe) !important;
}

body:has(.frontend-layout.one-image-active) {
  background-color: var(--anzhiyu-background, #f7f9fe);
}

/* banner 自身也铺背景，避免依赖 layout::before */
.frontend-layout.one-image-active section[class*="oneImageBanner"] {
  background-image: var(--one-image-background) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* ========== 侧栏公告（CUSTOM_SIDEBAR） ========== */
aside [class*="customBlock"] .yf-aside-announcement,
.yf-aside-announcement {
  text-align: left;
  line-height: 1.7;
  font-size: 0.92em;
  word-break: break-word;
}

.yf-aside-announcement p {
  margin: 0 0 0.55em;
}

.yf-aside-announcement p:last-child {
  margin-bottom: 0;
}

.yf-aside-announcement a {
  color: var(--anzhiyu-main, #3d6b8c);
  text-decoration: none;
}

/* ========== 性格卡片：避免大字与「在 16personalities…」重叠 ========== */
main [class*="personalities"] [class*="personalityTitle2"] {
  position: relative;
  z-index: 1;
  max-width: min(58%, 14rem);
  margin: 0.15rem 0 0.85rem !important;
  font-size: clamp(1.6rem, 3.2vw, 2.25rem) !important;
  line-height: 1.15 !important;
  word-break: keep-all;
}

main [class*="personalities"] [class*="postTips"] {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 2;
  margin-top: 0.35rem;
  max-width: min(62%, 18rem);
}

main [class*="personalities"] [class*="personalityImage"] {
  z-index: 0;
  pointer-events: none;
}

/* ========== 实用网站 / 友人帐：site-card（修竖条压缩） ========== */
.shortcut-guide-wrapper:not([data-yf-force-show]) {
  /* 默认彻底隐藏，避免半透明水印叠在正文上；Shift+K 打开时组件会加 show class */
}

.shortcut-guide-wrapper {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.shortcut-guide-wrapper[class*="show"],
.shortcut-guide-wrapper.show {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/*
 * 关键：主题 flink.scss 用 width:calc(14.2857% - 16px) + flex 父级；
 * CUSTOM_CSS 曾把父级改成 grid，子项百分比相对「格子」变成 ~20px 竖条。
 * 这里强制 grid + 子项 width:100%，收藏页与 /link 推荐博客共用。
 */
.site-card-group,
.flink .site-card-group,
.post-link-page .site-card-group {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 1rem !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  margin: 1rem 0 1.75rem !important;
  padding: 0.25rem 0 0.5rem !important;
  float: none !important;
}

.site-card,
.flink .site-card,
.post-link-page .site-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 210px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.site-card:hover,
.flink .site-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1) !important;
}

.site-card > a.img,
.flink .site-card > a.img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 120px !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #eef2f6 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.site-card > a.img img,
.flink .site-card > a.img img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
}

.site-card > a.info,
.flink .site-card > a.info {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
  height: auto !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 0.85rem 1rem !important;
  color: #1f2937 !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 0 0 14px 14px !important;
  background: transparent !important;
}

.site-card-avatar {
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  background: #e8eef5 !important;
}

.site-card-avatar img,
.site-card-avatar .flink-avatar {
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 50% !important;
  opacity: 1 !important;
}

.site-card-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
  min-width: 0 !important;
  flex: 1 !important;
}

.site-card-text .title {
  color: #111827 !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  -webkit-text-fill-color: #111827 !important;
}

.site-card-text .desc {
  color: #6b7280 !important;
  font-size: 0.86em !important;
  opacity: 1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  -webkit-text-fill-color: #6b7280 !important;
}

/* 友人帐 list 样式：同样避免 float 百分比挤成竖条 */
.flink .flink-list,
.post-link-page .flink-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 0.75rem !important;
  margin: 0.75rem 0 1.25rem !important;
  padding: 0 !important;
  overflow: visible !important;
  text-align: left !important;
  float: none !important;
}

.flink .flink-list-item,
.post-link-page .flink-list-item {
  position: relative !important;
  display: flex !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 90px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05) !important;
}

.flink .flink-list-item .cf-friends-link,
.post-link-page .flink-list-item .cf-friends-link {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  padding: 0 0.75rem 0 0.35rem !important;
  color: #1f2937 !important;
  text-decoration: none !important;
}

.flink .flink-list-item .flink-avatar,
.post-link-page .flink-list-item .flink-avatar {
  float: none !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 0.85rem 0 0.5rem !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  opacity: 1 !important;
}

.flink .flink-list-item .flink-item-info,
.post-link-page .flink-list-item .flink-item-info {
  width: auto !important;
  min-width: 0 !important;
  flex: 1 !important;
}

.flink .flink-list-item .flink-item-name,
.post-link-page .flink-list-item .flink-item-name {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

.flink .flink-list-item .flink-item-desc,
.post-link-page .flink-list-item .flink-item-desc {
  color: #6b7280 !important;
  -webkit-text-fill-color: #6b7280 !important;
}

/* 友链申请区：我的友链 / 标签 / YAML / 免责 / 失联（对齐 sanbaiblog 布局，内容为云风笺） */
.yf-flink-mine {
  margin: 1.75rem 0 1.5rem;
}
.yf-flink-mine-title {
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  color: #1f2937 !important;
  background: transparent !important;
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}
.yf-flink-mine-card {
  margin: 0 0 1rem;
  padding: 1.15rem 1.2rem 1.25rem;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}
.yf-flink-apply-block {
  margin: 1.5rem 0 1rem;
}
.yf-flink-tablist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
  margin: 0.15rem 0 1rem;
}
.yf-flink-tab {
  appearance: none;
  border: 1px solid rgba(66, 89, 239, 0.22);
  background: #fff;
  color: #334155;
  border-radius: 999px;
  padding: 0.32rem 0.9rem;
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.15s ease;
}
.yf-flink-tab.is-active {
  background: rgba(66, 89, 239, 0.1);
  border-color: var(--anzhiyu-main, #4259ef);
  color: var(--anzhiyu-main, #4259ef);
  box-shadow: 0 0 0 1px rgba(66, 89, 239, 0.12);
}
.yf-flink-yml {
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #1e1e2e;
  border: 1px solid rgba(15, 23, 42, 0.35);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.18);
}
.yf-flink-yml-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.85rem;
  color: #e2e8f0;
  background: #2a2a3d;
  font-size: 0.82rem;
  font-weight: 600;
}
.yf-flink-yml-dots {
  display: inline-flex;
  gap: 6px;
  min-width: 42px;
}
.yf-flink-yml-dots i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}
.yf-flink-yml-dots i:nth-child(1) { background: #ff5f56; }
.yf-flink-yml-dots i:nth-child(2) { background: #ffbd2e; }
.yf-flink-yml-dots i:nth-child(3) { background: #27c93f; }
.yf-flink-yml-lang {
  flex: 1;
  text-align: center;
  color: #cbd5e1;
  letter-spacing: 0.04em;
}
.yf-flink-copy {
  appearance: none;
  border: 0;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  font-size: 0.78rem;
  padding: 0.15rem 0.35rem;
}
.yf-flink-copy:hover { color: #fff; }
.yf-flink-yml pre {
  margin: 0 !important;
  padding: 1rem 1.1rem 1.15rem !important;
  overflow-x: auto;
  background: transparent !important;
  color: #e2e8f0 !important;
  font-size: 0.9rem;
  line-height: 1.65;
  white-space: pre;
}
.yf-flink-yml code {
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-weight: 400 !important;
}
.yf-flink-yml .yf-k { color: #a6e3a1; }
.yf-flink-yml .yf-v { color: #f9e2af; }
.yf-flink-panel[hidden] { display: none !important; }
.yf-flink-yml .yf-flink-table {
  width: 100%;
  border-collapse: collapse;
  color: #e5e7eb;
  font-size: 0.88rem;
  margin: 0;
}
.yf-flink-yml .yf-flink-table th,
.yf-flink-yml .yf-flink-table td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0.5rem 0.85rem;
  text-align: left;
  vertical-align: top;
  word-break: break-all;
}
.yf-flink-yml .yf-flink-table th {
  width: 6.5em;
  color: #93c5fd;
  font-weight: 650;
  white-space: nowrap;
}
.yf-flink-yml .yf-flink-table thead th {
  color: #cbd5e1;
  background: rgba(255,255,255,0.03);
}

/* 折叠条：压过 PostContent 主题「开合蓝底 summary」，对齐 sanbaiblog 浅底卡片 */
html body .post-link-page details.folding-tag.yf-flink-fold,
html body .yf-flink-apply-block details.folding-tag.yf-flink-fold,
html body details.folding-tag.yf-flink-fold,
html body [class*="postContent"] details.folding-tag.yf-flink-fold {
  margin: 0.75rem 0 !important;
  padding: 0 !important;
  background: rgba(248, 250, 252, 0.98) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
html body .post-link-page details.folding-tag.yf-flink-fold[open],
html body .yf-flink-apply-block details.folding-tag.yf-flink-fold[open],
html body details.folding-tag.yf-flink-fold[open],
html body [class*="postContent"] details.folding-tag.yf-flink-fold[open] {
  background: rgba(248, 250, 252, 0.98) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}
html body .post-link-page details.folding-tag.yf-flink-fold > summary,
html body .yf-flink-apply-block details.folding-tag.yf-flink-fold > summary,
html body details.folding-tag.yf-flink-fold > summary,
html body [class*="postContent"] details.folding-tag.yf-flink-fold > summary,
html body [class*="postContent"] details.folding-tag.yf-flink-fold[open] > summary,
html body [class*="postContent"] details.folding-tag:not(.custom-color)[open] > summary,
html body details.folding-tag.yf-flink-fold[open] > summary:not(.md-editor-code-head),
html body [class*="postContent"] details.folding-tag.yf-flink-fold:not(.custom-color)[open] > summary:not(.md-editor-code-head) {
  cursor: pointer !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0.85rem 1rem !important;
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
  font-size: 0.98rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  line-height: 1.4 !important;
}
html body [class*="postContent"] details.folding-tag.yf-flink-fold > summary:hover,
html body [class*="postContent"] details.folding-tag.yf-flink-fold[open] > summary:hover,
html body details.folding-tag.yf-flink-fold > summary:hover {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  background: rgba(66, 89, 239, 0.06) !important;
  box-shadow: none !important;
}
html body details.folding-tag.yf-flink-fold > summary::-webkit-details-marker,
html body [class*="postContent"] details.folding-tag.yf-flink-fold > summary::-webkit-details-marker {
  display: none !important;
}
html body details.folding-tag.yf-flink-fold > summary::before,
html body [class*="postContent"] details.folding-tag.yf-flink-fold > summary::before,
html body [class*="postContent"] details.folding-tag.yf-flink-fold[open] > summary::before {
  content: "▶" !important;
  color: var(--anzhiyu-main, #4259ef) !important;
  background: none !important;
  font-size: 0.75rem !important;
  margin-right: 0.35rem !important;
  transform: none !important;
  transition: transform 0.15s ease !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
}
html body details.folding-tag.yf-flink-fold[open] > summary::before,
html body [class*="postContent"] details.folding-tag.yf-flink-fold[open] > summary::before {
  transform: rotate(90deg) !important;
}
html body details.folding-tag.yf-flink-fold > summary::after,
html body [class*="postContent"] details.folding-tag.yf-flink-fold > summary::after,
html body [class*="postContent"] details.folding-tag.yf-flink-fold[open] > summary::after {
  content: none !important;
  display: none !important;
}
html body details.folding-tag.yf-flink-fold .content,
html body [class*="postContent"] details.folding-tag.yf-flink-fold .content,
html body [class*="postContent"] details.folding-tag.yf-flink-fold[open] > div.content {
  padding: 0 1rem 0.95rem !important;
  margin: 0 !important;
  color: #374151 !important;
  line-height: 1.75 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
/* 折叠内有序列表：普通数字，不要主题蓝圆序号 */
html body details.folding-tag.yf-flink-fold .content ol,
html body [class*="postContent"] details.folding-tag.yf-flink-fold .content ol {
  list-style: decimal !important;
  list-style-position: outside !important;
  padding-left: 1.5rem !important;
  margin: 0.4rem 0 0.7rem !important;
  counter-reset: none !important;
}
html body details.folding-tag.yf-flink-fold .content ol > li,
html body [class*="postContent"] details.folding-tag.yf-flink-fold .content ol > li {
  position: static !important;
  display: list-item !important;
  list-style: decimal !important;
  padding-left: 0.15rem !important;
  margin: 0.25rem 0 !important;
  counter-increment: none !important;
  color: #374151 !important;
}
html body details.folding-tag.yf-flink-fold .content ol > li::before,
html body [class*="postContent"] details.folding-tag.yf-flink-fold .content ol > li::before {
  content: none !important;
  display: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
}

.yf-flink-apply-sec {
  margin: 2rem 0 1rem;
  padding: 1.25rem 1.35rem 1.45rem;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.07);
}
.yf-flink-apply-title {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.45rem !important;
  margin: 0 0 0.9rem !important;
  color: #1f2937 !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  position: relative !important;
}
/* 去掉游离右侧链接图标，避免与折叠条并排「飘」在空白处 */
.yf-flink-apply-title .yf-flink-ico {
  display: none !important;
}
/* 申请信息行：对齐 sanbaiblog — 普通有序列表 + 行内 code，禁止整行高对比蓝 pill */
.yf-flink-siteinfo {
  list-style: decimal !important;
  list-style-position: outside !important;
  margin: 1rem 0 0.5rem !important;
  padding: 0.15rem 0 0.35rem 1.6rem !important;
  display: block;
}
.yf-flink-siteinfo > li {
  display: list-item !important;
  margin: 0 0 0.45rem !important;
  padding: 0.15rem 0.2rem !important;
  list-style: decimal !important;
  font-size: 0.98rem;
  line-height: 1.85;
  color: #374151;
  word-break: break-word;
}
.yf-flink-siteinfo > li::before { content: none !important; display: none !important; }
.yf-flink-num,
.yf-flink-pill {
  display: none !important;
}
.yf-flink-siteinfo code {
  display: inline !important;
  max-width: 100%;
  padding: 0.12rem 0.45rem !important;
  margin: 0 0.1rem !important;
  border-radius: 4px !important;
  background: rgba(66, 89, 239, 0.12) !important;
  color: var(--anzhiyu-main, #4259ef) !important;
  font-size: 0.92em !important;
  font-weight: 600 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  box-shadow: none !important;
  white-space: normal !important;
  word-break: break-all !important;
}
html.dark .yf-flink-siteinfo code {
  background: rgba(66, 89, 239, 0.28) !important;
  color: #93c5fd !important;
}

/* 申请条件卡：白底圆角，与须知/站点信息分离云朵底 */
.yf-flink-conditions-title,
[data-yf-flink-conditions] > h3,
.post-link-page .space-y-8 > .rounded-xl.border > h3 {
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: #1f2937 !important;
  margin-bottom: 0.35rem !important;
}
[data-yf-flink-conditions] {
  margin: 0 0 1rem !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.07) !important;
  padding: 1.2rem 1.35rem 1.3rem !important;
  border-radius: 16px !important;
}
[data-yf-flink-conditions] > p {
  display: none !important;
}
[data-yf-flink-conditions] b,
[data-yf-flink-conditions] strong {
  display: inline !important;
  padding: 0.08rem 0.35rem;
  border-radius: 4px;
  background: rgba(66, 89, 239, 0.14);
  color: var(--anzhiyu-main, #4259ef) !important;
  font-weight: 700 !important;
}
[data-yf-flink-conditions] label,
[data-yf-flink-conditions] [data-slot="label"] {
  color: #374151 !important;
  font-size: 0.95rem !important;
}
html.dark [data-yf-flink-conditions] > h3 {
  color: #f3f4f6 !important;
}
html.dark [data-yf-flink-conditions] b,
html.dark [data-yf-flink-conditions] strong {
  background: rgba(66, 89, 239, 0.28);
  color: #93c5fd !important;
}
html.dark .yf-flink-mine-title,
html.dark .yf-flink-apply-title,
html.dark .yf-flink-fold > summary {
  color: #f3f4f6 !important;
}
html.dark .yf-flink-mine-card,
html.dark .yf-flink-apply-sec,
html.dark [data-yf-flink-conditions] {
  background: rgba(24, 24, 28, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
}
html.dark .yf-flink-tab {
  background: rgba(255,255,255,0.04);
  color: #e5e7eb;
}


.post-content .folding-tag,
.yf-flink-apply-block .folding-tag {
  /* 非 yf-flink-fold 的兜底；有 yf-flink-fold 时由上方强覆盖规则接管 */
  margin: 0.85rem 0;
  padding: 0.15rem 0.85rem 0.85rem;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
}

.post-content .folding-tag:not(.yf-flink-fold) > summary,
.yf-flink-apply-block .folding-tag:not(.yf-flink-fold) > summary {
  cursor: pointer;
  font-weight: 700;
  padding: 0.75rem 0.15rem;
  color: #1f2937;
  list-style: none;
}

.post-content .folding-tag > summary::-webkit-details-marker,
.yf-flink-apply-block .folding-tag > summary::-webkit-details-marker {
  display: none;
}

.post-content .folding-tag .content,
.yf-flink-apply-block .folding-tag .content {
  padding: 0 0.15rem 0.35rem;
  color: #374151;
  line-height: 1.75;
}

.post-content .folding-tag .content p,
.yf-flink-apply-block .folding-tag .content p {
  margin: 0.65rem 0 !important;
  font-size: 0.95rem !important;
}

.post-content .folding-tag .content ol,
.post-content .folding-tag .content ul,
.yf-flink-apply-block .folding-tag .content ol,
.yf-flink-apply-block .folding-tag .content ul {
  margin: 0.4rem 0 0.7rem !important;
  padding-left: 1.35rem !important;
}

html.dark .site-card,
html.dark .flink .site-card,
html.dark .flink .flink-list-item,
html.dark .yf-flink-apply-block {
  background: rgba(24, 24, 28, 0.92) !important;
}

html.dark .site-card-text .title,
html.dark .flink .flink-item-name,
html.dark .site-card > a.info {
  color: #f3f4f6 !important;
  -webkit-text-fill-color: #f3f4f6 !important;
}

/* 相册/收藏页：压缩主区与页脚之间的空白 */
main:has(.site-card-group),
main:has([class*="album"]) {
  padding-bottom: 0.5rem;
}

/* 朋友圈三列卡片（对齐 https://blog.anheyu.com/fcircle） */
.yf-fcircle {
  max-width: none;
  width: 100%;
  margin: 1.25rem auto 2.5rem;
  padding: 0 0 1.5rem;
  line-height: 1.7;
}

.yf-fcircle-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0.5rem 0 1rem;
}

.yf-fcircle-toolbar h2 {
  margin: 0;
  font-size: 1.15rem;
}

.yf-fcircle-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.95rem;
  color: #fff !important;
  background: var(--anzhiyu-main, #3d6b8c);
  border-radius: 999px;
  text-decoration: none !important;
  font-size: 0.92em;
}

/* 旧「数据源」灰字贴云朵：彻底去掉 */
.yf-fcircle-tip {
  display: none !important;
}

.yf-fcircle-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

@media (max-width: 1100px) {
  .yf-fcircle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .yf-fcircle-grid {
    grid-template-columns: 1fr;
  }
}

.yf-fcircle .moment-item {
  display: flex;
  min-width: 0;
  height: 100%;
}

.yf-fcircle-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 172px;
  padding: 0.95rem 1.05rem 0.85rem;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  text-decoration: none !important;
  color: #1f2937 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.yf-fcircle-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

.yf-fcircle-card-title,
.yf-fcircle-card .moment-title,
.yf-fcircle .moment-title {
  margin: 0 !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  height: 1.45em !important;
  min-height: 1.45em !important;
  max-height: 1.45em !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  background: none !important;
  opacity: 1 !important;
  text-decoration: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
}
.yf-fcircle .moment-title:hover {
  color: var(--anzhiyu-main, #4259ef) !important;
  -webkit-text-fill-color: var(--anzhiyu-main, #4259ef) !important;
}

.yf-fcircle-card-excerpt,
.yf-fcircle-card .moment-summary,
.yf-fcircle .moment-summary {
  margin: 0.5rem 0 0 !important;
  flex: 0 0 3.3em !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
  height: 3.3em !important;
  min-height: 3.3em !important;
  max-height: 3.3em !important;
  color: #6b7280 !important;
  -webkit-text-fill-color: #6b7280 !important;
  opacity: 1 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  word-break: break-word;
}

.yf-fcircle-card-meta,
.yf-fcircle .moment-bottom {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-top: auto !important;
  padding-top: 0.85rem !important;
  border-top: 0 !important;
  font-size: 0.86em;
  min-height: 32px;
}

.yf-fcircle-card-meta img,
.yf-fcircle .moment-avatar {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  background: #eef2f6;
  flex: 0 0 auto;
  display: block !important;
  margin: 0 !important;
}

.yf-fcircle-card-meta .author,
.yf-fcircle .moment-author {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 55%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0.22rem 0.7rem !important;
  border-radius: 999px !important;
  background: rgba(153, 153, 153, 0.17) !important;
  color: #374151 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  border: 0 !important;
  appearance: none;
  cursor: default;
  display: inline-flex !important;
  align-items: center !important;
  height: 28px;
  box-sizing: border-box;
}

.yf-fcircle-card-meta .date,
.yf-fcircle .moment-time {
  margin-left: auto !important;
  opacity: 0.72;
  flex-shrink: 0;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.28rem !important;
  color: #6b7280 !important;
  font-size: 0.75rem !important;
}

.yf-fcircle .moment-time svg {
  width: 12px !important;
  height: 12px !important;
  display: inline-block !important;
  flex: 0 0 auto;
  vertical-align: middle;
}

.yf-fcircle-empty {
  padding: 1.5rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  border: 1px dashed rgba(0, 0, 0, 0.12);
}

/* 朋友圈底部：对齐安和鱼 moments-more + moments-footer */
.yf-fcircle-more-wrap {
  width: 100%;
  margin-top: 0.35rem;
}

.yf-fcircle-more-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 40%;
  max-width: 810px;
  height: 30px;
  margin: 1rem auto 0;
  padding: 0;
  color: var(--anzhiyu-fontcolor, #1f2d3d);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.yf-fcircle-more-btn:hover {
  width: 60%;
  color: #fff;
  background: var(--anzhiyu-main, #4259ef);
  border-color: transparent;
  box-shadow: 0 8px 20px rgba(66, 89, 239, 0.28);
}

.yf-fcircle-more-btn.is-done,
.yf-fcircle-more-btn[style*="display: none"] {
  pointer-events: none;
}

.yf-fcircle-more-icon {
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.05em;
}

.yf-fcircle-footer {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin: 0.75rem 8px 1.25rem 0;
  color: var(--anzhiyu-secondtext, #6b7280);
  text-align: right;
  font-size: 13px;
  line-height: 2;
}

.yf-fcircle-footer .footer-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.yf-fcircle-footer .footer-info {
  display: flex;
  gap: 0.5rem;
}

.yf-fcircle-footer .info-item .label {
  margin-right: 0.25rem;
}

.yf-fcircle-footer .info-item .value {
  color: var(--anzhiyu-fontcolor, #1f2d3d);
  font-weight: 600;
}

.yf-fcircle-footer .footer-setting {
  margin-top: 0.25rem;
}

.yf-fcircle-footer .update-time {
  font-size: 12px;
}

.yf-fcircle-footer .footer-sort {
  margin-top: 0.5rem;
}

.yf-fcircle-switch-wrap {
  display: flex;
  justify-content: flex-end;
}

.yf-fcircle-sort-switch {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.yf-fcircle-sort-track {
  position: relative;
  display: block;
  width: 86px;
  height: 30px;
  padding: 4px;
  border-radius: 15px;
  border: 1px solid transparent;
  background: rgba(0, 0, 0, 0.28) linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.24) 50%, transparent 70%) 100% 0 / 220% 100%;
  transition: background-color 0.25s, border-color 0.25s, box-shadow 0.25s;
}

.yf-fcircle-sort-track::before,
.yf-fcircle-sort-track::after {
  position: absolute;
  top: 50%;
  z-index: 1;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
  transition: opacity 0.22s, transform 0.22s;
}

.yf-fcircle-sort-track::before {
  content: "发布时间";
  left: 10px;
  opacity: 0;
  transform: translate(8px, -50%);
}

.yf-fcircle-sort-track::after {
  content: "抓取时间";
  right: 10px;
  opacity: 1;
  transform: translateY(-50%);
}

.yf-fcircle-sort-thumb {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 35, 11, 0.2);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  transform: translate(0);
}

.yf-fcircle-sort-switch[data-selected="true"] .yf-fcircle-sort-track {
  background: #1677ff !important;
  border-color: #1677ff !important;
  box-shadow: 0 0 0 1px rgba(22, 119, 255, 0.12), 0 4px 12px rgba(22, 119, 255, 0.24);
}

.yf-fcircle-sort-switch[data-selected="true"] .yf-fcircle-sort-track::before {
  opacity: 1;
  transform: translateY(-50%);
}

.yf-fcircle-sort-switch[data-selected="true"] .yf-fcircle-sort-track::after {
  opacity: 0;
  transform: translate(-8px, -50%);
}

.yf-fcircle-sort-switch[data-selected="true"] .yf-fcircle-sort-thumb {
  transform: translate(56px);
}

html.dark .yf-fcircle-card,
html.dark .yf-fcircle-more-btn,
html.dark .yf-fcircle-empty {
  background: rgba(24, 24, 28, 0.88) !important;
}

/* 关于页地图：主题 map 模块（background-image + mapTitle + Ken Burns）
 * 禁止用裸 [class*="map"]，否则会命中 mapTitle 导致巨胶囊遮罩 */
main [class*="mapAndInfo"] [class*="map"][class*="single"],
main [class*="mapAndInfo"] > [class*="item"][class*="map"] {
  position: relative !important;
  overflow: hidden !important;
  height: 240px !important;
  min-height: 220px !important;
  max-height: 280px !important;
  background-color: #e8eef5 !important;
  background-repeat: no-repeat !important;
  background-position: 50% center !important;
  background-size: 100% !important;
  transition: background-size 4s ease-in-out, background-position 4s ease-in-out !important;
  cursor: zoom-in !important;
}

main [class*="mapAndInfo"] [class*="map"][class*="single"].yf-about-map-live,
.yf-about-map-live.yf-about-map-kenburns {
  /* 由 JS 写入 background-image，勿 background-image:none */
  background-color: #dfe8f2 !important;
}

main [class*="mapAndInfo"] [class*="map"][class*="single"].yf-about-map-focus,
.yf-about-map-live.yf-about-map-focus {
  background-size: 128% !important;
  background-position: 28% 42% !important;
  cursor: zoom-out !important;
}

.yf-about-leaflet,
#yf-about-leaflet {
  display: none !important;
}

/* 底部窄条状态文案（主题 mapTitle；高度约 40px，避免巨大白遮罩） */
.yf-about-map-title,
main [class*="mapAndInfo"] [class*="mapTitle"],
main [class*="mapAndInfo"] [class*="map"] [class*="mapTitle"],
main [class*="mapAndInfo"] .yf-about-map-title {
  position: absolute !important;
  inset: auto auto 0 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 40px !important;
  min-height: 36px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 1.1rem !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.55) !important;
  color: #1f2937 !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: none !important;
  backdrop-filter: saturate(160%) blur(12px);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  transition: bottom 0.6s ease, opacity 0.6s ease !important;
}

/* 主题原 hover 会把标题甩出；运镜时保留底栏 */
main [class*="mapAndInfo"] [class*="map"]:hover [class*="mapTitle"],
main [class*="mapAndInfo"] [class*="map"]:hover .yf-about-map-title,
.yf-about-map-live:hover .yf-about-map-title,
.yf-about-map-live:hover [class*="mapTitle"] {
  bottom: 0 !important;
  top: auto !important;
  opacity: 1 !important;
  transform: none !important;
}

.yf-about-map-title b,
main [class*="mapAndInfo"] [class*="mapTitle"] b {
  color: #1f2937 !important;
  font-weight: 750 !important;
}

html.dark main [class*="mapAndInfo"] [class*="map"][class*="single"],
html.dark .yf-about-map-live {
  background-color: #1e293b !important;
}

html.dark .yf-about-map-title,
html.dark main [class*="mapAndInfo"] [class*="mapTitle"] {
  background: rgba(24, 24, 28, 0.78) !important;
  color: #f3f4f6 !important;
}

html.dark .yf-about-map-title b,
html.dark main [class*="mapAndInfo"] [class*="mapTitle"] b {
  color: #f3f4f6 !important;
}

/* === yf-cloud-rightside-v1 === */
:root {
  --yf-clouds: url("/static/img/bg/clouds.jpg");
}

/* 全站云朵氛围：含首页正文区（hero 一图流仍由主题控制） */
html body,
#frontend-layout,
main,
.frontend-layout {
  background-image: var(--yf-clouds) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

/* 首页：一图流区域保持自身背景，不被云朵抢视觉 */
body:has(.one-image-active) section[class*="oneImageBanner"],
.frontend-layout.one-image-active section[class*="oneImageBanner"],
#page-header.full_page {
  background-image: none; /* 由内联/--one-image-background 决定 */
}

/* 内容卡半透明，保证云朵上可读 */
#aside-content .card-widget,
#aside-content [class*="card"],
main [class*="recentPostItem"],
main [class*="article"],
.yf-fcircle-card,
[class*="pageContent"],
[class*="aboutContainer"] > *,
.layout > div:not([class*="oneImage"]) {
  /* 轻量可读性增强，避免误伤过多 */
}

/* 留言信封保留毛玻璃；朋友圈 banner 绝不能用 background 简写盖掉 background-image */
#yf-comments-hero .yf-formmain {
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

html.dark #yf-comments-hero .yf-formmain {
  background: rgba(24, 24, 28, 0.82) !important;
}

/*
 * 朋友圈 / 普通页评论区：只给 #post-comment 一层玻璃白底。
 * 切勿用 [class*="CommentSection"]——CSS Modules 类名都带 CommentSection，
 * 会给标题/匿名/隐私/空态等子节点各自再套一层白卡（套娃）。
 * data-yf-fcircle-comments 可能打在 .mt-12 外包层上，也不能当玻璃卡选择器。
 */
#post-comment {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 2 !important;
  margin-top: 1.5rem !important;
  padding: 1.15rem 1.25rem 1.35rem !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  color: #1f2937 !important;
}

html.dark #post-comment {
  background: rgba(24, 24, 28, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #e5e7eb !important;
}

/* 外包层仅负责显隐，禁止再套玻璃 */
[data-yf-fcircle-comments="1"]:not(#post-comment) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
}

/* 保险：标题/工具/空态等子节点禁止再叠玻璃白卡（勿误伤 commentThreadItem） */
#post-comment [class*="mainCommentFormContainer"],
#post-comment [class*="commentHead"],
#post-comment [class*="formTitle"],
#post-comment [class*="commentTools"],
#post-comment [class*="commentRandomInfo"],
#post-comment [class*="commentRandomInfoText"],
#post-comment [class*="commentListContainer"],
#post-comment [class*="commentListPlaceholder"],
#post-comment [class*="commentListPlaceholderContent"],
#post-comment [class*="commentEmpty"] {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  border: none !important;
}

#post-comment [class*="formTitle"],
#post-comment [class*="commentHead"],
#post-comment [class*="commentTools"],
#post-comment [class*="commentRandomInfo"],
#post-comment [class*="commentRandomInfoText"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-radius: 0 !important;
}

/* 留言板信封页：评论区背景交给主题，避免双重白卡 */
body:has(#yf-comments-hero) #post-comment {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}

/*
 * 顶栏对比度（最小修复）：
 * 只改 headerWrapper 背景与文字颜色，绝不碰 position / overflow /
 * transform / display / height / isolation / backdrop-filter。
 * 注意：[class*="menusItem"] 会误匹配 menusItemChild，一级选择器必须排除 Child。
 * bridge 打 data-yf-header-solid；主题 isScrolled 位移动画保持原样。
 */
html[data-yf-header-solid] header [class*="headerWrapper"],
html[data-yf-header-solid] header [class*="headerWrapper"][class*="isTransparent"],
html[data-yf-header-solid] header [class*="headerWrapper"][class*="textIsWhite"],
header [class*="headerWrapper"][class*="textIsWhite"],
header [class*="headerWrapper"][class*="isTransparent"] {
  background: rgba(255, 255, 255, 0.94) !important;
  background-color: rgba(255, 255, 255, 0.94) !important;
  outline-color: rgba(15, 23, 42, 0.12) !important;
}

/* 一级：站名 / 菜单标题 / 右侧按钮 — 浅底深字（排除回顶百分比圆） */
html[data-yf-header-solid] header [class*="siteTitle"],
html[data-yf-header-solid] header [class*="siteNameLink"],
html[data-yf-header-solid] header [class*="menuTitle"],
html[data-yf-header-solid] header [class*="navButton"]:not([class*="navTotop"]),
html[data-yf-header-solid] header [class*="toggleMenu"],
html[data-yf-header-solid] header [class*="backMenuButton"],
html[data-yf-header-solid] header [class*="backHomeButton"],
html[data-yf-header-solid] header [class*="consoleIcon"],
header [class*="headerWrapper"][class*="textIsWhite"] [class*="siteTitle"],
header [class*="headerWrapper"][class*="textIsWhite"] [class*="siteNameLink"],
header [class*="headerWrapper"][class*="textIsWhite"] [class*="menuTitle"],
header [class*="headerWrapper"][class*="textIsWhite"] [class*="navButton"]:not([class*="navTotop"]),
header [class*="headerWrapper"][class*="textIsWhite"] [class*="toggleMenu"],
header [class*="headerWrapper"][class*="textIsWhite"] [class*="backMenuButton"],
header [class*="headerWrapper"][class*="textIsWhite"] [class*="backHomeButton"],
header [class*="menusItem"]:not([class*="menusItemChild"]) > [class*="menuTitle"] {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  fill: currentColor !important;
  text-shadow: none !important;
}

/* 一级悬停：蓝底 + 白字（完整 pill，避免白字贴白底） */
html[data-yf-header-solid] header [class*="menusItem"]:not([class*="menusItemChild"]):hover > [class*="menuTitle"],
html[data-yf-header-solid] header [class*="menusItem"]:not([class*="menusItemChild"]) > [class*="menuTitle"]:hover,
header [class*="menusItem"]:not([class*="menusItemChild"]):hover > [class*="menuTitle"],
header [class*="menusItem"]:not([class*="menusItemChild"]) > [class*="menuTitle"]:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--primary, #4259ef) !important;
  background-color: var(--primary, #4259ef) !important;
}

html[data-yf-header-solid] header [class*="navButton"]:not([class*="navTotop"]):hover,
html[data-yf-header-solid] header [class*="siteNameLink"]:hover {
  color: var(--primary, #4259ef) !important;
  -webkit-text-fill-color: var(--primary, #4259ef) !important;
}

/* 二级下拉：白/浅底必须深色字与图标，不继承一级 active 白色 */
header [class*="menusItemChild"],
header [class*="menusItemChild"] li,
header [class*="menusItemChild"] [class*="sitePage"],
header [class*="menusItemChild"] a,
header [class*="menusItemChild"] span,
header [class*="menusItemChild"] i,
header [class*="menusItemChild"] svg {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  fill: currentColor !important;
  text-shadow: none !important;
}

header [class*="menusItemChild"] [class*="sitePage"]:hover,
header [class*="menusItemChild"] li:hover [class*="sitePage"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  fill: currentColor !important;
  background: var(--primary, #4259ef) !important;
  background-color: var(--primary, #4259ef) !important;
}

header [class*="menusItemChild"] [class*="sitePage"]:hover span,
header [class*="menusItemChild"] [class*="sitePage"]:hover i,
header [class*="menusItemChild"] [class*="sitePage"]:hover svg,
header [class*="menusItemChild"] li:hover [class*="sitePage"] span,
header [class*="menusItemChild"] li:hover [class*="sitePage"] i,
header [class*="menusItemChild"] li:hover [class*="sitePage"] svg {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  fill: currentColor !important;
  background: transparent !important;
}

/* 右上角滚动百分比：黑圆白字（勿被 navButton 深色规则覆盖） */
header [class*="navTotop"] [class*="totopbtn"],
header [class*="totopbtn"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #1f2937 !important;
  background-color: #1f2937 !important;
}

header [class*="navTotop"] [class*="percent"],
header [class*="totopbtn"] [class*="percent"],
header [class*="percent"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

header [class*="navTotop"]:hover [class*="totopbtn"],
header [class*="navTotop"][class*="long"]:hover [class*="totopbtn"] {
  background: var(--primary, #4259ef) !important;
  background-color: var(--primary, #4259ef) !important;
  color: #fff !important;
}

html.dark[data-yf-header-solid] header [class*="headerWrapper"],
html.dark header [class*="headerWrapper"][class*="textIsWhite"],
html.dark header [class*="headerWrapper"][class*="isTransparent"] {
  background: rgba(18, 18, 22, 0.92) !important;
  background-color: rgba(18, 18, 22, 0.92) !important;
  outline-color: rgba(255, 255, 255, 0.08) !important;
}

html.dark[data-yf-header-solid] header [class*="siteTitle"],
html.dark[data-yf-header-solid] header [class*="siteNameLink"],
html.dark[data-yf-header-solid] header [class*="menuTitle"],
html.dark[data-yf-header-solid] header [class*="navButton"]:not([class*="navTotop"]),
html.dark[data-yf-header-solid] header [class*="toggleMenu"],
html.dark[data-yf-header-solid] header [class*="backMenuButton"],
html.dark[data-yf-header-solid] header [class*="backHomeButton"],
html.dark header [class*="menusItem"]:not([class*="menusItemChild"]) > [class*="menuTitle"] {
  color: #f3f4f6 !important;
  -webkit-text-fill-color: #f3f4f6 !important;
  fill: currentColor !important;
}

html.dark header [class*="menusItemChild"],
html.dark header [class*="menusItemChild"] [class*="sitePage"],
html.dark header [class*="menusItemChild"] a,
html.dark header [class*="menusItemChild"] span,
html.dark header [class*="menusItemChild"] i,
html.dark header [class*="menusItemChild"] svg {
  color: #f3f4f6 !important;
  -webkit-text-fill-color: #f3f4f6 !important;
}

/* 装饰层不抢顶栏点击（不改顶栏自身布局） */
#yf-comments-hero,
#yf-form-wrap,
#yf-envelope,
.yf-env-before,
.yf-env-after,
.yf-comments-decor,
#yf-home-particles {
  pointer-events: none;
}
#yf-comments-hero .yf-formmain,
#yf-comments-hero .yf-comments-main,
#yf-comments-hero a,
#yf-comments-hero button {
  pointer-events: auto;
}

/* ============================================================================
 * 云风笺 · 复制提示（对齐安知鱼 Snackbar：全宽顶栏 + 进度条）
 * ============================================================================ */
:root {
  --yf-snackbar-time: 2.5s;
}

#yf-copy-snackbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 61px;
  padding: 0 1rem;
  margin: 0;
  color: #fff;
  background: var(--anzhiyu-main, #425aef);
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
  transform: translateY(-110%);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  overflow: hidden;
}

#yf-copy-snackbar.show {
  transform: translateY(0);
  pointer-events: auto;
}

#yf-copy-snackbar .yf-snackbar-text {
  margin: 0;
  font-weight: 700;
  text-align: center;
  position: relative;
  z-index: 1;
}

#yf-copy-snackbar .yf-snackbar-action {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  padding: 4px 10px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: 0.25s;
}

#yf-copy-snackbar .yf-snackbar-action:hover {
  color: var(--anzhiyu-main, #425aef);
  background: #fff;
}

/* 进度条：从左向右铺满（安知鱼 snackbar-progress） */
#yf-copy-snackbar.show::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  opacity: 0.12;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  animation: yf-snackbar-progress var(--yf-snackbar-time, 2.5s) linear forwards;
  will-change: transform;
}

@keyframes yf-snackbar-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

html.yf-barrage-off [class*="commentBarrage"] {
  display: none !important;
  visibility: hidden !important;
}

/* ============================================================================
 * 云风笺 · 右侧功能栏 #yf-rightside（安知鱼竖排蓝钮）
 * 默认：设置 / 评论 / 回顶；点设置展开阅读·繁简·主题·单双栏
 * 文章页按钮 id 对齐 hexo：#readmode / #hide-aside-btn
 * z-index 须高于正文/侧栏，低于顶栏(10050)与复制 snackbar(100000)
 * ============================================================================ */
#yf-rightside,
div#yf-rightside,
[data-yf-rightside="1"] {
  position: fixed !important;
  right: 20px !important;
  bottom: 88px !important;
  z-index: 10040 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
}
#yf-rightside .yf-rs-btn,
div#yf-rightside .yf-rs-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: var(--anzhiyu-main, #7a9eff) !important;
  background-color: var(--anzhiyu-main, #7a9eff) !important;
  color: #fff !important;
  cursor: pointer !important;
  font-size: 15px !important;
  line-height: 1 !important;
  box-shadow: 0 2px 8px rgba(66, 89, 239, 0.28) !important;
  transition: transform 0.15s ease, filter 0.15s ease !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  flex-shrink: 0 !important;
}
#yf-rightside .yf-rs-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
#yf-rightside .yf-rs-btn svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  color: #fff !important;
  stroke: currentColor;
  fill: none;
  pointer-events: none;
}
#yf-rightside .yf-rs-btn svg [fill="currentColor"] {
  fill: currentColor !important;
  stroke: none !important;
}
#yf-rightside .yf-rs-text {
  font-weight: 700 !important;
  font-size: 15px !important;
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
#yf-rightside .yf-rs-gear,
#yf-rightside #yf-rs-gear {
  background: var(--anzhiyu-main, #7a9eff) !important;
  background-color: var(--anzhiyu-main, #7a9eff) !important;
}
/* 常显三钮：设置 / 评论 / 回顶 */
#yf-rightside #yf-rs-top,
#yf-rightside #yf-rs-comment,
#yf-rightside #yf-rs-gear {
  display: inline-flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  transform: none !important;
}

/* 展开组：默认折叠（对齐安知鱼 rightside-config-hide） */
#yf-rightside .yf-rs-hide,
div#yf-rightside .yf-rs-hide {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  transition:
    max-height 0.28s ease,
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease !important;
}
#yf-rightside.yf-rs-expanded .yf-rs-hide,
div#yf-rightside.yf-rs-expanded .yf-rs-hide {
  max-height: 220px !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  visibility: visible !important;
  transform: none !important;
}
#yf-rightside .yf-rs-hide .yf-rs-btn,
#yf-rightside #readmode,
#yf-rightside #yf-rs-zh,
#yf-rightside #yf-rs-theme,
#yf-rightside #hide-aside-btn {
  display: inline-flex !important;
}
/* 阅读模式 / 单双栏：仅文章详情页显示（hexo id: #readmode / #hide-aside-btn） */
#yf-rightside:not(.yf-rs-on-post) #readmode,
#yf-rightside:not(.yf-rs-on-post) #hide-aside-btn {
  display: none !important;
}
#yf-rightside:not(.yf-rs-expanded) .yf-rs-hide .yf-rs-btn {
  pointer-events: none !important;
}
/* 非文章页展开高度更矮（仅繁简+主题） */
#yf-rightside.yf-rs-expanded:not(.yf-rs-on-post) .yf-rs-hide {
  max-height: 100px !important;
}
#yf-rightside.yf-rs-expanded.yf-rs-on-post .yf-rs-hide {
  max-height: 220px !important;
}

/* 单栏：绝不隐藏右侧工具栏；阅读模式由下方 .read-mode 规则隐藏（对齐 hexo #rightside） */
html.yf-single-column #yf-rightside,
html.hide-aside #yf-rightside,
html.yf-single-column div#yf-rightside,
html.hide-aside div#yf-rightside {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-width: 767px) {
  #yf-rightside,
  div#yf-rightside {
    display: none !important;
  }
}

/*
 * 文章沉浸阅读（移植 Hexo 安知鱼 readmode.styl）
 * 真实结构：postDetailContainer > postHeaderContainer + layout >
 *            postContentInner + postSidebar。
 * 只给 body 加 read-mode，正文始终留在原文档流，不创建 modal/overlay。
 */
body.read-mode {
  --font-color: #4c4948;
  --readmode-light-color: rgba(255, 255, 255, 0.9);
  --readmode-panel-color: rgba(255, 255, 255, 0.88);
  --yf-read-gray: #d6dbdf;
  --exit-btn-bg: #c0c0c0;
  --exit-btn-color: #fff;
  --exit-btn-hover: #999;
  --highlight-bg: #f7f7f7;
  --yf-read-max-width: 1680px;
  color: var(--font-color) !important;
  background-color: transparent !important;
  background-image: var(--yf-clouds) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  overflow-x: clip !important;
}

html.dark body.read-mode,
html[data-theme="dark"] body.read-mode {
  --font-color: rgba(255, 255, 255, 0.78);
  --readmode-light-color: rgba(13, 13, 13, 0.92);
  --readmode-panel-color: rgba(13, 13, 15, 0.88);
  --yf-read-gray: rgba(255, 255, 255, 0.55);
  --exit-btn-bg: #1f1f1f;
  --exit-btn-color: rgba(255, 255, 255, 0.9);
  --exit-btn-hover: #3a3a3a;
  --highlight-bg: #171717;
}

/* 清除 React 前台祖先布局约束；祖先不得参与文章限宽。 */
body.read-mode #frontend-layout {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  background-image: var(--yf-clouds) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  isolation: auto !important;
  overflow: visible !important;
}

body.read-mode #frontend-layout::before {
  display: none !important;
}

body.read-mode #frontend-main {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  animation: none !important;
  transform: none !important;
  overflow: visible !important;
}

/* 退出钮沿用 Hexo .exit-readmode 的 fixed 语义。 */
body.read-mode .exit-readmode,
body.read-mode #yf-exit-readmode {
  position: fixed !important;
  top: 30px !important;
  right: 30px !important;
  z-index: 10050 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: var(--exit-btn-bg) !important;
  color: var(--exit-btn-color) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: background 0.3s !important;
}

body.read-mode .exit-readmode:hover,
body.read-mode .exit-readmode:focus-visible {
  background: var(--exit-btn-hover) !important;
}

/* 隐藏站点导航与文章阅读无关区块；data-yf-read-hero 明确保留。 */
body.read-mode [data-yf-read-nav],
body.read-mode #frontend-layout > footer,
body.read-mode [data-yf-post-sidebar],
body.read-mode [data-yf-post-footerbar],
body.read-mode [data-yf-post-pagination-float],
body.read-mode [data-yf-post-comment-barrage],
body.read-mode #aside-content,
body.read-mode #yf-rightside,
body.read-mode [data-yf-rightside="1"],
body.read-mode #rightside,
body.read-mode #nav-music,
body.read-mode [class*="breadcrumb"],
body.read-mode canvas {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/*
 * 文章 Hero 保持正常文章页外观：封面、遮罩、标题、元信息和波浪均不改写。
 * 仅用该精确标记声明语义，禁止再用 [class*="header"] 一类宽选择器处理它。
 */
body.read-mode [data-yf-read-hero] {
  visibility: visible !important;
  opacity: 1 !important;
}

/* 与 Hexo “只留正文”一致。 */
body.read-mode [data-yf-read-hidden],
body.read-mode #post-comment {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* JS 将真实 CSS Modules 节点标记为稳定 data 属性，CSS 不再猜哈希类名。 */
body.read-mode [data-yf-post-detail] {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  overflow: visible !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}

body.read-mode [data-yf-post-layout] {
  box-sizing: border-box !important;
  display: block !important;
  width: min(calc(100vw - 48px), var(--yf-read-max-width)) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 1rem 0 4rem !important;
  gap: 0 !important;
  background: transparent !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}

body.read-mode [data-yf-post-content-inner] {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
  flex-basis: auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  background: transparent !important;
  background-image: none !important;
  overflow: visible !important;
}

body.read-mode [data-yf-post-card] {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding: clamp(1.25rem, 2vw, 2rem) !important;
  flex-basis: auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  color: var(--font-color) !important;
  background-color: var(--readmode-panel-color) !important;
  background-image: none !important;
  border: 1px solid color-mix(in srgb, var(--font-color) 14%, transparent) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 40px rgba(31, 41, 55, 0.12) !important;
  backdrop-filter: blur(14px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
  outline: 0 !important;
  animation: none !important;
  transform: none !important;
}

body.read-mode [data-post-content] {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  color: var(--font-color) !important;
  overflow-wrap: anywhere;
}

body.read-mode [data-post-content] img,
body.read-mode [data-post-content] video,
body.read-mode [data-post-content] iframe,
body.read-mode [data-post-content] svg {
  max-width: 100% !important;
}

body.read-mode [data-post-content] a {
  color: #8495ad;
}

body.read-mode [data-post-content] pre,
body.read-mode [data-post-content] .highlight:not(.js-file-line-container) {
  max-width: 100% !important;
  background: var(--highlight-bg) !important;
  overflow-x: auto !important;
}

body.read-mode [data-post-content] blockquote {
  border-color: var(--yf-read-gray) !important;
  background-color: var(--readmode-light-color) !important;
}

body.read-mode [data-post-content] code {
  color: var(--font-color);
}

@media (max-width: 768px) {
  body.read-mode .exit-readmode,
  body.read-mode #yf-exit-readmode {
    top: auto !important;
    right: 1rem !important;
    bottom: 1rem !important;
  }

  body.read-mode [data-yf-post-layout] {
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    padding: 0 0 4.5rem !important;
  }

  body.read-mode [data-yf-post-card] {
    padding: 1.25rem 1rem !important;
    border-radius: 12px !important;
  }
}

/* 历史 modal/overlay 已废弃，残留节点也不得重新出现。 */
.yf-read-overlay,
.yf-read-panel,
html.yf-read-mode .yf-read-overlay,
body.read-mode .yf-read-overlay,
body.read-mode .yf-read-panel {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/*
 * 单栏 / 隐藏侧栏（html.hide-aside，对齐安知鱼）
 * AnHeYu 文章页实际结构：PostDetail layout + postContentInner + postSidebar
 */
html.hide-aside [class*="postSidebar"],
html.yf-single-column [class*="postSidebar"],
html.hide-aside aside[class*="postSidebar"],
html.yf-single-column aside[class*="postSidebar"] {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
html.hide-aside [class*="postContentInner"],
html.yf-single-column [class*="postContentInner"],
html.hide-aside main[class*="postContentInner"],
html.yf-single-column main[class*="postContentInner"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
}
html.hide-aside [class*="PostDetail"][class*="layout"],
html.yf-single-column [class*="PostDetail"][class*="layout"],
html.hide-aside [class*="postDetail"][class*="layout"],
html.yf-single-column [class*="postDetail"][class*="layout"] {
  justify-content: center !important;
}
/* 首页/其它双栏兜底 */
html.yf-single-column [class*="doubleColumnContainer"],
html.hide-aside [class*="doubleColumnContainer"] {
  display: block !important;
}
html.yf-single-column [class*="doubleColumnItem"],
html.hide-aside [class*="doubleColumnItem"] {
  width: 100% !important;
  max-width: 100% !important;
}
html.yf-single-column #aside-content,
html.hide-aside #aside-content,
html.yf-single-column [class*="asideContent"],
html.hide-aside [class*="asideContent"] {
  display: none !important;
}
html.yf-single-column [class*="mainContent"],
html.hide-aside [class*="mainContent"],
html.yf-single-column .content-inner > .main-content,
html.hide-aside .content-inner > .main-content {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
}

/* 留言板信封（对齐 sanbaiblog butterfly-envelope，z-index 低于顶栏） */
#yf-comments-hero {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0.75rem auto 1.75rem;
  padding-top: 0.5rem;
}
.yf-comments-decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.yf-float-icon {
  position: absolute;
  font-size: 1.35rem;
  animation: yf-float 4.5s ease-in-out infinite;
  opacity: 0.8;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.12));
}
.yf-fi-1 { left: 4%; top: 8%; animation-delay: 0s; }
.yf-fi-2 { right: 6%; top: 14%; animation-delay: 0.8s; }
.yf-fi-3 { left: 10%; bottom: 18%; animation-delay: 1.4s; }
.yf-fi-4 { right: 12%; bottom: 22%; animation-delay: 2s; }
@keyframes yf-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.yf-maincontent {
  position: relative;
  width: min(530px, 100%);
  margin: 0.5rem auto 0;
  z-index: 1;
}

@media screen and (max-width: 600px) {
  .yf-env-before,
  .yf-env-after {
    display: none !important;
  }
  .yf-form-wrap {
    height: auto !important;
    overflow: visible !important;
    top: 0 !important;
  }
  .yf-envelope {
    padding-top: 0 !important;
  }
}

@media screen and (min-width: 601px) {
  .yf-form-wrap {
    position: relative;
    overflow: hidden;
    height: 447px;
    top: 0;
    margin: 0 auto;
    transition: all 1s ease-in-out 0.3s;
    z-index: 0;
  }
  .yf-form-wrap:hover {
    height: 980px;
    top: -160px;
  }
  .yf-env-before {
    position: absolute;
    bottom: 126px;
    left: 50%;
    transform: translateX(-50%);
    width: min(530px, 100%);
    height: auto;
    z-index: 0;
    pointer-events: none;
  }
  .yf-env-after {
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: min(530px, 100%);
    height: auto;
    z-index: 2;
    pointer-events: none;
  }
  .yf-envelope {
    position: relative;
    overflow: visible;
    width: min(500px, 94%);
    margin: 0 auto;
    padding-top: 200px;
    transition: all 1s ease-in-out 0.3s;
    z-index: 1;
  }
}

.yf-formmain {
  background: rgba(255, 255, 255, 0.96);
  width: 95%;
  max-width: 800px;
  margin: 0 auto;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18);
}
html.dark .yf-formmain {
  background: rgba(40, 40, 46, 0.96);
  border-color: rgba(255, 255, 255, 0.08);
}
.yf-env-headerimg {
  display: block;
  width: 100%;
  max-height: 180px;
  object-fit: cover;
  pointer-events: none;
}
.yf-comments-main {
  padding: 0.85rem 1rem 1.1rem;
  text-align: center;
}
.yf-envelope-title {
  margin: 0.35rem 0 0.75rem;
  color: var(--anzhiyu-main, #4259ef);
  font-weight: 700;
  font-size: 1.15rem;
  text-decoration: none;
}
.yf-envelope-comments {
  margin: 0.5rem 0 0.85rem;
  padding: 1rem 1.1rem;
  background: rgba(0, 0, 0, 0.045);
  border: 1px solid #ddd;
  border-radius: 6px;
  line-height: 1.9;
  text-align: center;
}
html.dark .yf-envelope-comments {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}
.yf-envelope-bottom {
  margin-top: 1.25rem;
}
.yf-env-line {
  display: block;
  width: 100%;
  margin: 0.35rem auto;
  pointer-events: none;
}
.yf-envelope-foot {
  margin: 0.55rem 0 0;
  font-size: 12px;
  color: #999;
  text-align: center;
}

/* 留言评论区层次（低于顶栏，避免下拉被挡住） */
body:has(#yf-comments-hero) #post-comment,
main:has(#yf-comments-hero) [class*="pageContent"] > *:not(#yf-comments-hero) {
  position: relative;
  z-index: 2;
}

/* 仅保证空态可读，不再额外加边框/毛玻璃叠层 */
body:has(#yf-comments-hero) [class*="commentEmpty"],
body:has(#yf-comments-hero) [class*="commentListPlaceholder"],
body:has(#yf-comments-hero) [class*="commentListPlaceholderContent"] {
  color: #334155 !important;
  opacity: 1 !important;
}

html.dark body:has(#yf-comments-hero) [class*="commentEmpty"],
html.dark body:has(#yf-comments-hero) [class*="commentListPlaceholderContent"] {
  color: #e5e7eb !important;
}

/* 拆掉历史 yf-comments-board 套娃痕迹 */
.yf-comments-board,
.yf-comments-board-js {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 朋友圈美化 · 对齐安和鱼 BannerCard + 钓鱼 + Moments */
.yf-fcircle-banner {
  margin: 0 0 1.35rem !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  min-height: 220px;
  height: 260px;
  background: transparent !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
}
.yf-fcircle-banner-inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 220px;
  /* 勿用 background 简写，以免冲掉 inline background-image */
  background-color: transparent !important;
  background-size: cover !important;
  background-position: center 40% !important;
  background-repeat: no-repeat !important;
  border-radius: 18px;
  overflow: hidden;
}
.yf-fcircle-banner-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  /* 压暗以保证白字可读，但仍露出独立 banner 场景图 */
  background: linear-gradient(115deg, rgba(15, 23, 42, 0.62) 0%, rgba(15, 23, 42, 0.28) 48%, rgba(15, 23, 42, 0.42) 100%);
  pointer-events: none;
  z-index: 0;
}
.yf-fcircle-banner-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 220px;
  padding: 1.35rem 1.5rem 1.25rem;
  color: #fff;
  box-sizing: border-box;
}
.yf-fcircle-banner-tips,
.yf-fcircle-banner-tag {
  display: block;
  font-size: 0.86rem;
  opacity: 0.92;
  margin-bottom: 0.2rem;
  background: none !important;
  padding: 0 !important;
}
.yf-fcircle-banner-title,
.yf-fcircle-banner h1 {
  display: block;
  margin: 0;
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.yf-fcircle-banner-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.yf-fcircle-banner-desc,
.yf-fcircle-banner p {
  margin: 0;
  font-size: 0.92rem;
  opacity: 0.92;
}
/* 压过 PostContent a 的 color/padding !important，保证 banner 上可读 */
.yf-fcircle-banner a.yf-fcircle-banner-btn,
[data-post-content] a.yf-fcircle-banner-btn,
[class*="postContent"] a.yf-fcircle-banner-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.5rem 1.05rem !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, 0.62) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22) !important;
}
.yf-fcircle-banner a.yf-fcircle-banner-btn:hover,
[data-post-content] a.yf-fcircle-banner-btn:hover,
[class*="postContent"] a.yf-fcircle-banner-btn:hover {
  background: rgba(15, 23, 42, 0.78) !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.yf-fcircle-banner a.yf-fcircle-banner-btn svg,
[data-post-content] a.yf-fcircle-banner-btn svg {
  width: 18px;
  height: 18px;
  color: #fff !important;
  fill: currentColor;
  flex-shrink: 0;
}

.yf-fcircle-section-head,
.yf-fcircle .title-section {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  margin: 0.35rem 0 0.85rem !important;
  min-height: 1.75rem;
  line-height: 1.2 !important;
}
.yf-fcircle-section-head .title-left,
.yf-fcircle .title-section .title-left {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  line-height: 1.2 !important;
  min-height: 1.75rem;
}
.yf-fcircle-section-head h2,
.yf-fcircle .title-section h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 750 !important;
  color: #1f2937 !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.yf-fcircle-fish-refresh,
.yf-fcircle button.yf-fcircle-fish-refresh,
.yf-fcircle .random-post-start {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 1.35rem !important;
  height: 1.35rem !important;
  line-height: 1 !important;
  border-radius: 999px !important;
  vertical-align: middle !important;
  position: relative !important;
  top: 0 !important;
  transform: none !important;
  flex-shrink: 0 !important;
}
.yf-fcircle-fish-refresh svg,
.yf-fcircle .random-post-start svg {
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  vertical-align: middle !important;
}
.yf-fcircle-fish-refresh::before,
.yf-fcircle-fish-refresh::after,
.yf-fcircle .random-post-start::before,
.yf-fcircle .random-post-start::after {
  content: none !important;
  display: none !important;
}
.yf-fcircle-fish-refresh:hover { color: var(--anzhiyu-main, #4259ef) !important; }
.yf-fcircle-fish-all,
.yf-fcircle .random-post-all {
  color: #64748b !important;
  text-decoration: none !important;
  font-size: 0.92rem !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  border-bottom: 1px dotted currentColor;
  padding: 0 !important;
  margin: 0 !important;
}
.yf-fcircle-fish-all:hover { color: var(--anzhiyu-main, #4259ef) !important; }

.yf-fcircle-fishing {
  margin: 0 0 1.5rem;
}
.yf-fcircle-fish-card {
  padding: 1rem 1.15rem;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(227, 232, 247, 1);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
  color: #374151;
  line-height: 1.7;
}
.yf-fcircle-fish-card b {
  color: #111827;
}
.yf-fcircle-fish-link {
  color: var(--anzhiyu-main, #4259ef) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.yf-fcircle-moments {
  margin: 0 0 0.5rem;
}

.yf-fcircle-card,
.yf-fcircle .moment-card {
  border: 1px solid rgb(227, 232, 247) !important;
  border-radius: 12px !important;
  min-height: 172px !important;
  height: 100% !important;
  padding: 0.95rem 1.05rem 0.85rem !important;
  box-shadow: none !important;
  background: rgba(255, 255, 255, 0.98) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  text-decoration: none !important;
  color: inherit !important;
}
.yf-fcircle .moment-item {
  display: flex;
  min-width: 0;
  height: 100%;
}
.yf-fcircle-card:hover,
.yf-fcircle .moment-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
}

/* 修图标 CSS 错乱：禁用主题/图标字体伪元素抢位 */
.yf-fcircle a::before,
.yf-fcircle a::after,
.yf-fcircle .moment-author::before,
.yf-fcircle .moment-author::after,
.yf-fcircle .moment-time::before,
.yf-fcircle .moment-time::after,
.yf-fcircle .moment-card::before,
.yf-fcircle .moment-item::before,
.yf-fcircle-card::before,
.yf-fcircle-card-meta::before {
  content: none !important;
  display: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.dark .yf-fcircle-card-title,
html.dark .yf-fcircle-card .moment-title,
html.dark .yf-fcircle .moment-title {
  color: #f3f4f6 !important;
  -webkit-text-fill-color: #f3f4f6 !important;
}

html.dark .yf-fcircle-card-excerpt,
html.dark .yf-fcircle-card .moment-summary,
html.dark .yf-fcircle .moment-summary {
  color: #d1d5db !important;
  -webkit-text-fill-color: #d1d5db !important;
}

html.dark .yf-fcircle-fish-card,
html.dark .yf-fcircle .moment-card {
  background: rgba(24, 24, 28, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
html.dark .yf-fcircle-section-head h2 {
  color: #f3f4f6 !important;
}

/* 留言板 JS 注入侧栏（对齐首页作者卡/公告/公众号） */
.content-inner.yf-comments-layout,
.yf-comments-layout-js,
.yf-comments-layout {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0.5rem 1.5rem 1rem;
  position: relative;
  z-index: 1;
  overflow: visible;
}

.yf-comments-layout .main-content,
.yf-comments-maincol {
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.yf-comments-aside {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 300px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  /* 绝不盖住顶栏下拉 */
  isolation: isolate;
}

@media (max-width: 992px) {
  .yf-comments-aside {
    display: none;
  }
  .content-inner.yf-comments-layout,
  .yf-comments-layout-js,
  .yf-comments-layout {
    padding: 0 1rem;
  }
}
.yf-ca-author {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  color: #fff;
  min-height: 320px;
  padding: 1rem 1.15rem 1.1rem;
  background: linear-gradient(-25deg, var(--anzhiyu-main, #4259ef), #6a8cff, var(--anzhiyu-main, #4259ef), #5b7cfa);
  background-size: 400%;
  box-shadow: 0 8px 24px rgba(66, 89, 239, 0.22);
}
.yf-ca-sayhi {
  width: fit-content;
  margin: 0 auto 0.75rem;
  padding: 2px 8px;
  font-size: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.22);
}
.yf-ca-avatar {
  display: flex;
  justify-content: center;
  margin: 0.4rem 0 0.85rem;
}
.yf-ca-avatar img {
  width: 118px;
  height: 118px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, 0.55);
  background: #fff;
}
.yf-ca-desc {
  font-size: 0.88rem;
  line-height: 1.45;
  opacity: 0.95;
}
.yf-ca-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 1rem;
}
.yf-ca-name {
  font-size: 1.15rem;
  font-weight: 700;
}
.yf-ca-sub {
  font-size: 0.78rem;
  opacity: 0.85;
}
.yf-ca-socials {
  display: flex;
  gap: 8px;
}
.yf-ca-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 700;
}
.yf-ca-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
}
html.dark .yf-ca-card {
  background: rgba(24, 24, 28, 0.88);
  border-color: rgba(255, 255, 255, 0.08);
}
.yf-ca-card-title {
  font-weight: 700;
  margin-bottom: 0.55rem;
}
.yf-ca-announcement .yf-ca-card-body {
  font-size: 0.92em;
  line-height: 1.7;
}
.yf-ca-wechat {
  position: relative;
  overflow: hidden;
  min-height: 140px;
  color: #fff;
  background: linear-gradient(135deg, #22c55e, #16a34a), var(--yf-wechat-blur) center/cover;
}
.yf-ca-wechat-tip {
  font-size: 0.85rem;
  opacity: 0.92;
  margin-bottom: 0.6rem;
}
.yf-ca-wechat-face {
  display: block;
  width: 96px;
  height: 96px;
  margin: 0.35rem auto 0;
  border-radius: 8px;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.2);
}

.yf-comments-layout-js {
  align-items: flex-start;
}

/* 云风笺 · 作者头像：隐藏 AnHeYu 默认柴犬 status 贴纸 */
[class*="authorStatus"],
.author-status {
  display: none !important;
}

/* ========== 云风笺 · 闲言碎语 /essay（对齐安知鱼 essay 瀑布流，勿动顶栏） ========== */
body:has(.yf-essay),
main:has(.yf-essay),
html[data-yf-essay="1"] body,
html[data-yf-essay="1"] main {
  background: #f0f2f5 !important;
}
html.dark body:has(.yf-essay),
html.dark main:has(.yf-essay),
html.dark[data-yf-essay="1"] body,
html.dark[data-yf-essay="1"] main {
  background: #121212 !important;
}

main:has(.yf-essay) > div,
html[data-yf-essay="1"] .yf-page-article,
html[data-yf-essay="1"] [data-post-content],
main:has(.yf-essay) .yf-page-article,
main:has(.yf-essay) [data-post-content] {
  max-width: 1400px;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.yf-essay {
  width: 100%;
  margin: 0 auto 2rem;
  padding: 0 0 1.5rem;
  line-height: 1.65;
  color: var(--anzhiyu-fontcolor, #1f2937);
}

/* 抵消 PostContent 对页面 HTML 的文章排版干扰 */
.yf-essay .yf-essay-list,
.yf-essay .yf-essay-card,
.yf-essay .yf-essay-datacont,
.yf-essay .yf-essay-banner-sub,
.yf-essay .yf-essay-limit,
.yf-essay .yf-essay-music-label {
  margin: 0;
  letter-spacing: normal;
  list-style: none;
}
.yf-essay .yf-essay-list {
  padding: 0;
}
.yf-essay .yf-essay-card::before,
.yf-essay .yf-essay-list > li::before {
  content: none !important;
  display: none !important;
}
.yf-essay .yf-essay-about,
.yf-essay .yf-essay-tag-pill,
.yf-essay .yf-essay-player,
.yf-essay .yf-essay-reply {
  border-bottom: none !important;
  box-shadow: none !important;
}
.yf-essay .yf-essay-about:hover,
.yf-essay .yf-essay-tag-link:hover,
.yf-essay .yf-essay-player:hover {
  border-bottom: none !important;
}
.yf-essay .yf-essay-player-cover {
  max-width: none;
  margin: 0;
  border-radius: 6px;
}

.yf-essay-banner {
  position: relative;
  height: 19rem;
  max-height: 320px;
  border-radius: 28px;
  overflow: hidden;
  color: #fff;
  background-color: #2b3440;
  background-size: cover;
  background-position: left 28% center;
  background-repeat: no-repeat;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
  margin: 0 0 1.15rem;
}

.yf-essay-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(15, 23, 42, 0.55) 0%,
    rgba(15, 23, 42, 0.28) 48%,
    rgba(15, 23, 42, 0.12) 100%
  );
  pointer-events: none;
}

.yf-essay-banner-inner {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.55rem 1.7rem 1.35rem;
  background: transparent !important;
}

.yf-essay-banner-tips {
  display: inline-block;
  width: fit-content;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  opacity: 0.92;
  margin-bottom: 0.35rem;
}

.yf-essay-banner-title {
  margin: 0 !important;
  font-size: clamp(1.7rem, 3.2vw, 2.35rem) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.yf-essay-banner-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.yf-essay-banner-sub {
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  opacity: 0.92;
  color: #fff !important;
}

.yf-essay-about {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1rem !important;
  border-radius: 999px !important;
  background: rgba(17, 24, 39, 0.72) !important;
  color: #fff !important;
  text-decoration: none !important;
  border-bottom: none !important;
  font-size: 0.9rem;
  backdrop-filter: blur(8px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.yf-essay-about:hover {
  background: rgba(17, 24, 39, 0.9) !important;
  transform: translateY(-1px);
  color: #fff !important;
  box-shadow: none !important;
}

.yf-essay-about-ico {
  display: inline-flex;
  width: 1.15rem;
  height: 1.15rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  font-size: 0.75rem;
}

.yf-essay-bber {
  margin-top: 0.25rem;
  width: 100%;
}

.yf-essay-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.yf-essay-card {
  position: relative;
  width: 32%;
  margin: 0 0 1rem;
  padding: 1rem 1rem 0.65rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.yf-essay-card:hover {
  border-color: rgba(66, 89, 239, 0.35);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
  transform: translateY(-2px);
}

html.dark .yf-essay-card {
  background: #1e1e22;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
}

.yf-essay-content {
  width: 100%;
}

.yf-essay-datacont {
  margin: 0 0 0.35rem !important;
  font-size: 0.92rem !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  color: var(--anzhiyu-fontcolor, #1f2937) !important;
  word-break: break-word;
  text-align: justify !important;
  letter-spacing: normal !important;
}

.yf-essay-hr {
  display: block !important;
  width: 100%;
  height: 0;
  margin: 0.55rem 0 0.35rem !important;
  border: 0 !important;
  border-top: 1px dashed rgba(66, 89, 239, 0.28) !important;
  background: transparent !important;
}

.yf-essay-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  margin-top: 0.35rem;
}

.yf-essay-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.yf-essay-tag-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 0.25rem;
  padding: 0.12rem 0.55rem !important;
  border-radius: 999px !important;
  font-size: 0.72rem !important;
  line-height: 1.5;
  color: var(--anzhiyu-fontcolor, #374151) !important;
  background: rgba(107, 114, 128, 0.12) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  white-space: nowrap;
}

.yf-essay-tag-link {
  background: rgba(245, 108, 108, 0.13) !important;
  color: #f56c6c !important;
}

.yf-essay-tag-link:hover {
  background: var(--anzhiyu-main, #4259ef) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.yf-essay-ico {
  font-style: normal;
  font-size: 0.7rem;
  opacity: 0.85;
}

.yf-essay-reply {
  appearance: none;
  border: 0;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  padding: 0.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: color 0.2s ease;
}

.yf-essay-reply:hover {
  color: var(--anzhiyu-main, #4259ef);
}

.yf-essay-music {
  width: 100%;
  margin: 0.15rem 0 0.25rem;
}

.yf-essay-music-label {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.45rem;
}

.yf-essay-player {
  display: flex !important;
  gap: 0.65rem;
  align-items: stretch;
  padding: 0.45rem !important;
  border-radius: 10px !important;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(248, 250, 252, 0.95) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  color: inherit !important;
  overflow: hidden;
}

.yf-essay-player:hover {
  background: rgba(248, 250, 252, 0.95) !important;
  color: inherit !important;
  box-shadow: none !important;
}

html.dark .yf-essay-player {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

.yf-essay-player-cover {
  width: 72px;
  height: 72px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}

.yf-essay-player-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.35rem;
}

.yf-essay-player-name {
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.yf-essay-player-bar {
  height: 7px;
  border-radius: 999px;
  background: rgba(107, 114, 128, 0.25);
  overflow: hidden;
}

.yf-essay-player-progress {
  display: block;
  width: 38%;
  height: 100%;
  border-radius: inherit;
  background: var(--anzhiyu-main, #4259ef);
}

.yf-essay-player-time {
  display: flex;
  justify-content: space-between;
  font-size: 0.68rem;
  color: #9ca3af;
}

.yf-essay-limit {
  margin: 0.75rem 0 0;
  text-align: center;
  font-size: 0.85rem;
  color: #9ca3af;
}

@media screen and (max-width: 1200px) {
  .yf-essay-card {
    width: 49%;
  }
}

@media screen and (max-width: 768px) {
  .yf-essay-banner {
    height: 15.5rem;
    border-radius: 20px;
  }
  .yf-essay-banner-inner {
    padding: 1.15rem 1.2rem 1.05rem;
  }
  .yf-essay-card {
    width: 100%;
  }
}

/* === yf-p0-layout-polish-20260827 === */

/* 小空调：顶栏与内容拉开距离 */
main:has(.air-conditioner-iframe),
body:has(.air-conditioner-iframe) main,
.yf-page-article:has(.air-conditioner-iframe),
[data-post-content]:has(.air-conditioner-iframe) {
  padding-top: 1.75rem !important;
}
.air-conditioner-iframe {
  display: block;
  width: 100%;
  min-height: 720px;
  margin: 1.25rem 0 2rem;
  border: 0;
  border-radius: 16px;
  background: transparent;
}

/* 朋友圈：对齐安和鱼 Moments 节奏 */
.yf-fcircle {
  margin-top: 0.5rem !important;
  padding-top: 0.25rem;
}
.yf-fcircle-banner {
  margin: 0.85rem 0 1.35rem !important;
}
.yf-fcircle-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
@media (max-width: 1100px) {
  .yf-fcircle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 768px) {
  .yf-fcircle-grid {
    grid-template-columns: 1fr !important;
  }
}
.yf-fcircle-card,
.yf-fcircle .moment-card {
  min-height: 172px !important;
  height: 100% !important;
  border-radius: 12px !important;
}
.yf-fcircle-card-meta img,
.yf-fcircle-card .moment-avatar,
.yf-fcircle .moment-avatar {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

/* 地图 hover：底栏保持贴底，避免甩出视口 */
main [class*="mapAndInfo"] [class*="map"][class*="single"]:hover [class*="mapTitle"],
.yf-about-map-live:hover .yf-about-map-title,
.yf-about-map-live:hover [class*="mapTitle"] {
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
}

/* 小空调页容器顶距（覆盖前端 scss 零顶距） */
.air-conditioner-container {
  padding-top: 1.75rem !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}
.air-conditioner-content {
  margin-top: 0.35rem !important;
}
.air-conditioner-iframe {
  min-height: 720px !important;
}
.air-conditioner-comments {
  margin-top: 2.5rem !important;
  padding-top: 2rem !important;
}

/* ========== 实用网站：分类 + 卡片网格 ========== */
html[data-yf-favorites="1"] .yf-page-article,
html[data-yf-favorites="1"] [data-post-content] {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 后台：不要让全站云朵背景干扰管理页可读性 */
body:has(.admin-layout),
.admin-layout,
.admin-layout main {
  background-image: none !important;
}

.yf-favorites-page {
  position: relative;
  z-index: 1;
}

.yf-favorites {
  padding: 1.35rem 1.4rem 1.75rem !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  box-shadow: 0 10px 32px rgba(15, 23, 42, 0.06) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

html.dark .yf-favorites {
  background: rgba(24, 24, 28, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.yf-fav-header {
  margin: 0 0 1.75rem;
}

.yf-fav-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b !important;
}

.yf-fav-title {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.15rem);
  font-weight: 750;
  line-height: 1.25;
  color: #0f172a !important;
}

.yf-fav-desc {
  margin: 0.65rem 0 0;
  max-width: 36em;
  color: #475569 !important;
  line-height: 1.7;
}

.yf-fav-section {
  margin: 0 0 2rem;
}

.yf-fav-section:last-child {
  margin-bottom: 0.25rem;
}

.yf-fav-section-title {
  margin: 0 0 0.95rem;
  padding-bottom: 0.45rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1e293b !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.yf-fav-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.9rem;
}

.yf-fav-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.85rem !important;
  min-height: 84px !important;
  padding: 0.95rem 1rem !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  color: inherit !important;
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.yf-fav-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--anzhiyu-main, #4259ef) 35%, transparent) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
}

.yf-fav-card-icon {
  flex: 0 0 44px !important;
  align-self: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: color-mix(in srgb, var(--anzhiyu-main, #4259ef) 10%, #f3f6fb) !important;
  position: relative !important;
  float: none !important;
}

.yf-fav-icon,
.yf-fav-card-icon img {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  display: block !important;
  position: static !important;
  float: none !important;
  vertical-align: middle !important;
}

.yf-fav-letter {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  color: var(--anzhiyu-main, #4259ef);
}

.yf-fav-card-body {
  min-width: 0;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.yf-fav-card-title {
  font-weight: 650;
  line-height: 1.35;
  color: #0f172a !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.yf-fav-card-desc {
  margin-top: 0.2rem;
  font-size: 0.86em;
  color: #64748b !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.yf-fav-empty {
  margin: 0.5rem 0;
  color: #64748b !important;
}

.yf-favorites-comments {
  position: relative;
  z-index: 1;
}

html.dark .yf-fav-card {
  background: color-mix(in srgb, var(--anzhiyu-card-bg, #1b1f2a) 92%, #000) !important;
  box-shadow: none !important;
}

html.dark .yf-fav-title,
html.dark .yf-fav-section-title,
html.dark .yf-fav-card-title {
  color: #f8fafc !important;
}

html.dark .yf-fav-desc,
html.dark .yf-fav-card-desc,
html.dark .yf-fav-eyebrow,
html.dark .yf-fav-empty {
  color: #94a3b8 !important;
}

@media (max-width: 640px) {
  .yf-fav-grid {
    grid-template-columns: 1fr;
  }

  .yf-favorites {
    padding: 1.1rem 1rem 1.35rem !important;
  }
}
