:root { --ttb-text-desc: color-mix(in srgb, var(--wp--preset--color--text, #181818) 65%, transparent); --ttb-text-meta: color-mix(in srgb, var(--wp--preset--color--text, #181818) 60%, transparent); }
:root:root { --wp--preset--color--muted: var(--ttb-text-meta); }
html { scroll-behavior: smooth; background-color: var(--tttheme-color-page-bg, #F8F8F8); } /* 2026-10-27 站长定: 页面底色 F8F8F8 托举白卡(卡面继续用 background token=#fff), 暗色 #111 不变 */html body { background-color: transparent; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; min-width: 320px; } /* 用户定 2026-09-29: 响应式下限=320px(主流设备逻辑宽度历史下限, 再窄视口出横向滚动不再压缩); 不取375——360dp 国产安卓主力机型会被顶出横滚 */
.ttb-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 4px; }
::selection { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--background); }
a:hover:not(.ttb-hd-nav a):not(.ttb-hd-btn):not(.ttb-hot-search a) { color: var(--wp--preset--color--primary) !important; }
html .wp-block-query-pagination .page-numbers.current:hover { color: #ffffff !important; }
html .ttb-hd-nav a:hover, html .ttb-hd-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--text) !important; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav a:hover, html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav .wp-block-navigation-item__content:hover { color: #ffffff !important; }
html .ttb-hd-nav .current-menu-item a:hover, html .ttb-hd-nav .current-menu-item .wp-block-navigation-item__content:hover { color: #ffffff !important; }
.wp-block-site-title a { text-decoration: none !important; transition: opacity 0.2s ease; }
.wp-block-site-title a:hover { opacity: 0.7; }
.wp-block-navigation .wp-block-navigation-item__content {
  position: relative;
  font-size: 1rem;
  line-height: 1.375rem;
  font-weight: 500;
  color: var(--wp--preset--color--text);
  text-decoration: none;
  transition: color 0.3s ease;
}
.wp-block-navigation .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 9999px;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition: transform 0.3s ease;
}
.wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); }
.wp-block-navigation .wp-block-navigation-item__content:hover::after { transform: scaleX(1); transform-origin: 0 50%; }
.ttb-hd-nav .wp-block-navigation-item__content { padding: 4px 12px; transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
.ttb-hd-nav .wp-block-navigation-item__content::after {
  bottom: -4px;
  left: 50%;
  right: auto;
  width: 25%;
  background: var(--wp--preset--color--primary);
  transform: translateX(-50%) scaleX(0);
  transform-origin: 50% 50%;
}
.ttb-hd-ghost .ttb-hd-nav .wp-block-navigation-item__content::after { background: currentColor; }
.ttb-hd-nav .wp-block-navigation-item__content:hover::after { transform: translateX(-50%) scaleX(1); transform-origin: 50% 50%; }
.ttb-hd-nav .current-menu-item > .wp-block-navigation-item__content {
  background: var(--wp--preset--color--primary);
  color: #ffffff;
  border-radius: var(--tttheme-radius-full, 99999px);
}
.ttb-hd-nav .current-menu-item > .wp-block-navigation-item__content::after { content: none; }
/* ── 二级菜单（WP 原生 navigation-submenu, 站长定 2026-10-26: hover 展开;
   面板对齐右侧「多语言/头像」菜单风格(8px 间隙/6px 内衬/0.875rem 条目/卡片色悬停);
   可见性主题接管 display + :hover/:focus-within/:has(aria-expanded 触屏), 不依赖 core hover/clip 机制) ── */
.ttb-hd-nav li.has-child { position: relative; }
.ttb-hd-nav li.has-child::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 8px; } /* 悬停桥: 跨过 8px 间隙面板不闪断 */
.ttb-hd-nav li.has-child > .wp-block-navigation__submenu-container {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 116px; /* 视觉宽 128=116+12padding, 站长定 2026-10-26(三面板统一) */
  margin: 0;
  padding: 8px;
  background: var(--wp--preset--color--background);
  border-radius: var(--tttheme-radius-md, 8px);
  box-shadow: var(--ttb-panel-shadow);
  z-index: 99990;
  transform-origin: top left;
  animation: ttb-pop-in 0.16s ease-out;
  list-style: none;
}
html.tttheme-dark .ttb-hd-nav li.has-child > .wp-block-navigation__submenu-container { box-shadow: var(--ttb-panel-shadow); }
@media (prefers-reduced-motion: reduce) { .ttb-hd-nav li.has-child > .wp-block-navigation__submenu-container { animation: none; } }
/* 打开: 悬停 / 键盘聚焦 / 触屏点击(toggle aria-expanded) */
@media (hover: hover) { /* 站长报触屏收不掉根因: tap 后 :hover 粘滞——悬停显示仅限真鼠标设备 */
.ttb-hd-nav li.has-child:hover > .wp-block-navigation__submenu-container,
.ttb-hd-nav li.has-child:focus-within > .wp-block-navigation__submenu-container { display: block; }
}
.ttb-hd-nav li.has-child:has(> [aria-expanded="true"]) > .wp-block-navigation__submenu-container,
.ttb-hd-nav li.has-child.ttb-sub-open > .wp-block-navigation__submenu-container { display: flex; flex-direction: column; }
/* 面板宽度: 核心打开态规则给 min-width:200px(特异性更高) → 提特异性压回 156px=多语言菜单宽(站长定 2026-10-26); 桌面端 only(≥783) */
@media (min-width: 783px) {
  .ttb-hd-nav li.has-child.wp-block-navigation-item.wp-block-navigation-submenu > .wp-block-navigation__submenu-container { min-width: 116px; border: none; } /* 视觉宽=116+12padding=128(去 theme.json 全局 1px 块边框), 站长定 2026-10-26 */
}
/* 条目内衬: 核心条目规则 padding:0.5em 1em 是 (0,5,0)(has-child+toggle+属性都算类) → 本规则 (0,6,2) 压制, 对齐 ttb-lang-item 的 8px 12px */
.ttb-hd-nav.wp-block-navigation li.has-child > .wp-block-navigation__submenu-container li.wp-block-navigation-item > a.wp-block-navigation-item__content { padding: 8px 12px; }
/* 面板内颜色显式钉死(不继承): ghost 透明头(hero 上白字设计)会把条目染白 → 白面板白字不可读(站长报 2026-10-26) */
.ttb-hd-nav li.has-child > .wp-block-navigation__submenu-container { color: var(--wp--preset--color--text); }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav .wp-block-navigation__submenu-container a.wp-block-navigation-item__content { color: var(--wp--preset--color--text) !important; }
/* 箭头按钮(更多右侧): 显式继承条目色, 不吃 UA 按钮默认色; ghost 顶层箭头随条目走白色 */
.ttb-hd-nav li.has-child { align-items: center; }
.ttb-hd-nav .wp-block-navigation-submenu__toggle { color: inherit; background-color: transparent; align-self: center; margin-left: -4px; }
.ttb-hd-nav .wp-block-navigation-submenu__toggle svg { margin-top: 0; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav .wp-block-navigation-submenu__toggle { color: #fff; }
/* 条目: 对齐 ttb-lang-item / ttb-account-menu a */
.ttb-hd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { display: block; width: 100%; margin: 0; }
.ttb-hd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: 8px 12px; font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.5; border-radius: var(--tttheme-radius, 8px); }
.ttb-hd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { content: none; }
/* 当前页项(站长定 2026-10-27): 主色字+主色浅底; 置于 hover 规则前, hover 优先级不变 */
.ttb-hd-nav .wp-block-navigation__submenu-container li.current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary); background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent); }
/* 幽灵头白面板内: hover 白字 !important 残留清除(白底白字不可读), 恒为当前态色系(站长定 2026-10-27) */
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary) !important; background: var(--wp--preset--color--card-bg) !important; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav .wp-block-navigation__submenu-container li.current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary) !important; background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent) !important; }
.ttb-hd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); background: var(--wp--preset--color--card-bg); text-decoration: none; }
/* 箭头: 弱化跟随文字色, 展开时翻转 */
.ttb-hd-nav .wp-block-navigation__submenu-icon svg { width: 12px; height: 12px; opacity: 0.55; transition: transform 0.2s ease; }
.ttb-hd-nav li.has-child:has(> [aria-expanded="true"]) .wp-block-navigation__submenu-icon svg,
.ttb-hd-nav li.has-child.ttb-sub-open .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
/* 移动端抽屉内: 子菜单随文档流纵排(无桥无浮层) */
@media (max-width: 782px) {
  .ttb-site-header .ttb-hd-nav li.has-child::after { content: none; }
  .ttb-site-header .ttb-hd-nav li.has-child > .wp-block-navigation__submenu-container { position: static; min-width: 0; margin: 0 0 4px; padding: 4px 8px; box-shadow: none; background: var(--wp--preset--color--card-bg); border-radius: var(--tttheme-radius, 8px); }
}
.wp-block-separator { border-top: none !important; border-bottom: 1px solid var(--wp--preset--color--border); height: 0; opacity: 0.6; }
.wp-block-post-featured-image img, .wp-block-post-content img { border-radius: var(--tttheme-radius, 8px); max-width: 100%; height: auto; }
.wp-block-post-template.is-layout-flow > .wp-block-post:first-child .wp-block-post-featured-image {
  margin-bottom: 1.5rem;
  overflow: hidden;
  border-radius: var(--tttheme-radius, 8px);
}
.wp-block-post-template.is-layout-flow > .wp-block-post:first-child .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.wp-block-post-template.is-layout-flow > .wp-block-post:first-child .wp-block-post-featured-image:hover img { transform: scale(1.03); }
/* 0.9.35: 网格卡旧层收拢——gap/hover/图距/标题字号被 L883-900 卡片层接管, 仅留第二层未含的 margin/border/标题 margin */
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post { margin: 0; border: none; }
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease, opacity 0.3s ease;
}
.wp-block-post-template.is-layout-grid .wp-block-post .wp-block-post-featured-image:hover img { transform: scale(1.04); opacity: 0.9; }
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid):not(.ttb-home-grid) .wp-block-post .wp-block-post-title { margin: 0.25rem 0; }
.wp-block-post-template.is-layout-grid .wp-block-post .wp-block-post-title a { text-decoration: none; transition: color 0.2s ease; }
.wp-block-columns .wp-block-column .wp-block-heading a { text-decoration: none; transition: color 0.2s ease; }
.ttb-rec { display: flex; flex-direction: column; gap: 0.375rem; width: 100%; box-sizing: border-box; padding: 0; background: none; text-decoration: none; border-radius: var(--tttheme-radius, 8px); overflow: hidden; }
.ttb-rec-media { position: relative; display: block; }
.ttb-rec-kicker { position: absolute; top: 0; left: 1.5rem; z-index: 1; font-size: var(--wp--preset--font-size--2xs, 0.75rem); font-weight: 500; letter-spacing: 0.02em; padding: 4px 12px; background: var(--ttb-rec-accent, var(--wp--preset--color--primary)); color: #fff; border-radius: 0 0 6px 6px; }
.ttb-rec--nomedia .ttb-rec-kicker { position: static; align-self: flex-start; border-radius: 0 0 6px 6px; }
html.tttheme-dark .ttb-rec { background: none; }
html.tttheme-dark .ttb-rec--accent .ttb-rec-kicker { color: #fff; }
.ttb-rec-title { font-size: 1.125rem; font-weight: 400; line-height: 1.5; margin-top: 0.75rem; color: var(--wp--preset--color--text); transition: color 0.15s ease; }
.ttb-rec:hover .ttb-rec-title { color: var(--ttb-rec-accent, var(--wp--preset--color--primary)); }
.ttb-rec-img { display: block; width: 100%; height: auto; border-radius: var(--tttheme-radius, 8px); }
.ttb-rec-desc { font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.7; text-align: justify; color: var(--ttb-text-desc); }
.ttb-rec-more { align-self: flex-end; display: inline-flex; align-items: center; gap: 0.25rem; margin-top: 0.25rem; font-size: var(--wp--preset--font-size--2xs, 0.75rem); color: var(--ttb-rec-accent, var(--wp--preset--color--primary)); }
html.tttheme-dark .ttb-rec--accent .ttb-rec-more, html.tttheme-dark .ttb-rec--accent:hover .ttb-rec-title { color: color-mix(in srgb, var(--ttb-rec-accent), #fff 30%); }
.ttb-rec-more::after { content: '\2192'; transition: transform 0.15s ease; }
.ttb-rec:hover .ttb-rec-more::after { transform: translateX(2px); }
.wp-block-post-featured-image, .ttb-rand-thumb { position: relative; overflow: hidden; background: var(--wp--preset--color--card-bg); }
.wp-block-post-featured-image img, .ttb-rand-thumb img { position: relative; z-index: 1; }
.wp-block-post-featured-image::before, .ttb-rand-thumb::before {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--border), transparent);
  animation: ttb-shimmer 1.4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes ttb-shimmer {
  to { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) { .wp-block-post-featured-image::before, .ttb-rand-thumb::before { animation: none; display: none; } }
.wp-block-post-featured-image.is-img-loaded::before, .ttb-rand-thumb.is-img-loaded::before { animation: none; display: none; }
.wp-block-post-excerpt__text, .wp-block-post-excerpt__excerpt { text-align: justify; }
.wp-block-post-excerpt { color: var(--ttb-text-desc); }
/* 0.9.35: more-link 旧层收拢(字号/下划线/色被 L912 accent 层接管, 留第二层未含的 display/text-decoration) */
.wp-block-post-excerpt__more-link {
  display: inline-block;
  text-decoration: none;
}
.wp-block-quote {
  position: relative;
  margin: 1.25rem 0; /* 用户定 2026-09-28 五轮: 上下间距收紧 2rem→1.25rem; 与相邻段落 1.4em 底距折叠后实际节奏≈22px, 引用贴正文 */
  padding: 0.25rem 0; /* 用户定 2026-09-28 二轮: 居左内间距 1.75rem 去掉, 引用与正文齐平; 0.25rem 上下保留(非左内距) */
  border-left: none !important; /* 用户定 2026-09-28: 去左侧边框(none!important防核心/残留样式回填), theme.json core/quote 的 border 同步已删 */
  background: none;
}
.wp-block-quote p {
  margin: 0;
  font-size: var(--wp--preset--font-size--base); /* 用户定 2026-09-28 七轮: 正文1rem(16px)+2px=18px, 恰回base阶梯值(24px过大回撤) */
  line-height: 1.8;
  font-style: normal;
  font-family: 'Kaiti SC', 'STKaiti', KaiTi, 'KaiTi_GB2312', '楷体', serif; /* 用户定 2026-09-28: 楷体(win KaiTi/mac Kaiti SC 全平台栈); 原杂志衬线 Noto Serif SC 与大引号装饰(::before)一并退役 */
  padding-bottom: 0.8em; /* 波浪空间: 波浪贴 p 盒底, 避开楷体降部 */
  width: fit-content; /* 用户定 2026-09-28 四轮: 波浪不铺满——盒宽收缩到文字宽, 波浪随文字多长显示多长(长文换行时盒宽=最宽行) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='9' viewBox='0 0 24 9'%3E%3Cpath d='M0 6 Q6 2 12 6 T24 6' fill='none' stroke='%23e8e8e8' stroke-width='1'/%3E%3C/svg%3E"); /* 用户定 2026-09-28 三/四轮: e8e8e8 大波浪 1px 线; 幅度减半平滑(摆幅8px→4px, 周期24px不变); data URI 内无法引用 CSS 变量故字面色值 */
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 24px 9px;
}
.ttb-article .ttb-prose .wp-block-quote p { margin: 0; } /* 用户定 2026-09-28 二轮: 引用内段落去间距——(0,3,1) 压制 .ttb-article .ttb-prose p(下文 1229 行)的 1.4em 底距; 正文段落节奏不动 */
.wp-block-quote cite {
  display: block;
  clear: both;
  margin-top: 0.75rem;
  font-size: var(--wp--preset--font-size--xs);
  font-style: normal;
  color: var(--wp--preset--color--muted);
}
.ttb-article .ttb-prose .wp-block-quote cite { color: var(--wp--preset--color--muted) !important; }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: var(--wp--preset--font-size--sm); }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--wp--preset--color--border); padding: 0.75rem 1rem; text-align: left; }
.wp-block-table th { background: var(--wp--preset--color--card-bg); font-weight: 600; }
.wp-block-code, .wp-block-preformatted {
  font-family: "SF Mono", Monaco, Consolas, monospace;
  font-size: var(--wp--preset--font-size--sm);
  border-radius: var(--tttheme-radius, 8px);
}
.wp-block-post-content ul:not([class*="block"]), .wp-block-post-content ol:not([class*="block"]) { padding-left: 1.5rem; margin-bottom: 1.5rem; }
.wp-block-post-content li + li { margin-top: 0.25rem; }
.wp-block-image .alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.wp-block-image .alignright { float: right; margin: 0 0 1rem 1.5rem; }
.wp-block-image .aligncenter { margin-left: auto; margin-right: auto; }
.wp-block-cover { border-radius: var(--tttheme-radius, 8px); overflow: hidden; }
.wp-block-gallery { gap: 0.5rem !important; }
.wp-block-video video, .wp-block-audio audio { width: 100%; border-radius: var(--tttheme-radius, 8px); }
.wp-block-search__input {
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--tttheme-radius, 8px);
  transition: border-color 0.2s ease;
}
.wp-block-search__input:focus {
  outline: none;
  border-color: var(--wp--preset--color--primary);
  box-shadow: 0 0 0 1px var(--wp--preset--color--primary);
}
.error404 .wp-block-search { max-width: 400px; margin: 2rem auto; }
/* 0.9.35: 404 标题字号/字重/字距由模板行内收编进样式表(缓存友好, 0.8.74 口径) */
.ttb-404-title { font-size: clamp(4rem, 10vw, 8rem) !important; font-weight: 800 !important; letter-spacing: -0.04em !important; line-height: 1 !important; }
/* 0.9.35: 分页旧层收拢(内距/圆角/过渡/hover底被 L966 层接管, 留 text-decoration/font-size/hover色) */
.wp-block-query-pagination .page-numbers {
  text-decoration: none;
  font-size: var(--wp--preset--font-size--sm);
}
.wp-block-query-pagination .page-numbers:not(.current):hover { color: var(--wp--preset--color--primary); }
mark {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--background);
  padding: 0.1em 0.2em;
  border-radius: var(--tttheme-radius-sm, 4px);
}
footer .wp-block-separator { margin-top: 4rem; margin-bottom: 0; }
footer a { text-decoration: none; transition: opacity 0.2s ease; }
footer a:hover { opacity: 0.7; }

@media (max-width: 479px) {
  .wp-block-post-template.is-layout-grid:not(.ttb-home-grid) { grid-template-columns: 1fr !important; gap: var(--ttb-space-item, 1.5rem); }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
  .wp-block-post-title, .ttb-article h1, .ttb-arch-title, .ttb-arch-tag-name { font-size: var(--wp--preset--font-size--xl) !important; }
  h2 { font-size: var(--wp--preset--font-size--lg) !important; }
  .wp-block-post-featured-image { margin-left: 0; margin-right: 0; width: 100%; }
  .wp-block-post-template.is-layout-grid .wp-block-post:hover { transform: none; }
  .wp-block-post-template.is-layout-grid .wp-block-post .wp-block-post-featured-image:hover img { transform: none; }
}

@media (min-width: 480px) and (max-width: 768px) {
  .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 2rem; }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: calc(50% - 1rem) !important; }
}
@media (min-width: 769px) and (max-width: 1024px) { .wp-block-post-template.is-layout-grid:not(.ttb-card-grid) { gap: 2rem 2.5rem; } }
.wp-block-post-content iframe, .wp-block-post-content video, .wp-block-post-content embed { max-width: 100%; height: auto; }
@media (max-width: 768px) { .wp-block-table { overflow-x: auto; display: block; } .wp-block-table table { min-width: 500px; } }
.ttb-row-card > * { margin-block-start: 0; margin-block-end: 0; }
.ttb-row-card.is-layout-flex { align-items: stretch; }
.ttb-row-card > .ttb-row-text { display: flex; flex-direction: column; }
.ttb-row-card > .wp-block-post-featured-image { align-self: stretch; }
.ttb-row-card > .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.wp-block-post-template > li.wp-block-post { margin-block: 0; }
li.wp-block-post + li.wp-block-post > .ttb-row-card { margin-top: 1px; }
.ttb-row-card > .ttb-row-text > .ttb-item-meta { margin-top: auto; }
.ttb-row-card {
  align-items: flex-start;
  box-sizing: border-box;
  background: var(--wp--preset--color--background, #ffffff);
  box-shadow: var(--ttb-card-shadow);
  border-radius: var(--tttheme-radius, 8px);
  overflow: hidden;
  transition: box-shadow 0.2s ease;
  padding: 1.5rem;
}
.ttb-row-card:hover { box-shadow: var(--ttb-card-shadow-hover); }
html.tttheme-dark .ttb-row-card { background: var(--wp--preset--color--card-bg); box-shadow: var(--ttb-card-shadow); }
html.tttheme-dark .ttb-row-card:hover { box-shadow: var(--ttb-card-shadow-hover); }
.ttb-row-card > .wp-block-post-featured-image { flex: 0 0 15rem; width: 15rem; }
.wp-block-post-template > .wp-block-post:first-child > .ttb-row-card > .wp-block-post-featured-image { margin-bottom: 0; border-radius: var(--tttheme-radius, 8px); }
.wp-block-post-featured-image img { border-radius: var(--tttheme-radius, 8px) !important; }
.wp-block-group[style*="border-radius"]:not([style*="50%"]) { border-radius: var(--tttheme-radius-box, 0px) !important; }
.ttb-row-card > .wp-block-group { flex: 1 1 0; min-width: 0; }
@media (max-width: 640px) { .ttb-row-card { flex-direction: row; } /* 2026-10-27 站长定: 手机保留 PC 左图右文; 0.9.35 删同行图列 118px 旧声明(被 L2434 !important 版接管) */ }
.ttb-content-images { display: flex; gap: 0; margin-top: 12px; margin-bottom: 12px; } /* 2026-10-27 站长定: 上下外距各 12 */
.ttb-content-images .ttb-ci-item { display: block; cursor: zoom-in; }
.ttb-content-images .ttb-ci-item img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: opacity 0.2s ease;
}
.ttb-content-images:not(.ttb-talk-imgs) .ttb-ci-item:hover img { opacity: 0.85; }
.ttb-ci-1 .ttb-ci-item { width: 50%; }
.ttb-ci-2 .ttb-ci-item { width: 33.3333%; }
.ttb-ci-3 .ttb-ci-item { width: 25%; }
.ttb-ci-4 .ttb-ci-item, .ttb-ci-5 .ttb-ci-item { width: 20%; }
.ttb-ci-6 .ttb-ci-item { width: 16.6667%; }
.ttb-ci-7 .ttb-ci-item { width: 14.2857%; }

@media (max-width: 640px) {
  .ttb-content-images { flex-wrap: wrap; gap: 8px; }
  /* 2026-10-27 站长定: 手机图组奇偶规则——偶数组(2/4)两列各50%; 其余(可见数奇)首图100%剩余各50%; PC 均分不变 */
  .ttb-content-images:not(.ttb-talk-imgs) .ttb-ci-item { width: calc(50% - 4px); }
  .ttb-content-images:not(.ttb-talk-imgs) .ttb-ci-item:nth-child(n+6) { display: none; }
  .ttb-content-images:not(.ttb-talk-imgs):not(.ttb-ci-2):not(.ttb-ci-4) .ttb-ci-item:first-child { width: 100%; }
}
.ttb-x {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: transform 0.15s ease;
}
.ttb-x:hover { transform: rotate(90deg); }
.ttb-x svg { width: 26px; height: 26px; display: block; }
.ttb-lb {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  background: var(--ttb-overlay-bg);
  -webkit-backdrop-filter: blur(var(--ttb-overlay-blur));
  backdrop-filter: blur(var(--ttb-overlay-blur));
}
.ttb-lb.is-open { display: flex; animation: ttb-lb-in 0.18s ease-out; }
.ttb-lb.is-closing { opacity: 0; transition: opacity 0.15s ease; }

@keyframes ttb-lb-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.ttb-lb-img {
  display: block;
  max-width: min(88vw, 1200px);
  max-height: 84vh;
  width: auto;
  height: auto;
  border-radius: var(--tttheme-radius-lg, 16px);
  box-shadow: var(--ttb-overlay-shadow);
  transition: opacity 0.18s ease;
}
.ttb-lb-img.is-switching { opacity: 0; }
.ttb-lb .ttb-lb-close { color: #fff; filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.4)); }
.ttb-lb .ttb-lb-count {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.ttb-lb .ttb-lb-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #181818;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  transition: background 0.15s ease;
}
.ttb-lb .ttb-lb-nav:hover { background: #fff; }
.ttb-lb .ttb-lb-prev { left: 1.5rem; }
.ttb-lb .ttb-lb-next { right: 1.5rem; }
.ttb-lb.ttb-lb-single .ttb-lb-nav { display: none; }

@media (max-width: 640px) {
  .ttb-lb .ttb-lb-nav { width: 40px; height: 40px; }
  .ttb-lb .ttb-lb-prev { left: 0.75rem; }
  .ttb-lb .ttb-lb-next { right: 0.75rem; }
  .ttb-lb-img { max-width: calc(100vw - 120px); max-height: 76vh; }
}

@media (prefers-reduced-motion: reduce) {
  .ttb-lb.is-open { animation: none; }
  .ttb-lb.is-closing { transition: none; }
  .ttb-lb-img, .ttb-x, .ttb-lb .ttb-lb-nav { transition: none; }
}
.ttb-site-header > .wp-block-group.alignwide { min-height: 64px; }
.ttb-site-header {
  z-index: 100;
  /* 浏览器兼容回退：color-mix 基线 2023-05（Chrome 111/Safari 16.2），旧内核(微信 X5 旧版等)走纯色不透明，避免 header 透明内容穿透 */
  background: var(--wp--preset--color--background, #faf8f5);
  background: color-mix(in srgb, var(--wp--preset--color--background) 85%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  /* 2026-10-27 站长定: header 底部线去掉(border-bottom 移除, ghost 态的 border-bottom-color:transparent 随之无操作) */
  transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s ease;
}
/* 2026-10-27 站长定: header 下拉淡阴影(滚动后浮现, 幅度克制) */
.ttb-site-header.ttb-hd-scrolled { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 16px rgba(0, 0, 0, 0.07); }
html.tttheme-dark .ttb-site-header.ttb-hd-scrolled { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.35); }
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.wp-block-site-logo .ttb-site-logo-svg { display: block; color: var(--wp--preset--color--primary); }
.wp-block-site-logo .ttb-site-logo-svg [stroke] { stroke: var(--wp--preset--color--primary); }
.wp-block-site-logo .ttb-site-logo-svg [fill]:not([fill='none']) { fill: var(--wp--preset--color--primary); }
html.tttheme-dark .wp-block-site-logo .ttb-site-logo-svg { color: #ffffff; }
html.tttheme-dark .wp-block-site-logo .ttb-site-logo-svg [stroke] { stroke: #ffffff; }
html.tttheme-dark .wp-block-site-logo .ttb-site-logo-svg [fill]:not([fill='none']) { fill: #ffffff; }

@keyframes ttb-logo-eye {
  0% { transform: translate(0, 0); }
  10% { transform: translate(-5px, 1px); }
  25% { transform: translate(-5px, 1px); }
  35% { transform: translate(-2px, -2px); }
  50% { transform: translate(-2px, -2px); }
  60% { transform: translate(2px, 1px); }
  75% { transform: translate(2px, 1px); }
  85% { transform: translate(-2px, 4px); }
  95% { transform: translate(-2px, 4px); }
  100% { transform: translate(0, 0); }
}
.ttb-site-logo-svg .ttb-logo-eye { animation: ttb-logo-eye 4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .ttb-site-logo-svg .ttb-logo-eye { animation: none; } }
.entry-content a:visited, .wp-block-post-content a:visited, .comment-content a:visited { color: #666; }
.entry-content a:visited:hover, .wp-block-post-content a:visited:hover, .comment-content a:visited:hover { color: var(--wp--preset--color--primary); }
.ttb-site-header .ttb-hd-burger { display: none; }
.ttb-hd-burger .ttb-burger-l1, .ttb-hd-burger .ttb-burger-l2 { transform-box: view-box; transform-origin: 50% 50%; transition: transform 0.2s ease; }
.ttb-hd-burger.is-open .ttb-burger-l1 { transform: rotate(45deg) translateY(3px); }
.ttb-hd-burger.is-open .ttb-burger-l2 { transform: rotate(-45deg) translateY(-3px); }

/* 0.9.44 站长定: 内联菜单永不折行——放不下先藏「更多」再落抽屉。实测: 菜单内容宽 ~552px 骑边界(PC 也有 ~2px 挤压), 840-880 标签会被挤成两行;
   藏「更多」+紧凑内距后 7 项 ~415px, 783(可用 449px)起全段单行 → 783-889 藏「更多」, ≥890 全显; ≤782 抽屉口径不变 */
@media (min-width: 783px) {
  nav.ttb-hd-nav .wp-block-navigation__container { flex-wrap: nowrap; }
  nav.ttb-hd-nav .wp-block-navigation-item__content { white-space: nowrap; }
}
@media (min-width: 783px) and (max-width: 889px) {
  .ttb-hd-nav .wp-block-navigation__container > li.has-child { display: none; } /* 「更多」先藏; 归档/友链在 ≤782 由弹层接管, 本段内联态经页脚可达 */
  nav.ttb-hd-nav .wp-block-navigation-item__content { padding-left: 0.5rem; padding-right: 0.5rem; } /* 紧凑内距: 藏更多后 7 项自然宽 ~471px 仍超 783 可用 ~449px, 收 0.75→0.5rem 后 ~415px 放得下 */
}
/* 0.9.40 站长定(2026-11-04): 菜单手机档=≤782——宽度够就内联原位显示(834/1024/1366 竖屏实测菜单自然宽 507px 全放得下), 撤销 0.9.34「≤1099 竖屏抽屉」;
   768 竖屏实测需 ~751px > 可用 ~728px 塞不下, 保持抽屉(不加横向滚动: 8 顶级项最多差 23px, 滚动不可发现)。以下菜单档规则同口径 */
@media (max-width: 782px) {
  .ttb-site-header .ttb-hd-actions { margin-left: auto; }
  .ttb-site-header .ttb-account { display: none; }
  .ttb-site-header .ttb-hd-burger { display: inline-flex; }
  .ttb-site-header .ttb-hd-nav { display: none; }
  .ttb-site-header .ttb-hd-nav.ttb-nav-open { display: block; } /* 仅显示开关: 0.9.35 删旧下拉面板壳/竖排条目死层(被尾部 0.9.20 权威块全面接管, 终态样式集中在该块) */
  html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav.ttb-nav-open .wp-block-navigation-item__content { color: var(--wp--preset--color--text) !important; }
  html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav.ttb-nav-open .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--text) !important; }
  .ttb-site-header .ttb-hd-nav .wp-block-navigation-item { margin: 0; } /* 0.9.35: 全菜单档 li 边距归零单源(原 chips 层重复声明已删) */
  .ttb-site-header .ttb-hd-nav .wp-block-navigation-item__content::after { content: none; }
  .ttb-site-header .ttb-hd-nav .current-menu-item > .wp-block-navigation-item__content { border-radius: 8px; }
}

@keyframes ttb-nav-drop {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .ttb-site-header .ttb-hd-nav.ttb-nav-open { animation: none; } .ttb-hd-burger .ttb-burger-l1, .ttb-hd-burger .ttb-burger-l2 { transition: none; } }
@media (max-width: 782px) { main.wp-block-group > .wp-block-columns { padding-left: 0; padding-right: 0; } }
.ttb-logo-dark { display: none; }
html.tttheme-dark .ttb-logo-light { display: none; }
html.tttheme-dark .ttb-logo-dark { display: inline-block; }
.ttb-item-meta { color: var(--wp--preset--color--muted); }
.ttb-item-meta .wp-block-post-author, .ttb-item-meta .wp-block-post-author__avatar, .ttb-item-meta .wp-block-post-author__content { display: inline-flex; align-items: center; }
.ttb-item-meta .wp-block-post-author__avatar { margin-right: 0.5rem; }
.ttb-item-meta .wp-block-post-author__name { margin: 0; line-height: 1.2; font-size: inherit; }
.ttb-item-meta .wp-block-post-author__avatar img { display: block; width: 1.5rem; height: 1.5rem; border-radius: 50%; }
.ttb-item-actions .wp-block-group { display: inline-flex; align-items: center; }
.ttb-stats { display: inline-flex; align-items: center; gap: 1rem; }
.ttb-stat { display: inline-flex; align-items: center; gap: 4px; }
.ttb-stat-icon { flex: 0 0 auto; opacity: 0.75; transition: transform 0.18s ease; }
.ttb-like-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  position: relative;
  padding: 0;
  border: none;
  background: none;
  color: var(--wp--preset--color--muted);
  font-size: inherit;
  line-height: inherit;
  cursor: pointer;
  transition: color 0.15s ease;
}
.ttb-like-btn:hover { color: var(--wp--preset--color--primary); }
.ttb-like-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.ttb-like-btn:hover .ttb-stat-icon { transform: scale(1.25); }
.ttb-like-btn.is-liked { color: var(--wp--preset--color--primary); cursor: default; }
.ttb-like-label-done { display: none; }
.ttb-like-btn.is-liked .ttb-like-label { display: none; }
.ttb-like-btn.is-liked .ttb-like-label-done { display: inline; }
.ttb-like-btn.is-liked .ttb-stat-icon { fill: currentColor; animation: ttb-like-pop 0.45s ease; }

@keyframes ttb-like-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.5) rotate(-10deg); }
  70% { transform: scale(0.92); }
  100% { transform: scale(1); }
}
.ttb-like-plus {
  position: absolute;
  left: 0;
  top: -2px;
  font-size: var(--wp--preset--font-size--2xs, 0.75rem);
  font-weight: 600;
  color: var(--wp--preset--color--primary);
  pointer-events: none;
  animation: ttb-like-up 0.65s ease forwards;
}

@keyframes ttb-like-up {
  0% { opacity: 0; transform: translateY(2px); }
  25% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-16px); }
}
@media (prefers-reduced-motion: reduce) { .ttb-like-btn.is-liked .ttb-stat-icon, .ttb-like-plus, .ttb-search-panel { animation: none; } }
.ttb-excerpt-auto, .ttb-excerpt-manual { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-hd-actions { align-items: center; gap: var(--ttb-gutter, 1.5rem); } /* 2026-10-27 站长定: 图标间距分档 24/18/12(收窄见尾块) */
.ttb-hd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: var(--tttheme-radius-full, 99999px);
  background: transparent;
  color: var(--wp--preset--color--text);
  cursor: pointer;
  transition: background 0.2s ease, color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.ttb-hd-btn svg { width: 1rem; height: 1rem; } /* 2026-10-27 站长澄清: 图标恒 16, 按钮盒恒 30×30(本就如此), hover 不放大 */
.ttb-hd-btn:hover { background: rgba(0, 0, 0, 0.05); }
html.tttheme-dark .ttb-hd-btn:hover { background: rgba(255, 255, 255, 0.25); }
a.ttb-hd-btn { text-decoration: none; }
a.ttb-hd-btn:hover { color: var(--wp--preset--color--text); }
.ttb-mode-sun { display: block; }
.ttb-mode-moon { display: none; }
html.tttheme-dark .ttb-mode-sun, .ttb-mode-toggle.is-dark .ttb-mode-sun { display: none; }
html.tttheme-dark .ttb-mode-moon, .ttb-mode-toggle.is-dark .ttb-mode-moon { display: block; }
.ttb-account { position: relative; display: flex; margin-left: 26px; }
.ttb-account::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 8px;
}
.ttb-account-btn img { display: block; width: 30px; height: 30px; border-radius: 99999px; }

@keyframes ttb-pop-in {
  from { opacity: 0; transform: translateY(-4px) scale(0.97); }
}
.ttb-account-menu, .ttb-lang-menu { transform-origin: top right; animation: ttb-pop-in 0.16s ease-out; }
@media (prefers-reduced-motion: reduce) { .ttb-account-menu, .ttb-lang-menu { animation: none; } }
.ttb-account-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  display: none;
  min-width: 116px; /* 视觉宽 128, 站长定 2026-10-26(三面板统一) */
  padding: 8px;
  background: var(--wp--preset--color--background);
  border-radius: var(--tttheme-radius-md, 8px);
  box-shadow: var(--ttb-panel-shadow);
  z-index: 99990;
}
html.tttheme-dark .ttb-account-menu { box-shadow: var(--ttb-panel-shadow); }
.ttb-account:hover .ttb-account-menu, .ttb-account:focus-within .ttb-account-menu, .ttb-account.is-open .ttb-account-menu { display: block; }
.ttb-account-menu a {
  display: block;
  padding: 8px 12px;
  border-radius: var(--tttheme-radius, 8px);
  font-size: var(--wp--preset--font-size--xs, 0.875rem);
  color: var(--wp--preset--color--text);
  text-decoration: none;
}
.ttb-account-menu a:hover { background: var(--wp--preset--color--card-bg); }
.ttb-search-backdrop {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: var(--ttb-overlay-bg);
  -webkit-backdrop-filter: blur(var(--ttb-overlay-blur));
  backdrop-filter: blur(var(--ttb-overlay-blur));
}
.ttb-search-panel {
  position: fixed;
  top: 16px;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: min(720px, calc(100vw - 32px));
  box-sizing: border-box;
  z-index: 99999;
  padding: 1.5rem 1.5rem 1rem;
  background: var(--wp--preset--color--background);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--tttheme-radius-lg, 0px);
  box-shadow: var(--ttb-overlay-shadow);
  animation: ttb-search-drop 0.3s ease;
}

@keyframes ttb-search-drop {
  from { transform: translateY(-8px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.ttb-search-field { border-radius: var(--tttheme-radius-md, 8px); overflow: hidden; }
body.search { overflow-x: clip; }
body.search .ttb-list-page { padding-top: 0; }
.ttb-list-page.wp-block-group.is-layout-constrained > .ttb-search-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 200px;
  box-sizing: border-box;
  padding: var(--ttb-gutter);
  overflow: hidden;
  max-width: none;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
.ttb-search-hero .wp-block-search { width: 100%; }
.ttb-search-hero .ttb-search-field { padding: 0; }
.ttb-search-hero .ttb-search-field .wp-block-search__inside-wrapper {
  border: none;
  background: #fff;
  border-radius: var(--tttheme-radius-md, 8px);
  overflow: hidden;
  box-sizing: border-box;
  padding: 0.25rem;
  padding-left: 0.75rem;
}
.ttb-search-hero .wp-block-search__input { color: #181818; }
.ttb-search-hero .ttb-search-field:focus-within .wp-block-search__inside-wrapper { box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4); }
.ttb-search-hero .wp-block-search__input {
  border: none;
  background: transparent;
  box-shadow: none;
  flex: 1;
  min-height: 40px;
}
.ttb-search-hero .wp-block-search__input:focus { border: none; box-shadow: none; outline: none; }
.ttb-search-hero .wp-block-search__input:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: -2px; }
.ttb-search-hero .wp-block-search__button {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--wp--preset--color--primary);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.ttb-search-hero .wp-block-search__button:hover, .ttb-search-hero .wp-block-search__button.has-icon:hover {
  background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent) !important;
  color: var(--wp--preset--color--primary) !important;
  transform: none !important;
}
.ttb-search-hero .wp-block-search__button svg { width: 20px; height: 20px; display: block; fill: none; stroke: currentColor; }
.ttb-search-hero { position: relative; }
.ttb-search-hero .ttb-dot {
  position: absolute;
  left: -16px;
  pointer-events: none;
  will-change: transform;
  animation: ttb-dot-x 18s linear infinite;
}
.ttb-search-hero .ttb-dot i {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #fff;
  animation: ttb-dot-y 3s ease-in-out infinite alternate;
}

@keyframes ttb-dot-x {
  from { transform: translateX(0); }
  to { transform: translateX(1500px); }
}

@keyframes ttb-dot-y {
  from { transform: translateY(calc(var(--sway, 14px) * -1)); }
  to { transform: translateY(var(--sway, 14px)); }
}
@media (max-width: 782px) { .ttb-search-hero .ttb-dot { display: none; } }
@media (prefers-reduced-motion: reduce) { .ttb-search-hero .ttb-dot, .ttb-search-hero .ttb-dot i { animation: none; } }
.ttb-hot-search {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.25rem 0.875rem;
  margin-top: 1rem;
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  box-sizing: border-box;
}
.ttb-hot-search .ttb-hot-label { font-size: var(--wp--preset--font-size--xs, 0.8125rem); color: rgba(255, 255, 255, 0.6); }
.ttb-hot-search a {
  font-size: var(--wp--preset--font-size--sm, 0.875rem);
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  max-width: 7em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ttb-hot-search a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ttb-search-inner { max-width: none; margin: 0; padding: 0; }
.ttb-search-backdrop, .ttb-search-panel { max-width: none !important; margin-block: 0 !important; }
.ttb-search-form {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.ttb-search-input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 1.25rem;
  color: var(--wp--preset--color--text);
  outline: none;
}
.ttb-search-input::placeholder { color: var(--wp--preset--color--muted); }
.ttb-search-input::-webkit-search-cancel-button { display: none; appearance: none; }
.ttb-search-close {
  display: inline-flex;
  padding: 4px;
  border: none;
  border-radius: var(--tttheme-radius-full, 99999px);
  background: transparent;
  color: var(--wp--preset--color--muted);
  cursor: pointer;
}
.ttb-search-close:hover { color: var(--wp--preset--color--text); }
.ttb-search-results { display: flex; flex-direction: column; gap: 4px; margin-top: 1rem; }
.ttb-search-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 12px;
  border-radius: var(--tttheme-radius, 8px);
  font-size: var(--wp--preset--font-size--xs, 0.875rem);
  color: var(--wp--preset--color--text);
  text-decoration: none;
}
.ttb-search-item:hover { background: var(--wp--preset--color--card-bg); }
.ttb-search-item-type {
  flex: 0 0 auto;
  padding: 2px 8px;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--tttheme-radius-sm, 4px);
  font-size: var(--wp--preset--font-size--2xs, 0.75rem);
  color: var(--wp--preset--color--muted);
}
.ttb-search-item-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ttb-search-empty { margin: 1rem 0 0; font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); }
/* 暗色变量单源=design-tokens 动态注入; 此处仅声明色彩方案与背景(muted 60% alpha 由 :root:root 规则双态承载, 0.8.47 对比度达 AA) */
html.tttheme-dark {
  color-scheme: dark;
  background-color: var(--wp--preset--color--background);
}
.entry-content a, .wp-block-post-content a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: background-size 0.3s ease;
}
.entry-content a:hover, .wp-block-post-content a:hover { background-size: 100% 2px; }
.has-drop-cap:not(:focus)::first-letter {
  font-family: var(--wp--preset--font-family--serif, Georgia, serif);
  font-size: 4.5em;
  font-weight: 700;
  line-height: 0.8;
  margin: 0.05em 0.15em 0 0;
  float: left;
  color: var(--wp--preset--color--primary);
}
@media (min-width: 783px) and (max-width: 1199px) { main.ttb-home { padding-left: 24px; padding-right: 24px; box-sizing: border-box; } }
html.tttheme-dark .wp-block-post-featured-image img, html.tttheme-dark .wp-block-post-content img { filter: brightness(0.9) contrast(1.1); }
.wp-block-site-title { letter-spacing: -0.03em; }
.wp-block-site-title a { position: relative; text-decoration: none !important; transition: opacity 0.2s ease; }
.wp-block-site-title a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s ease;
}
.wp-block-site-title a:hover::after { transform: scaleX(1); }
.wp-block-navigation-item__content {
  position: relative;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 0.25rem 0;
  transition: color 0.2s ease;
}
.wp-block-separator {
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, var(--wp--preset--color--border, #e8e8e8) 15%, var(--wp--preset--color--border, #e8e8e8) 85%, transparent 100% ) !important;
  border: none !important;
  opacity: 1 !important;
}
.wp-block-search__button.has-icon {
  width: 36px;
  height: 36px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, transform 0.2s ease;
}
.wp-block-search__button.has-icon:hover { background: var(--wp--preset--color--card-bg, #ffffff) !important; transform: scale(1.1); }
.wp-block-post-featured-image { overflow: hidden; border-radius: var(--tttheme-radius-md, 8px); }
.wp-block-post-featured-image img { transition: transform 0.5s ease, opacity 0.4s ease; border-radius: var(--tttheme-radius-md, 8px); }
.wp-block-post-featured-image a:hover img, .wp-block-post-featured-image:hover img { transform: scale(1.05); opacity: 0.92; }
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) { gap: 2.5rem !important; }
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post {
  border-radius: var(--tttheme-radius-md, 8px);
  overflow: hidden;
  background: var(--wp--preset--color--card-bg, #ffffff);
  padding: 1.5rem !important;
  box-shadow: var(--tttheme-shadow-sm);
  transition: transform var(--tttheme-transition-spring), box-shadow var(--tttheme-transition-normal);
}
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post:hover { transform: translateY(-4px); box-shadow: var(--tttheme-shadow-xl); }
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post .wp-block-post-featured-image { margin: -1.5rem -1.5rem 1rem -1.5rem; border-radius: 0; }
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post .wp-block-post-featured-image img { border-radius: 0; }
.wp-block-post-template.is-layout-grid:not(.ttb-card-grid):not(.ttb-home-grid) .wp-block-post .wp-block-post-title {
  font-size: var(--wp--preset--font-size--xl, 1.75rem) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em;
}
.wp-block-post-terms {
  display: inline-block;
  font-size: var(--wp--preset--font-size--xs, 0.875rem) !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--wp--preset--color--accent, #c44536) !important;
  margin-bottom: 0.5rem;
}
.wp-block-post-terms a { text-decoration: none; color: inherit; transition: opacity 0.2s ease; }
.wp-block-post-terms a:hover { opacity: 0.7; }
.wp-block-post-excerpt__more-link {
  font-size: var(--wp--preset--font-size--sm, 1rem) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  position: relative;
  padding-bottom: 2px;
  border-bottom: 2px solid var(--wp--preset--color--accent, #c44536) !important;
  color: var(--wp--preset--color--accent, #c44536) !important;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.wp-block-post-excerpt__more-link:hover { opacity: 0.7; padding-bottom: 4px; }
.single .wp-block-post-featured-image, .page .wp-block-post-featured-image {
  margin-left: clamp(0px, calc((100vw - 720px) / 2 * -1), -2rem);
  margin-right: clamp(0px, calc((100vw - 720px) / 2 * -1), -2rem);
  border-radius: 0;
  width: auto;
  max-height: 60vh;
  overflow: hidden;
}
.single .wp-block-post-featured-image img, .page .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.ttb-post-meta-sep { opacity: 0.4; } /* 用户定 2026-09-28 八轮: 首段导语放大规则(p:first-of-type 1.25rem, 出自 08-28 视觉重设计)整体删除——非杂志风, 首段与正文同号 */
.wp-block-pullquote { padding: 2.5rem 2rem !important; margin: 3rem 0 !important; text-align: center; position: relative; }
.wp-block-pullquote::before {
  content: '"';
  font-size: var(--wp--preset--font-size--xxxl, 4.5rem); /* 2026-10-27 规范轮: 裸 4rem 收编(带内流式) */
  font-family: var(--wp--preset--font-family--serif, Georgia, serif);
  color: var(--wp--preset--color--accent, #c44536);
  opacity: 0.3;
  position: absolute;
  top: -0.5rem;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
}
.wp-block-code {
  position: relative;
  border: 1px solid var(--wp--preset--color--border, #e8e8e8) !important;
  background: var(--wp--preset--color--card-bg, #f8f8f8) !important;
}
.wp-block-code::before {
  content: '⌘';
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  font-size: var(--wp--preset--font-size--2xs, 0.75rem);
  color: var(--wp--preset--color--muted, #8c8c8c);
  opacity: 0.5;
}
.wp-block-heading { scroll-margin-top: 5rem; }
.wp-block-table { border-radius: var(--tttheme-radius-sm, 0px); overflow: hidden; }
.wp-block-table table { border-collapse: separate; border-spacing: 0; }
.wp-block-table th { font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; font-size: var(--wp--preset--font-size--xs, 0.875rem); }
.wp-block-table th, .wp-block-table td { border: none; border-bottom: 1px solid var(--wp--preset--color--border, #e8e8e8); }
.wp-block-table tr:last-child td { border-bottom: none; }
.wp-block-query-pagination .page-numbers {
  border-radius: var(--tttheme-radius-sm, 0px) !important;
  padding: 0.5rem 1rem !important;
  font-weight: 500;
  transition: color 0.2s ease, background-color 0.2s ease, padding 0.2s ease;
}
.wp-block-query-pagination .page-numbers.current {
  background: var(--wp--preset--color--primary, #1a1a1a) !important;
  color: #ffffff !important;
  font-weight: 700;
}
.wp-block-query-pagination .page-numbers:not(.current):hover { background: var(--wp--preset--color--border, #e8e8e8) !important; transform: translateY(-1px); }
.wp-block-button__link {
  border-radius: var(--tttheme-radius-sm, 0px) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
  position: relative;
  overflow: hidden;
}
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: var(--tttheme-shadow-md); }
.wp-block-button__link:active { transform: translateY(0); }
.comment-reply-title { font-size: var(--wp--preset--font-size--xl, 1.75rem); margin-bottom: 1.5rem; } /* 0.9.35 保留待删评估: 评论区内被 L1306 display:none 整体作废, 若他处无此元素可删 */
footer.wp-block-group { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; margin-top: 0 !important; background: var(--wp--preset--color--background, #ffffff); } /* 2026-10-27 灰底改版: #f8f8f8 与页面灰 #F8F8F8 仅差 2 点已不可见, footer 升白与 header 呼应; 暗色不动 */
html.tttheme-dark footer.wp-block-group { background: var(--wp--preset--color--card-bg); }
footer.wp-block-group.is-layout-constrained > * { max-width: var(--ttb-site-width, 1440px); }
.ttb-footer-bar { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 1.5rem; margin: 0; font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.5; color: var(--wp--preset--color--muted); white-space: nowrap; overflow-x: auto; }
.ttb-footer-bar a { color: inherit; }
.ttb-foot-menu { justify-content: flex-end; color: var(--wp--preset--color--muted); } /* 0.9.35 收拢: font-size 2xs 死声明(L1028 1rem 接管)+display:flex 重复 删 */
.ttb-foot-menu ul.wp-block-navigation { justify-content: flex-end; flex-wrap: wrap; row-gap: 0.25rem; }
.ttb-foot-menu .wp-block-navigation-item__content, .ttb-foot-menu .wp-block-navigation-item__label { color: var(--wp--preset--color--muted); }
.ttb-foot-menu a.wp-block-navigation-item__content:hover, .ttb-foot-menu a.wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: var(--wp--preset--color--primary); }
.ttb-footer-bar .ttb-footer-logo-svg { height: 1em; width: auto; vertical-align: -0.125em; margin: 0 4px; }
.ttb-footer-logo-svg .c-main { fill: var(--wp--preset--color--text, #111827); }
.ttb-footer-logo-svg .plus-line { stroke: var(--wp--preset--color--primary, #000000); }
.ttb-footer-logo-svg .c-accent { fill: var(--wp--preset--color--primary, #000000); }

@keyframes ttb-ftl-rotate {
  0%, 23.47% { transform: rotate(0deg); }
  60.2%, 100% { transform: rotate(720deg); }
}
.ttb-footer-logo-svg .ttb-tt-rotor {
  transform-box: fill-box;
  transform-origin: center;
  animation: ttb-ftl-rotate 4.9s cubic-bezier(0.37, 0, 0.63, 1) infinite;
}

@keyframes ttb-ftl-line-h {
  0%, 5.1% { stroke-dashoffset: 16.3; animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1); }
  14.29%, 68.37% { stroke-dashoffset: 0; animation-timing-function: cubic-bezier(0.32, 0, 0.67, 0); }
  76.53%, 100% { stroke-dashoffset: 16.3; }
}

@keyframes ttb-ftl-line-v {
  0%, 14.29% { stroke-dashoffset: 16.3; animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1); }
  23.47%, 60.2% { stroke-dashoffset: 0; animation-timing-function: cubic-bezier(0.32, 0, 0.67, 0); }
  68.37%, 100% { stroke-dashoffset: 16.3; }
}
.ttb-footer-logo-svg .plus-line-h { animation: ttb-ftl-line-h 4.9s linear infinite; }
.ttb-footer-logo-svg .plus-line-v { animation: ttb-ftl-line-v 4.9s linear infinite; }

@keyframes ttb-ftl-dot {
  0%, 76.53% { transform: scale(1); }
  83.67% { transform: scale(2.8846); }
  90.82%, 100% { transform: scale(1); }
}
.ttb-footer-logo-svg .c-accent {
  transform-box: fill-box;
  transform-origin: center;
  animation: ttb-ftl-dot 4.9s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}
@media (prefers-reduced-motion: reduce) { .ttb-footer-logo-svg .ttb-tt-rotor, .ttb-footer-logo-svg .plus-line-h, .ttb-footer-logo-svg .plus-line-v, .ttb-footer-logo-svg .c-accent { animation: none; } }
.ttb-foot-social { display: flex; align-items: center; gap: 1.25rem; margin-left: 1rem; margin-right: auto; }
.ttb-site-footer .ttb-footer-row > .ttb-foot-social { margin-right: auto !important; margin-left: 1rem !important; align-self: center !important; }
.ttb-foot-social-item { display: inline-flex; padding: 2px; color: var(--wp--preset--color--muted); transition: color 0.2s ease; }
.ttb-foot-social-item:hover { color: var(--wp--preset--color--primary); }
.ttb-foot-icon { display: inline-flex; }
.ttb-foot-icon svg { width: 20px; height: 20px; display: block; fill: currentColor; transition: fill 0.2s ease; }
.ttb-foot-social-item:hover .ttb-foot-icon svg { fill: var(--wp--preset--color--primary); }
.ttb-foot-right { display: flex; flex-direction: column; align-items: flex-end; gap: 1rem; }
.ttb-foot-right > * + * { margin-block-start: 0; }
.ttb-foot-menu { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.5rem; font-size: 1rem; line-height: 1.5; font-weight: 400; letter-spacing: 0; }
.ttb-foot-menu a { color: var(--wp--preset--color--text); text-decoration: none; transition: color 0.2s ease; }
.ttb-foot-menu .wp-block-navigation-item__content { padding: 0; line-height: inherit; font-weight: 400; transition: color 0.2s ease; }
.ttb-foot-menu .wp-block-navigation-item__content::after { content: none; }
.ttb-foot-menu a:hover { color: var(--wp--preset--color--primary); }
@media (max-width: 1024px) { .ttb-site-footer .ttb-footer-logo { display: none; } .ttb-footer-bar { flex-wrap: wrap; overflow-x: visible; justify-content: center; row-gap: 0.25rem; } }

@media (max-width: 782px) {
  .ttb-site-footer .ttb-footer-row > .ttb-foot-social { display: none; }
  .ttb-site-footer .ttb-footer-row { justify-content: center; }
  .ttb-foot-right { align-items: center; }
  .ttb-foot-menu { justify-content: center; }
}
@media (max-width: 480px) { .ttb-footer-bar .ttb-foot-icp { display: none; } }
.ttb-promo-slide.ttb-topic-carousel { border-radius: var(--tttheme-radius-md, 8px); }
.ttb-topic-carousel .ttb-promo-cap { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; padding: 2rem 0.875rem 1.125rem; font-size: var(--wp--preset--font-size--xs, 0.875rem); }
.ttb-topic-carousel-name { font-weight: 400; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,0.4); }
.ttb-topic-carousel-n { font-size: var(--wp--preset--font-size--2xs, 0.75rem); color: rgba(255,255,255,0.78); white-space: nowrap; flex: none; text-shadow: 0 1px 2px rgba(0,0,0,0.4); }
.ttb-lang { position: relative; display: flex; }
.ttb-lang-menu { position: absolute; top: calc(100% + 8px); right: 0; min-width: 116px; margin: 0; padding: 8px; list-style: none; background: var(--wp--preset--color--background); border-radius: var(--tttheme-radius-md, 8px); box-shadow: var(--ttb-panel-shadow); z-index: 99990; }
html.tttheme-dark .ttb-lang-menu { box-shadow: var(--ttb-panel-shadow); }
.ttb-lang-item { display: block; padding: 8px 12px; font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.5; color: var(--wp--preset--color--text); text-decoration: none; border-radius: var(--tttheme-radius, 8px); }
.ttb-lang-item:hover { color: var(--wp--preset--color--primary); background: var(--wp--preset--color--card-bg); text-decoration: none; }
.ttb-lang-item.is-active { color: var(--wp--preset--color--primary); font-weight: 500; }
html.ttb-ml-wait body { opacity: 0; pointer-events: none; animation: ttb-ml-reveal 0.01s linear 2.5s forwards; }
html.ttb-ml-wait.ttb-ml-ready body { opacity: 1; transition: opacity 0.15s ease; }

@keyframes ttb-ml-reveal {
  to { opacity: 1; pointer-events: auto; }
}
.ttb-floor-topics { margin: var(--ttb-space-block, 2.5rem) 0; }
.ttb-topic-dir-page.wp-block-group.is-layout-constrained > * { max-width: var(--ttb-site-width, 1440px); }
.ttb-topic-main.wp-block-group.is-layout-constrained > * { max-width: var(--ttb-site-width, 1440px); }
main.wp-block-group.ttb-topic-main { margin: calc(var(--ttb-gutter) * -4) auto 1.5rem; /* 2026-10-27 站长定: 下外距 1rem→1.5rem */ padding: var(--ttb-gutter); background: var(--wp--preset--color--background, #fff); border-radius: var(--tttheme-radius-lg, 16px); position: relative; z-index: 1; }
.wp-site-blocks > footer.wp-block-template-part { margin-top: 0; }
footer.wp-block-group { padding-inline: var(--ttb-gutter); box-sizing: border-box; }
footer.wp-block-group.is-layout-constrained > * { margin-inline: auto; }
main.ttb-topic-main + footer.wp-block-template-part { margin-top: 0; }
.ttb-topic-main .wp-block-post-template.ttb-card-grid { gap: var(--ttb-gutter); }
@media (min-width: 783px) and (max-width: 1199px) { .ttb-topic-dir-page { padding-left: var(--ttb-gutter); padding-right: var(--ttb-gutter); box-sizing: border-box; } }
@media (max-width: 782px) { .ttb-topic-dir-page { padding-left: var(--ttb-gutter); padding-right: var(--ttb-gutter); box-sizing: border-box; } } /* 0.9.35: 16px 写死改 gutter 单源——641-782 带专题目录页留白回归 24, 与其他页一致(≤640 gutter=16 不变) */
.ttb-topic-dir { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.ttb-topic-card, .ttb-topic-card-in { box-sizing: border-box; } /* 2026-10-27 手机走查修: WP content-box 让内层 width100%+padding 超宽 24px 裁字 */
.ttb-topic-card { position: relative; display: flex; align-items: flex-end; aspect-ratio: 2 / 1; border-radius: 8px; overflow: hidden; text-decoration: none; background: var(--wp--preset--color--background); border: 1px solid var(--wp--preset--color--border); } /* 2026-10-27 灰底改版: 卡面统一白 */
.ttb-topic-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ttb-topic-card.has-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,0) 30%, rgba(17,17,17,0.72) 100%); }
.ttb-topic-card-in { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 0.25rem; width: 100%; padding: 1rem 1.25rem; }
.ttb-topic-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.ttb-topic-card-name { font-size: 1.25rem; font-weight: 400; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 3px rgba(0,0,0,0.45); }
.ttb-topic-card-n { font-size: var(--wp--preset--font-size--2xs, 0.75rem); color: rgba(255,255,255,0.78); white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,0.45); }
.ttb-topic-card-desc { font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.6; color: rgba(255,255,255,0.85); text-shadow: 0 1px 2px rgba(0,0,0,0.45); } /* 图上描述自动折行不限行数(用户定 2026-09-28, 去 2 行 clamp); 超长兜底=PHP 侧 64 字摘录 */
.ttb-topic-card:not(.has-image) { aspect-ratio: auto; align-items: stretch; }
.ttb-topic-card:not(.has-image) .ttb-topic-card-in { padding: 1.25rem 1.5rem; gap: 0.5rem; }
.ttb-topic-card:not(.has-image) .ttb-topic-card-name { color: var(--wp--preset--color--text); }
.ttb-topic-card:not(.has-image) .ttb-topic-card-n { color: var(--wp--preset--color--muted); }
.ttb-topic-card:not(.has-image) .ttb-topic-card-desc { color: var(--wp--preset--color--muted); }
.ttb-topic-dir-empty { font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); text-align: center; padding: 3rem 0; }
@media (max-width: 980px) { .ttb-topic-dir { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ttb-topic-dir { grid-template-columns: 1fr; } }
/* ── 专题目录富卡(0.8.65 引入; 0.8.66 用户定二轮: 名称/简介回图底旧款渐隐白字, 去篇数, 卡底加 #f8f8f8「进入专题」统一位) ──
   白卡=首页最新内容卡同款: 白底 + --ttb-card-shadow + 圆角跟后台开关(--tttheme-radius-md) + hover 抬影;
   专题图通栏卡顶 border-radius:0(卡圆角只裁角不进图); 最新3条=图3:2左/题右, 只图和题 */
.ttb-topic-card--rich { display: flex; flex-direction: column; align-items: stretch; aspect-ratio: auto; background: var(--wp--preset--color--background, #ffffff); border: 0; border-radius: var(--tttheme-radius-md, 8px); box-shadow: var(--ttb-card-shadow); transition: box-shadow 0.2s ease; }
.ttb-topic-card--rich:hover { box-shadow: var(--ttb-card-shadow-hover); }
html.tttheme-dark .ttb-topic-card--rich { background: var(--wp--preset--color--card-bg); }
.ttb-topic-card--rich.has-image::after { content: none; } /* 渐隐遮罩改挂图位锚(卡体是白底, 不能整卡罩) */
.ttb-topic-card--rich .ttb-topic-card-media { display: block; position: relative; aspect-ratio: 2 / 1; overflow: hidden; text-decoration: none; }
.ttb-topic-card--rich .ttb-topic-card-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,0) 30%, rgba(17,17,17,0.72) 100%); }
.ttb-topic-card--rich .ttb-topic-card-img { border-radius: 0; } /* 专题图去圆角: 通栏贴卡顶, 只被卡圆角裁角 */
.ttb-topic-card--rich .ttb-topic-card-in { position: absolute; inset: auto 0 0 0; } /* 名称/简介钉图底; flex列/gap/padding/白字/阴影沿用旧款基础规则 */
.ttb-topic-card--rich .ttb-topic-card-body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; padding: 0.875rem 1.25rem 0; } /* 底距归零: 与进入专题按钮的 1rem 行距节奏由行 padding+按钮 margin 组成 */
.ttb-topic-card--rich .ttb-topic-card-head { display: block; text-decoration: none; } /* 无图专题回退: 名称落卡体 */
.ttb-topic-card--rich .ttb-topic-card-head:hover .ttb-topic-card-name { color: var(--wp--preset--color--primary); }
.ttb-topic-card--rich .ttb-topic-card-latest { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ttb-topic-card--rich .ttb-topic-latest-item { display: flex; align-items: flex-start; gap: 0.625rem; padding: 0.5rem 0; text-decoration: none; }
.ttb-topic-card--rich .ttb-topic-latest-thumb { flex: 0 0 6.25rem; width: 6.25rem; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--tttheme-radius, 8px); background: var(--wp--preset--color--card-bg); }
.ttb-topic-card--rich .ttb-topic-latest-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ttb-topic-card--rich .ttb-topic-latest-title { flex: 1 1 auto; min-width: 0; font-size: var(--wp--preset--font-size--sm, 1rem); line-height: 1.5; color: var(--wp--preset--color--text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color 0.15s ease; }
.ttb-topic-card--rich .ttb-topic-latest-item:hover .ttb-topic-latest-title { color: var(--wp--preset--color--primary); }
.ttb-topic-card--rich .ttb-topic-latest-date { display: block; margin-top: 2px; font-size: var(--wp--preset--font-size--2xs, 0.75rem); line-height: 1.4; color: var(--wp--preset--color--muted); } /* 2026-10-27 站长定: 标题下加日期 */
/* 底部 CTA 统一位(0.8.66 引入; 0.8.67 用户定: 全宽灰条改卡内留边按钮——左右边距=列表 1.25rem, 与上一行间距=行距节奏 1rem, 圆角跟后台开关, 箭头换SVG; 0.8.68: 底距对齐两边 1.25rem) */
.ttb-topic-card--rich .ttb-topic-card-enter { display: flex; align-items: center; justify-content: center; gap: 0.375rem; margin: 0.5rem 1.25rem 1.25rem; padding: 0.625rem 1rem; background: var(--wp--preset--color--card-bg, #f8f8f8); border-radius: var(--tttheme-radius, 8px); color: var(--wp--preset--color--text); text-decoration: none; font-size: var(--wp--preset--font-size--sm, 1rem); line-height: 1.4; transition: background-color 0.15s ease, color 0.15s ease; }
.ttb-topic-card--rich .ttb-topic-card-enter-ar { flex: 0 0 auto; transition: transform 0.15s ease; }
.ttb-topic-card--rich .ttb-topic-card-enter:hover, .ttb-topic-card--rich .ttb-topic-card-enter:focus-visible { background: #f0f0f0; color: var(--wp--preset--color--primary); outline: none; }
.ttb-topic-card--rich .ttb-topic-card-enter:hover .ttb-topic-card-enter-ar, .ttb-topic-card--rich .ttb-topic-card-enter:focus-visible .ttb-topic-card-enter-ar { transform: translateX(2px); }
html.tttheme-dark .ttb-topic-card--rich .ttb-topic-card-enter { background: rgba(255, 255, 255, 0.06); }
html.tttheme-dark .ttb-topic-card--rich .ttb-topic-card-enter:hover, html.tttheme-dark .ttb-topic-card--rich .ttb-topic-card-enter:focus-visible { background: rgba(255, 255, 255, 0.1); }
.ttb-topic-dir-more { text-align: center; margin-top: 2rem; }
.ttb-topic-dir-more[hidden] { display: none; }
.ttb-topic-dir .ttb-topic-extra { display: none; }
:root { --ttb-space-block: 2.5rem; --ttb-space-item: 1.5rem; --ttb-gutter: var(--ttb-space-item, 1.5rem); --ttb-card-shadow: 0 6px 36px rgba(0, 0, 0, 0.03); --ttb-card-shadow-hover: 0 12px 64px rgba(0, 0, 0, 0.06); --ttb-panel-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 12px 32px rgba(0, 0, 0, 0.1); } /* 0.9.35: 面板阴影令牌化(下拉菜单/账户/语言三处同配方收单源) */
:root { --ttb-overlay-bg: rgba(0, 0, 0, 0.25); --ttb-overlay-blur: 4px; --ttb-overlay-shadow: 0 24px 80px rgba(0, 0, 0, 0.35); }
html.tttheme-dark { --ttb-overlay-bg: rgba(0, 0, 0, 0.5); }
html.tttheme-dark { --ttb-card-shadow: var(--tttheme-shadow-sm); --ttb-card-shadow-hover: var(--tttheme-shadow-xl); --ttb-panel-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 12px 32px rgba(0, 0, 0, 0.4); }
main.wp-block-group, .ttb-site-header > .wp-block-group.alignwide, .ttb-promo-band-in {
  max-width: calc(var(--ttb-site-width, 1440px) + 2 * var(--ttb-gutter));
  margin-top: 0;
  margin-inline: auto;
  padding-inline: var(--ttb-gutter);
  box-sizing: border-box;
}
main.wp-block-group { padding-bottom: var(--ttb-page-gap, 2rem); }
:root { --ttb-page-gap: var(--ttb-gutter, 1.5rem); } /* 2026-10-27 站长定: header-内容-footer-左右四个间距统一=gutter(桌面24/手机16), 原 2rem */
.ttb-list-page { padding-top: var(--ttb-page-gap, 2rem); }
.ttb-list-page > .ttb-sr-only + * { margin-block-start: 0; }
.ttb-list-page.wp-block-group.is-layout-constrained > * { max-width: var(--ttb-site-width, 1440px); }
.ttb-list-cols { gap: var(--ttb-page-gap, 2rem); }
@media (max-width: 640px) { :root { --ttb-gutter: 1rem; } }
.ttb-topic-hero { position: relative; display: flex; overflow: hidden; height: var(--ttb-hero-h, clamp(213px, 33vw, 427px)); margin-top: 0; } /* 2026-10-27 站长定: 头图缩 1/3(320→213 口径) */
.ttb-topic-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ttb-topic-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,0.05) 0%, rgba(17,17,17,0.55) 100%); }
.ttb-topic-hero-in { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; width: 100%; max-width: calc(var(--ttb-site-width, 1440px) + 2 * var(--ttb-gutter)); box-sizing: border-box; margin: 0 auto; padding: 2rem var(--ttb-gutter) calc(var(--ttb-gutter) * 5); text-align: left; }
.ttb-topic-hero-tag { display: inline-block; align-self: flex-start; font-size: var(--wp--preset--font-size--base, 1.125rem); line-height: 1.4; color: #fff; margin: 0 0 1rem; }
.ttb-topic-hero-name { font-size: clamp(28px, 4vw, 44px); font-weight: 400; line-height: 1.25; color: #fff; margin: 0 0 0.5rem; }
@media (max-width: 479px) { h1.ttb-topic-hero-name { font-size: clamp(20px, 6.5vw, 26px) !important; } }
.ttb-topic-hero-desc { font-size: 1rem; line-height: 1.7; color: rgba(255,255,255,0.82); margin: 0; }
.ttb-topic-hero-authors { display: flex; align-items: center; margin: 1.5rem 0 0; }
.ttb-topic-hero-authors img { width: 40px; height: 40px; border-radius: var(--tttheme-radius-full, 99999px); border: 2px solid #fff; position: relative; background: var(--wp--preset--color--card-bg); }
.ttb-topic-hero-contrib { margin-left: 0.875rem; font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.6; color: rgba(255,255,255,0.85); }
:root { --ttb-hero-h: clamp(213px, 33vw, 427px); --ttb-hero-delay: max(calc(var(--ttb-hero-h) / 2 - 200px), 0px); } /* 2026-10-27 站长定: 专题头图缩 1/3 */

@media (min-width: 783px) {
  html:has(#wpadminbar) { --ttb-admin-bar-h: 32px; }
  .ttb-hero-pin { height: calc(var(--ttb-hero-h) + var(--ttb-hero-delay)); margin-top: 0; }
  .ttb-hero-pin .ttb-topic-hero { position: sticky; top: calc(65px + var(--ttb-admin-bar-h, 0px)); }
  main.wp-block-group.ttb-topic-main { margin-top: calc(var(--ttb-gutter) * -4 - var(--ttb-hero-delay)); }
}
@media (max-width: 600px) { html:has(#wpadminbar) { --ttb-admin-bar-h: 0px; } }
.ttb-topic-main .wp-block-query-pagination.ttb-more { margin-top: 3rem; }
.ttb-topic-main .wp-block-query-pagination.ttb-more:not(:has(.wp-block-query-pagination-next)) { display: none; }
.ttb-topic-main .ttb-more .wp-block-query-pagination-next {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  padding: 0.25rem 0.75rem;
  border-radius: var(--tttheme-radius-full, 99999px);
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--text);
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease, padding 0.15s ease, gap 0.2s ease 0.2s;
}
.ttb-topic-main .ttb-more .wp-block-query-pagination-next::before, .ttb-topic-main .ttb-more .wp-block-query-pagination-next::after {
  content: "";
  width: min(120px, 18vw);
  height: 1px;
  background: var(--wp--preset--color--border, #e8e8e8);
  transition: width 0.2s ease 0.2s;
}
.ttb-topic-main .ttb-more .wp-block-query-pagination-next:hover, .ttb-topic-main .ttb-more .wp-block-query-pagination-next:focus-visible {
  background: var(--wp--preset--color--primary) !important;
  color: #fff !important;
  padding: 0.25rem 1.25rem;
  gap: 0;
  transition: background-color 0.15s ease 0.2s, color 0.15s ease 0.2s, padding 0.15s ease 0.2s, gap 0.2s ease;
}
.ttb-topic-main .ttb-more .wp-block-query-pagination-next:hover::before, .ttb-topic-main .ttb-more .wp-block-query-pagination-next:focus-visible::before, .ttb-topic-main .ttb-more .wp-block-query-pagination-next:hover::after, .ttb-topic-main .ttb-more .wp-block-query-pagination-next:focus-visible::after { width: 0; transition: width 0.2s ease; }

@media (prefers-reduced-motion: reduce) {
  .ttb-topic-main .ttb-more .wp-block-query-pagination-next { transition: none !important; }
  .ttb-topic-main .ttb-more .wp-block-query-pagination-next::before, .ttb-topic-main .ttb-more .wp-block-query-pagination-next::after { transition: none !important; }
}
.ttb-article .wp-block-post-title { font-size: 1.5rem; font-weight: 600; line-height: 1.4; color: var(--wp--preset--color--text); }
.ttb-article .ttb-cats, .ttb-article .ttb-tags { font-size: 0; margin-bottom: 0; }
.ttb-article .ttb-cats a {
  display: inline-block;
  font-size: var(--wp--preset--font-size--xs, 0.875rem);
  line-height: 1;
  padding: 8px 12px;
  margin: 0 8px 8px 0;
  border: 1px solid var(--wp--preset--color--border, #e8e8e8);
  border-radius: var(--tttheme-radius-full, 99999px);
  color: var(--wp--preset--color--muted);
  text-decoration: none;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.ttb-article .ttb-cats a:hover { color: var(--wp--preset--color--muted); border-color: var(--wp--preset--color--border, #e8e8e8); }
.ttb-article .ttb-tags a {
  display: inline-block;
  font-size: var(--wp--preset--font-size--xs, 0.875rem);
  line-height: 1;
  padding: 7px 14px;
  margin: 0 8px 8px;
  border-radius: var(--tttheme-radius-full, 99999px);
  background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent); /* 0.9.35 修: 原 #ffffff 不随模式切换, 暗色下胶囊恒近白+主色字隐形 */
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}
.ttb-article .ttb-tags a::before { content: "# "; }
.ttb-article .ttb-tags .wp-block-post-terms__separator { display: none; }
.ttb-article .ttb-tags a:hover { color: var(--wp--preset--color--primary); }
.ttb-article .ttb-meta { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--sm, 1rem); }
.ttb-article .ttb-meta .wp-block-post-author, .ttb-article .ttb-meta .wp-block-post-date { display: flex; align-items: center; }
.ttb-article .ttb-meta .wp-block-post-author__avatar { display: flex; line-height: 0; margin-right: 0.25rem; }
.ttb-article .ttb-meta .wp-block-post-author__avatar img { display: block; }
.ttb-article .ttb-meta .wp-block-post-author__content { display: flex; align-items: center; }
.ttb-article .ttb-meta .wp-block-post-author__name { margin: 0; line-height: 1; }
.ttb-article .ttb-meta a { color: inherit; }
.ttb-article .ttb-meta .ttb-meta-stats { display: inline-flex; align-items: center; gap: 1.25rem; }
.ttb-article .ttb-meta .ttb-hstat { white-space: nowrap; }
.ttb-article .ttb-like-btn .ttb-like-num { display: none; }
.ttb-article .ttb-excerpt {
  position: relative;
  margin-top: 1.5rem;
  line-height: 1.8; /* 0.8.74: 模板块属性行内样式收编进 CSS(站长问 2026-10-09: 主题定值走样式表, 缓存友好可覆写) */
  padding: 1.25rem 1.5rem 1.25rem 3.6rem;
  border-radius: var(--tttheme-radius, 8px);
  background: var(--wp--preset--color--card-bg, #f8f8f8);
}
.ttb-article .ttb-excerpt::before {
  content: "";
  position: absolute;
  left: 1.2rem;
  top: 1.15rem;
  width: 30px;
  height: 30px;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1024 1024%22%3E%3Cpath fill=%22%23181818%22 fill-opacity=%220.15%22 d=%22M91.381 933.875l-1e-8-362.083c-1.53900001-52.097 5.973-101.018 22.53200001-146.762s39.771-85.992 69.815-120.761c29.94700001-34.665 65.771-63.46 107.664-86.382 41.797-22.823 87.151-37.461 136.072-43.718l0 156.19599999c-59.992 20.512-101.018 50.843-123.071 91.09900001-22.15 40.256-33.124 89.558-33.124 147.914l156.19 0 0 364.491-336.077 0zM595.501 933.875l1e-8-362.083c-1.638-52.097 5.875-101.018 22.43499999-146.761 16.566-45.743 39.867-85.992 69.815-120.76100001 29.94700001-34.665 65.868-63.46 107.664-86.38199999 41.797-22.823 87.24799999-37.461 136.168-43.718l0 156.19600001c-59.993 20.512-101.018 50.843-123.071 91.09899999-22.15 40.256-33.124 89.558-33.124 147.914l156.196 0 0 364.491-336.082 0z%22/%3E%3C/svg%3E") no-repeat center / contain;
  pointer-events: none;
}
html.tttheme-dark .ttb-article .ttb-excerpt::before { filter: invert(1); } /* 0.8.74 站长报: 图标 data-uri 写死 #181818@0.15 无法用变量, 暗色卡底(#1a1a1a)上隐形但 30×30 占位仍在——反相成浅色即现 */
.ttb-article .ttb-excerpt p { margin: 0; color: var(--wp--preset--color--text, #181818); }
/* ── 0.8.75 模板行内样式收编(站长定 2026-10-09: 块属性只留结构语义, 定值走样式表)── */
.ttb-post-title-hero { letter-spacing: -0.02em; line-height: 1.25; } /* 文章/页面 H1, 5 模板同值 */
.ttb-post-title-card { font-size: var(--wp--preset--font-size--md); line-height: 1.35; } /* 列表卡 H2 */
.ttb-post-title-card--base { font-size: var(--wp--preset--font-size--base); } /* 卡片小档(list-article-card/topic) */
.ttb-comments .wp-block-avatar__image { border-radius: 50%; } /* 评论头像圆形 */
.ttb-search-field, .ttb-search-field .wp-block-search__input, .ttb-search-field .wp-block-search__button { border-radius: var(--tttheme-radius-md, 8px); } /* 搜索框圆角挂语义档 */
.ttb-topic-list-desc { font-size: var(--wp--preset--font-size--xs); line-height: 1.7; } /* 专题目录卡描述 */
.ttb-home-empty { padding: 3rem 0; text-align: center; color: var(--wp--preset--color--muted); } /* 首页空楼层提示(PHP 行内收编) */
.ttb-outdated-notice { background: #fff8e1; border-left: 4px solid #ffa000; padding: 12px 16px; margin-bottom: 1.5em; border-radius: 0 6px 6px 0; font-size: var(--wp--preset--font-size--xs, 0.875rem); color: #8d6e00; } /* 文章过期提示(PHP 行内收编) */
.ttb-article .ttb-meta .avatar { border-radius: var(--tttheme-radius-full, 99999px); }
.ttb-article .wp-block-post-featured-image img { box-shadow: var(--ttb-card-shadow); }
.ttb-article .ttb-prose { font-size: 1rem; line-height: 1.9; }
.ttb-article .ttb-prose :is(p, li) { text-align: justify; } /* 站长定 2026-10-09: 正文两端对齐——只落段落/列表项, 标题居中等自有对齐不受影响 */
.ttb-article .ttb-prose h1, .ttb-article .ttb-prose h2 { font-size: 1.25rem; font-weight: 600; line-height: 1.5; color: var(--wp--preset--color--text); margin: 2.4em 0 0.8em; }
.ttb-article .ttb-prose h3 { font-size: 1.125rem; font-weight: 600; line-height: 1.5; color: var(--wp--preset--color--text); margin: 2em 0 0.7em; }
.ttb-article .ttb-prose h4, .ttb-article .ttb-prose h5, .ttb-article .ttb-prose h6 { font-size: 1rem; font-weight: 600; color: var(--wp--preset--color--text); margin: 1.8em 0 0.6em; }
.ttb-article .ttb-prose h1:first-child, .ttb-article .ttb-prose h2:first-child, .ttb-article .ttb-prose h3:first-child, .ttb-article .ttb-prose h4:first-child { margin-top: 0; }
.ttb-article .ttb-prose p { margin: 0 0 1.4em; }
.ttb-article .ttb-prose :where(ul, ol) { margin: 0 0 1.4em; padding-left: 1.4em; }
.ttb-article .ttb-prose li + li { margin-top: 0.45em; }
/* 2026-10-27 站长定: prose 图片上下 1.75em 外距删除(间距过大) */
.ttb-article .ttb-prose a { color: var(--wp--preset--color--text); text-decoration: underline; text-decoration-color: var(--wp--preset--color--border, #e8e8e8); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ttb-article .ttb-prose a:hover { color: var(--wp--preset--color--text); }
.ttb-article .ttb-prose, .ttb-article .ttb-prose * { color: var(--wp--preset--color--text) !important; }
.ttb-article .ttb-rand-title, :is(.ttb-article, .ttb-readers-comments) .ttb-comments a, .ttb-article .ttb-rel-card { color: var(--wp--preset--color--text); }
.ttb-article .ttb-comments a:hover, .ttb-readers-comments .ttb-comments a:hover { color: var(--wp--preset--color--text); }
.ttb-article .ttb-prose blockquote:not(.wp-block-quote) { margin: 2rem 0; padding: 0.25rem 0 0.25rem 1.75rem; border-left: 3px solid var(--wp--preset--color--primary); background: none; }
.ttb-article .ttb-prose :where(code):not(pre code) { background: #f6f6f6; border-radius: 4px; padding: 2px 8px; font-size: 0.875em; }
.ttb-article .ttb-prose pre { background: #f6f6f6; border: 1px solid var(--wp--preset--color--border, #e8e8e8); border-radius: var(--tttheme-radius, 8px); padding: 1rem 1.25rem; overflow-x: auto; font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.7; }
.ttb-article .ttb-prose pre code { background: none; padding: 0; }
.ttb-article .ttb-prose table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--sm, 1rem); }
.ttb-article .ttb-prose th, .ttb-article .ttb-prose td { border: 1px solid var(--wp--preset--color--border, #e8e8e8); padding: 0.5rem 0.75rem; text-align: left; }
.ttb-article .ttb-prose th { background: var(--wp--preset--color--card-bg, #f8f8f8); font-weight: 600; }
.ttb-article .ttb-prose hr { border: 0; border-top: 1px solid var(--wp--preset--color--border, #e8e8e8); margin: 2.5rem 0; }
.ttb-article .ttb-author-card { border-radius: var(--tttheme-radius-md, 8px); padding: 1.5rem 2rem; } /* 边框去除+圆角挂后台语义档 -md(开关联动, 用户定 2026-09-28); 0.8.75 内距自模板行内样式收编 */
.ttb-article .ttb-author-card .wp-block-post-author__avatar img, .ttb-article .ttb-author-card .avatar { border-radius: var(--tttheme-radius-full, 99999px); }
.ttb-article .ttb-author-card .ttb-author-avatar img { border-radius: var(--tttheme-radius-full, 99999px); display: block; }
.ttb-article .ttb-author-card .ttb-author-avatar { margin-right: -4px; }
.ttb-article .ttb-author-card .wp-block-post-author-name { margin: 0; font-size: var(--wp--preset--font-size--base, 1rem); font-weight: 600; line-height: 1.4; color: var(--wp--preset--color--text); } /* 09-29 行高补声明: 承 body 1.8 撑出半行距显间距大, 收至 1.4(用户定) */
.ttb-article .ttb-author-card .wp-block-post-author-biography { margin: 0; line-height: 1.6; } /* 09-29 行高 1.7→1.6 随昵称节奏收紧(用户定) */
@media (max-width: 640px) { .ttb-article .ttb-author-card { padding: 1rem 1.25rem !important; } } /* 用户定 2026-09-29: 小屏作者卡内距收紧(1.5/2rem→1/1.25rem, !important 压模板内联 style) */
.ttb-article .ttb-author-card .is-layout-flex .is-layout-flex { align-items: flex-start; } /* 昵称/个人描述居左(用户定 2026-09-28): 内列覆盖 WP flex 默认 align-items:center */
.ttb-article .ttb-postnav .wp-block-column { padding: 1rem 1.25rem; } /* 边框/圆角去除(用户定 2026-09-28) */
.ttb-article .ttb-postnav a { font-weight: 500; color: var(--wp--preset--color--text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } /* 标题按宽度最多 2 行, 超出省略号(用户定 2026-09-29); 同 .ttb-rel-title 推荐楼层标题同型 */
.ttb-article .ttb-postnav .wp-block-post-navigation-link { display: flex; flex-direction: column; gap: 0.25rem; font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.5; } /* 标签在上标题在下(用户定 2026-09-28); 09-29 标签+标题统一 14px(xs 档, 原标签 sm 15px/标题继承 base 18px), 行高 1.8→1.5 随字号收紧(用户定) */
.ttb-article .ttb-postnav .post-navigation-link__label { color: var(--wp--preset--color--muted); } /* 字号随容器 xs 14px 继承(用户定 2026-09-29) */
.ttb-article .ttb-postnav .wp-block-post-navigation-link.has-text-align-right { align-items: flex-end; text-align: right; } /* 下一篇列保持右对齐 */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), :is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-post-comments-form textarea {
  border: 1px solid var(--wp--preset--color--border, #e8e8e8);
  border-radius: var(--tttheme-radius, 8px);
  padding: 0.5rem 0.75rem;
  font-size: var(--wp--preset--font-size--xs, 0.875rem);
  background: var(--wp--preset--color--background);
}
/* 2026-10-27 站长定: 两侧细线撤销, 改标题下方一条线 */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-comments-title { margin: 0 0 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--wp--preset--color--border, #e8e8e8); font-size: 1.25rem; font-weight: 400; color: var(--wp--preset--color--text); }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-comments-title::before, :is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-comments-title::after { content: none; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-reply-title { display: none; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-notes { display: none; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments form.comment-form { display: flex; flex-wrap: wrap; gap: 0.5rem; } /* 09-29 字段间距 0.75→0.5rem(用户定: 评论表单全区收紧) */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments form.comment-form > p { margin: 0; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-author, :is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-email, :is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-url { flex: 1 1 0; min-width: 0; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-comment, :is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-cookies-consent, :is(.ttb-article, .ttb-readers-comments) .ttb-comments .form-submit { flex: 1 1 100%; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-cookies-consent { display: flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0; } /* 09-29 二轮: 行上下加高6px呼吸感(用户定"太拥挤") */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-cookies-consent label { display: flex; align-items: center; font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.4; color: var(--wp--preset--color--muted); margin: 0; } /* 09-29 二轮: label 自身 flex 居中, 文字在盒内垂直居中双保险 */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-cookies-consent input[type="checkbox"] { margin: 0; width: 0.875rem; height: 0.875rem; flex: 0 0 auto; accent-color: var(--wp--preset--color--primary); } /* 09-29 压浏览器默认margin(3px 3px 3px 4px)+定尺寸14px, 对齐根因修复(用户定) */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-cookies-consent #wp-comment-cookies-consent { margin: 0; } /* 09-29 三轮(站长自查定位): WP核心 post-comments-form/style.css:62 以 ID 选择器 (1,2,0) 给勾选框 margin-top:.35em(默认静态布局的基线微调), 在 flex 居中布局中把勾选框顶下=文字显偏上; 本规则 (1,3,0) 同款 ID 反超归零 */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments form.comment-form > p.comment-form-comment { margin-bottom: 0.5rem; } /* 09-29 二轮修正: 一轮的 (0,3,0) 被 form.comment-form>p{margin:0} (0,3,2) 压死未生效, 改 >p.类 (0,4,2) 反超; 大框与三输入行间距 8→16px(用户定"还是很小") */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-author input, :is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-email input, :is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-url input { width: 100%; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-form-comment textarea { width: 100%; display: block; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments input:focus:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), :is(.ttb-article, .ttb-readers-comments) .ttb-comments textarea:focus {
  border-color: var(--wp--preset--color--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent);
  outline: none;
}
:is(.ttb-article, .ttb-readers-comments) .ttb-comments ::placeholder { color: var(--wp--preset--color--muted); opacity: 1; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .form-submit input[type="submit"] {
  font-size: var(--wp--preset--font-size--xs, 0.875rem);
  padding: 0.4375rem 1.25rem;
  background: var(--wp--preset--color--primary);
  color: #fff;
  border: 0;
  border-radius: var(--tttheme-radius, 8px) !important; /* 用户定 2026-09-28 十三轮: 与输入框同令牌同圆角——按钮挂 wp-block-button__link 类被 972 行 radius-sm !important 钉在4px, 此处 (0,4,1) 反超回到 radius(md=8px), 后台直角开关仍双端联动 */
  cursor: pointer;
  transition: filter 0.15s ease;
}
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .form-submit input[type="submit"]:hover { filter: brightness(1.08); }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-comment-author-name { font-weight: 600; font-size: 1rem; } /* 0.8.41: 14px常规→16px加粗——昵称是评论锚点, 与内容同字号靠字重区分, 高于日期/回复14px */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .ttb-comment-date { font-size: var(--wp--preset--font-size--xs, 0.875rem); color: #707070; font-variant-numeric: tabular-nums; } /* 0.8.39 12px→14px(站长定: 元信息统一14) */
html.tttheme-dark :is(.ttb-article, .ttb-readers-comments) .ttb-comments .ttb-comment-date { color: var(--wp--preset--color--muted); } /* 0.9.35 修: 原选择器第二段括号不配平致整条被浏览器丢弃, 暗色日期恒走 L1356 的 #707070 */
/* 评论项字号与节奏(站长定 2026-09-27): 元信息(昵称/日期/回复)14px, 评论内容16px(阅读主体保层级); 内容p清自身边距——间距交给父列6px flex gap统一节奏, 多段间0.75em */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-comment-content { font-size: 1rem; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-comment-content p { font-size: 1rem; margin: 0; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-comment-content p + p { margin-top: 0.75em; }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-comment-reply-link { font-size: var(--wp--preset--font-size--xs, 0.875rem); }
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .ttb-comment-item { padding-top: 0.75rem; padding-bottom: 0.75rem; } /* 0.8.74 站长定: 楼层下横线撤(模板 border-top 已删)且间距 3rem→1.5rem 收缩; 模板行内样式收编进 CSS */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments li.comment > ol { margin: 0; padding-left: calc(36px + 16px); list-style: none; } /* 0.8.74 站长定二选一取「只缩进」: 嵌套回复不用灰块包裹, 缩进=头像列宽 52px, 子楼头像与父楼文字列对齐 */
/* 回复时表单缩进(站长定 2026-09-27, 0.8.44 修选择器): 实测线上 comment-reply.min.js 以 insertBefore(h, e.nextSibling) 把 respond 插到 li 后面当兄弟节点(非移入内部), 故用相邻兄弟选择器; 底部主表单不邻接 li 不受影响; 头像列宽=36px+16px */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments :is(.comment + .comment-respond, .comment .comment-respond) { margin: 0.75rem 0 0 calc(36px + 16px); }
/* 回复表单内间距(站长定 2026-10-09): 顶部贴紧回复不留内距, 底部留 16px 呼吸——WP 核心 post-comments-form 自带 padding 收敛 */
/* 2026-10-27 站长定: 回复表单底部 16px 呼吸距撤销 */
:is(.ttb-article, .ttb-readers-comments) .ttb-comments .comment-respond { padding-top: 0; }
.ttb-article .ttb-prose h1, .ttb-article .ttb-prose h2, .ttb-article .ttb-prose h3 { scroll-margin-top: 89px; }
.ttb-rail { display: none; position: absolute; right: 100%; top: 0; height: 100%; padding-right: 36px; }
@media (min-width: 1320px) { .ttb-rail { display: block; } }
.ttb-rail-track { position: sticky; top: 50vh; transform: translateY(-50%); display: flex; flex-direction: column; gap: 16px; align-items: flex-end; }
.ttb-rail-item { width: 18px; height: 2px; padding: 0; border: 0; border-radius: 1px; background: var(--wp--preset--color--border, #e8e8e8); cursor: pointer; transition: background 0.2s ease, width 0.2s ease; }
.ttb-rail-item.ttb-rail-h3 { width: 15px; }
.ttb-rail-item.ttb-rail-h4, .ttb-rail-item.ttb-rail-h5, .ttb-rail-item.ttb-rail-h6 { width: 12px; }
.ttb-rail-item.is-active { background: var(--wp--preset--color--primary); width: 26px; }
.ttb-article :focus { outline: none; }
.ttb-article :focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 2px; }
.ttb-article input:focus, .ttb-article textarea:focus { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 0; }
.ttb-article *:hover { box-shadow: none !important; }
.ttb-article .ttb-like-btn {
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 0;
  border-radius: 0;
  background: none;
  color: var(--wp--preset--color--primary);
  font-size: var(--wp--preset--font-size--sm, 1rem);
  line-height: 1;
}
.ttb-article .ttb-like-btn .ttb-like-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; /* 0.8.79 站长定: 52→44 降档, 与标签行比例更协调 */
  height: 44px;
  border-radius: 99999px;
  background: var(--wp--preset--color--card-bg, #f8f8f8);
  transition: background 0.2s ease, color 0.2s ease;
}
.ttb-article .ttb-like-btn .ttb-stat-icon { width: 19px; height: 20px; } /* 随 44px 圆等比 */
.ttb-article .ttb-like-btn .ttb-like-text { display: inline-flex; align-items: baseline; gap: 5px; white-space: nowrap; }
.ttb-article .ttb-like-btn.is-liked .ttb-like-icon { background: var(--wp--preset--color--primary); color: #fff; }
.ttb-rel-bottom { margin-top: 2.5rem; }
.ttb-rel-bottom .ttb-floor-head { margin-bottom: 1.5rem; font-size: 1.25rem; } /* 用户定 2026-09-28 十四轮: 文章页推荐楼层头 24px(首页楼层标准)→20px, 附属模块降档; 仅此处, 首页楼层头不动 */
.ttb-rel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.ttb-rel-card { display: flex; flex-direction: column; gap: 0.6rem; text-decoration: none; min-width: 0; }
.ttb-rel-thumb { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--tttheme-radius, 8px); background: var(--wp--preset--color--card-bg, #f8f8f8); } /* 用户定 2026-09-28 十轮: 相关文章缩略图锁3:2(原先height:auto+contain按原图比例, 与全站卡片比例约定不一致) */
.ttb-rel-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.ttb-rel-title { font-size: 1rem; font-weight: 500; line-height: 1.5; color: var(--wp--preset--color--text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } /* 用户定 2026-09-28 十一轮: 标题14→16px(原与日期xs同号层级塌), 日期保持14px */
.ttb-rel-date { font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); }
@media (max-width: 1099px) { .ttb-rel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } /* 站长定 2026-10-27: 相关推荐手机 2行2列(≤480 塌 1 列与 09-29 注释本意相悖, 实测 393 一直单列); 0.9.35 并 ≤480 同值 no-op 行 */
.ttb-topic-hero-authors img + img { margin-left: calc(-40px / 3); }
@media (max-width: 782px) { .ttb-topic-hero-authors { display: none; } }
.ttb-topic-hero:not(.has-image) { min-height: 0; height: auto; background: var(--wp--preset--color--card-bg); border-bottom: 1px solid var(--wp--preset--color--border); }
.ttb-topic-hero:not(.has-image)::after { content: none; }
.ttb-topic-hero:not(.has-image) .ttb-topic-hero-in { padding: 2.5rem 1.5rem; }
.ttb-topic-hero:not(.has-image) .ttb-topic-hero-name { color: var(--wp--preset--color--text); }
.ttb-topic-hero:not(.has-image) .ttb-topic-hero-tag { color: var(--wp--preset--color--text); }
.ttb-topic-hero:not(.has-image) .ttb-topic-hero-desc { color: var(--wp--preset--color--muted); }

@media (max-width: 782px) {
  .ttb-topic-hero-tag, .ttb-topic-hero-desc { display: none; }
  .ttb-topic-hero-in { padding-top: 2.5rem; padding-bottom: calc(var(--ttb-gutter) * 3); }
  main.wp-block-group.ttb-topic-main { width: 100%; margin: calc(var(--ttb-gutter) * -2) 0 0; }
}
canvas.ttb-cursor-fx-spot {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  display: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
canvas.ttb-cursor-fx-spot.is-on { opacity: 1; }
html.tttheme-dark canvas.ttb-cursor-fx-spot { display: block; }
.wp-block-post-featured-image img { opacity: 0; transition: opacity 0.5s ease, transform 0.5s ease; }
.wp-block-post-featured-image img[src], .wp-block-post-featured-image img[loading] { opacity: 1; }
html.tttheme-dark { color-scheme: dark; }
html.tttheme-dark .wp-block-separator { background: linear-gradient(90deg, transparent 0%, rgba(42, 40, 38, 0.8) 15%, rgba(42, 40, 38, 0.8) 85%, transparent 100% ) !important; }
html.tttheme-dark .wp-block-code { border-color: var(--wp--preset--color--border, #2a2826) !important; background: var(--wp--preset--color--card-bg, #22201e) !important; }
html.tttheme-dark .ttb-article .ttb-prose :where(code):not(pre code), html.tttheme-dark .ttb-article .ttb-prose pre { background: color-mix(in srgb, var(--wp--preset--color--border) 40%, var(--wp--preset--color--background)); }
html.tttheme-dark .wp-block-table th { background: var(--wp--preset--color--card-bg, #22201e); }

@media (max-width: 640px) {
  .single .wp-block-post-featured-image, .page .wp-block-post-featured-image { margin-left: -1rem; margin-right: -1rem; max-height: 40vh; }
  .wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post { padding: 1rem !important; }
  .wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post .wp-block-post-featured-image { margin: -1rem -1rem 0.75rem -1rem; }
  .wp-block-post-template.is-layout-grid:not(.ttb-card-grid):not(.ttb-home-grid) .wp-block-post .wp-block-post-title { font-size: var(--wp--preset--font-size--lg, 1.5rem) !important; }
}
.ttb-att-hero { margin: 1.5rem 0 0; }
.ttb-att-media img { display: block; width: 100%; height: auto; border-radius: var(--tttheme-radius, 8px); box-shadow: var(--ttb-card-shadow); }
.ttb-att-cap { display: block; margin-top: 1rem; font-size: var(--wp--preset--font-size--sm, 1rem); line-height: 1.7; color: var(--ttb-text-desc); }
.ttb-att-cap-text { display: block; }
.ttb-att-meta { display: block; margin-top: 0.35rem; font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); }
.ttb-att-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.25rem; }
.ttb-att-btn { font-size: var(--wp--preset--font-size--sm, 1rem); line-height: 1; padding: 0.6rem 1.25rem; border: 1px solid var(--wp--preset--color--border, #e8e8e8); border-radius: var(--tttheme-radius-full, 99999px); color: var(--wp--preset--color--text); text-decoration: none; transition: color 0.15s ease, border-color 0.15s ease; }
.ttb-att-btn:hover { color: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }
.ttb-att-file { display: flex; flex-direction: column; gap: 0.35rem; padding: 1.5rem 2rem; background: var(--wp--preset--color--card-bg, #f8f8f8); border-radius: var(--tttheme-radius-lg, 16px); }
.ttb-att-file-name { font-weight: 600; color: var(--wp--preset--color--text); word-break: break-all; }
.ttb-att-parent { margin: 2rem 0 0; font-size: var(--wp--preset--font-size--sm, 1rem); color: var(--wp--preset--color--muted); }
.ttb-att-parent a { color: var(--wp--preset--color--text); }
.ttb-att-parent a:hover { color: var(--wp--preset--color--primary); }
.ttb-arch-hero { margin-bottom: 2.5rem; }
.ttb-arch-kicker { font-size: var(--wp--preset--font-size--xs, 0.875rem); letter-spacing: 0.08em; color: var(--wp--preset--color--muted); margin-bottom: 0.5rem; }
.ttb-arch-title { font-size: var(--wp--preset--font-size--xxl); letter-spacing: -0.02em; line-height: 1.25; color: var(--wp--preset--color--text); margin: 0; }
.ttb-arch-desc { margin-top: 0.75rem; font-size: var(--wp--preset--font-size--sm, 1rem); line-height: 1.7; color: var(--ttb-text-desc); max-width: 720px; }
.ttb-arch-author { display: flex; flex-wrap: nowrap; align-items: center; gap: 1.5rem; }
.ttb-arch-avatar { line-height: 0; margin-right: -4px; }
.ttb-arch-avatar img { display: block; width: 96px; height: 96px; border-radius: var(--tttheme-radius-full, 99999px); border: 1px solid var(--wp--preset--color--border, #e8e8e8); }
.ttb-arch-author .ttb-arch-title { font-size: var(--wp--preset--font-size--xl); }
.ttb-arch-meta { margin-top: 0.35rem; font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); }
.ttb-arch-tag { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.625rem; margin-bottom: 1.5rem; padding: 0.75rem 1rem; border-radius: var(--tttheme-radius, 8px); background: var(--wp--preset--color--background, #fff); /* 2026-10-27 站长定: 标签头部框改白 */ }
html.tttheme-dark .ttb-arch-tag { background: var(--wp--preset--color--card-bg); }
.ttb-arch-tag-name { font-size: 1rem; line-height: 1.5; color: var(--wp--preset--color--text); margin: 0; }
.ttb-arch-tag-count { font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); }
.ttb-arch-tag-label { font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); }
/* 空状态统一(2026-10-27 审计 R2: 三文案 body 类显隐 hack 撤销, 画布/前台同源) */
.ttb-nr { text-align: center; padding: 4rem 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--lg) !important; margin: 0; }
@media (max-width: 640px) { .ttb-arch-author { gap: 1rem; } .ttb-arch-avatar img { width: 72px; height: 72px; } }
.ttb-sidebar { gap: 1.5rem !important; --wp--preset--font-size--sm: 1rem; font-size: var(--wp--preset--font-size--sm); min-width: 0; }
.ttb-side-mod { display: flex; flex-direction: column; gap: 1rem; min-width: 0; align-self: stretch; }
.ttb-side-mod > h3 { margin: 0; }
.ttb-sidebar h3 {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background: none;
  color: #181818;
  font-size: var(--wp--preset--font-size--base, 1.125rem) !important;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
}
html.tttheme-dark .ttb-sidebar h3 { color: var(--tttheme-color-text, #f0f0f0); }
/* 2026-10-27 站长定: 边栏块标题后的横线(::after)已去掉 */
.ttb-sidebar .wp-block-latest-posts__list { list-style: none; margin: 0; padding: 0; }
.ttb-sidebar .wp-block-latest-posts__list li { margin: 0 0 0.75rem; }
.ttb-sidebar .wp-block-latest-posts__list a { text-decoration: none; }
.ttb-sidebar .wp-block-latest-posts__post-date {
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--muted);
  margin-top: 0.15rem;
}
.ttb-sidebar .wp-block-categories-list { list-style: none; margin: 0; padding: 0; }
.ttb-sidebar .wp-block-categories-list li { margin: 0 0 0.6rem; }
.ttb-sidebar .wp-block-categories-list a { text-decoration: none; }
.ttb-sidebar .wp-block-categories-list .count { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--xs); }
.ttb-hot-list { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.ttb-side-head { display: flex; align-items: baseline; justify-content: space-between; width: 100%; gap: 0.75rem; }
.ttb-side-head .ttb-side-title { width: auto; flex: 1 1 auto; }
.ttb-hot-tabs { display: flex; align-items: baseline; flex: 0 0 auto; }
.ttb-hot-tab {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: var(--wp--preset--font-size--2xs, 0.75rem);
  line-height: inherit;
  color: var(--wp--preset--color--text);
  cursor: pointer;
  transition: color 0.15s ease;
}
.ttb-hot-tab + .ttb-hot-tab { margin-left: 0.5rem; }
.ttb-hot-tab + .ttb-hot-tab::before { content: '/'; color: var(--wp--preset--color--muted); margin-right: 0.5rem; }
.ttb-hot-tab:hover { color: var(--wp--preset--color--primary); }
.ttb-hot-tab.is-active { color: var(--wp--preset--color--primary); }
.ttb-hot-tab.is-empty { opacity: 0.45; cursor: default; }
.ttb-hot-tab.is-empty:hover { color: var(--wp--preset--color--text); }
.ttb-hot-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--ttb-space-item, 1.5rem); row-gap: var(--ttb-space-item, 1.5rem); }
.ttb-hot-card.ttb-row-card { padding: 0; }
.ttb-hot-card { display: flex; flex-wrap: nowrap; gap: 1.5rem; align-items: stretch; background: var(--wp--preset--color--background, #ffffff); box-shadow: var(--ttb-card-shadow); border-radius: var(--tttheme-radius, 8px); overflow: hidden; transition: box-shadow 0.2s ease; }
html.tttheme-dark .ttb-hot-card { background: var(--wp--preset--color--card-bg); box-shadow: var(--ttb-card-shadow); }
.ttb-hot-card:hover { box-shadow: var(--ttb-card-shadow-hover); }
html.tttheme-dark .ttb-hot-card:hover { box-shadow: var(--ttb-card-shadow-hover); }
.ttb-hot-card > .ttb-hot-thumb { display: block; flex: 0 0 15rem; width: 15rem; aspect-ratio: 3 / 2; overflow: hidden; background: var(--wp--preset--color--card-bg, #f0f1f3); border-radius: 0; }
.ttb-hot-card > .ttb-hot-thumb img { border-radius: 0 !important; }
.ttb-hot-card > .ttb-hot-text { flex: 1 1 0; min-width: 0; padding: 1rem 1rem 1rem 0; }
@media (max-width: 640px) { .ttb-hot-card > .ttb-hot-thumb { flex: 0 0 auto; width: 100%; } .ttb-hot-card > .ttb-hot-text { padding: 1rem; } }
.ttb-hot-card .ttb-hot-title { font-size: 1.25rem; line-height: 1.4; font-weight: 500; color: var(--wp--preset--color--text); margin: 0; }
.ttb-hot-card .ttb-hot-title a { color: inherit; text-decoration: none; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-hot-card .ttb-hot-title a:hover { color: var(--wp--preset--color--primary); }
.ttb-hot-card .ttb-hot-desc { margin: 0.375rem 0 0; font-size: var(--wp--preset--font-size--sm, 1rem); line-height: 1.7; color: var(--ttb-text-desc); }
.ttb-hot-card .ttb-hot-meta { margin-top: auto; padding-top: 0.75rem; display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; font-size: var(--wp--preset--font-size--xs); line-height: 1.6; color: var(--wp--preset--color--muted); }
@media (max-width: 1099px) { .ttb-hot-grid { grid-template-columns: 1fr; } }
.ttb-rand-more {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: var(--wp--preset--font-size--2xs, 0.75rem);
  line-height: inherit;
  color: var(--wp--preset--color--text);
  cursor: pointer;
  transition: color 0.15s ease;
}
.ttb-rand-more-ic { flex: 0 0 auto; }
.ttb-rand-more:hover { color: var(--wp--preset--color--primary); }
.ttb-tag-grid { display: grid; width: 100%; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 24px; }
.ttb-tag-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.625rem 0.875rem;
  background: var(--wp--preset--color--card-bg, #f8f8f8);
  border-radius: var(--tttheme-radius, 8px);
  font-size: var(--wp--preset--font-size--xs, 0.875rem);
  line-height: 1.5;
  color: var(--wp--preset--color--text, #181818);
  text-decoration: none;
  transition: color 0.15s ease;
}
.ttb-tag-item:hover { color: var(--wp--preset--color--primary, #1677ff); background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent); }
.ttb-tag-name {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ttb-tag-n { flex: 0 0 auto; font-size: var(--wp--preset--font-size--2xs, 0.75rem); color: var(--wp--preset--color--muted); font-variant-numeric: tabular-nums; }
.ttb-page-title { width: fit-content; margin: 0 auto 0.75rem; position: relative; isolation: isolate; font-size: var(--wp--preset--font-size--lg, 1.5rem); line-height: 1.5; font-weight: 400; letter-spacing: 0.02em; color: var(--wp--preset--color--text); }
.ttb-page-title::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 8px; border-radius: 9999px; background: color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent); z-index: -1; }
.ttb-arch-stats { margin: 0; padding-bottom: 1rem; border-bottom: 1px solid var(--wp--preset--color--border); font-size: var(--wp--preset--font-size--sm, 1rem); color: var(--wp--preset--color--muted); text-align: center; }
.ttb-arch-shell > .ttb-page-title + * { margin-block-start: 0; }
.ttb-arch-month { display: flex; align-items: flex-start; gap: 2.5rem; padding: 2rem 0; border-top: 1px solid var(--wp--preset--color--border); }
.ttb-arch-month:first-of-type { border-top: 0; padding-top: 1.5rem; }
.ttb-arch-mhead { flex: 0 0 auto; margin: 0; align-self: flex-start; position: sticky; top: 89px; }
.ttb-arch-mcal { display: flex; flex-direction: column; width: 64px; height: 64px; border-radius: 0.5rem; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--card-bg, #fff); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07); overflow: hidden; box-sizing: border-box; }
.ttb-arch-mband { flex: 0 0 auto; height: 1.25rem; background: var(--wp--preset--color--primary); color: #fff; font-size: var(--wp--preset--font-size--2xs, 0.75rem); line-height: 1.25rem; text-align: center; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; }
.ttb-arch-mnum { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; font-size: var(--wp--preset--font-size--xxl, 1.875rem); line-height: 1; font-weight: 700; color: var(--wp--preset--color--text); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
html.tttheme-dark .ttb-arch-mcal { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35); }
.ttb-arch-list { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0 0 0 1.25rem; list-style: none; position: relative; }
.ttb-arch-list::before { content: ""; position: absolute; top: 0.4rem; bottom: 0.4rem; left: 3px; width: 1px; background: var(--wp--preset--color--border); }
.ttb-arch-list li { position: relative; }
.ttb-arch-list li::before { content: ""; position: absolute; top: calc(0.8rem - 10.5px); left: calc(-1.25rem - 7px); width: 21px; height: 21px; border-radius: 50%; background: var(--wp--preset--color--background, #fff); border: 1px solid var(--wp--preset--color--border); box-sizing: border-box; } /* 圈心对齐标题首行中心: 1rem/1.6→0.8rem, 圈径21px半10.5px(0.8.39修正原0.5em按18px根字号算偏低4.7px) */
.ttb-arch-list li::after { content: ""; position: absolute; top: calc(0.8rem - 3.5px); left: -1.25rem; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--primary); opacity: 0; transform: scale(0.5); transition: opacity 0.15s ease, transform 0.15s ease; }
.ttb-arch-list li:hover::after { opacity: 1; transform: scale(1); }
.ttb-arch-list li + li { margin-top: 1.375rem; }
.ttb-arch-list a { display: flex; gap: 0.75rem; align-items: baseline; color: inherit; text-decoration: none; }
.ttb-arch-date { flex: 0 0 auto; min-width: 4.5rem; font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); font-variant-numeric: tabular-nums; }
.ttb-arch-list .ttb-arch-title { min-width: 0; font-size: 1rem; line-height: 1.6; color: var(--wp--preset--color--text); transition: color 0.15s ease; }
.ttb-arch-list a:hover .ttb-arch-title { color: var(--wp--preset--color--primary); }

@media (max-width: 640px) {
  .ttb-arch-month { gap: 0.75rem; padding: 0.75rem 0; }
  .ttb-arch-mcal { width: 48px; height: 48px; }
  .ttb-arch-mband { height: 1rem; line-height: 1rem; font-size: var(--wp--preset--font-size--2xs, 0.75rem); }
  .ttb-arch-mnum { font-size: 1.25rem; }
  .ttb-arch-date { min-width: 3.5rem; }
}
main.ttb-about-page { padding-top: 0; padding-bottom: 0; }
.ttb-about-cols { display: flex; align-items: stretch; }
.ttb-about-cols > * { box-sizing: border-box; }
.ttb-about-toc { flex: 0 0 300px; background: var(--wp--preset--color--card-bg, #f8f8f8); padding: var(--ttb-page-gap, 2rem) 1.25rem 2rem; }
html.tttheme-dark .ttb-about-toc { background: var(--wp--preset--color--card-bg); }
.ttb-about-toc-in { position: sticky; top: 104px; display: flex; flex-direction: column; gap: 2px; }
.ttb-about-toc-link { display: block; padding: 0.375rem 0.75rem; border-radius: var(--tttheme-radius, 8px); font-size: var(--wp--preset--font-size--sm, 1rem); line-height: 1.6; color: var(--wp--preset--color--muted); text-decoration: none; overflow-wrap: anywhere; transition: color 0.15s ease, background 0.15s ease; }
.ttb-about-toc-link:hover { background: color-mix(in srgb, var(--wp--preset--color--text) 3%, transparent); color: var(--wp--preset--color--primary); }
.ttb-about-toc-link.is-active { color: var(--wp--preset--color--primary); font-weight: 500; background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent); }
.ttb-about-content { flex: 1 1 auto; min-width: 0; padding: var(--ttb-page-gap, 2rem) clamp(1.5rem, 4vw, 4rem) calc(var(--ttb-page-gap, 2rem) + 1rem); }
.ttb-about-sec { max-width: 940px; margin-inline: auto; scroll-margin-top: 104px; } /* 2026-10-27 站长定: 内容居中, 消除右大留白(200→与左对称) */

@media (max-width: 980px) {
  .ttb-about-cols { flex-direction: column; }
  .ttb-about-toc { flex: none; padding: 1rem var(--ttb-gutter, 1.5rem); }
  .ttb-about-toc-in { position: static; flex-direction: row; flex-wrap: wrap; gap: 0.25rem 0.5rem; }
  .ttb-about-content { padding: 1.5rem var(--ttb-gutter, 1.5rem) 2.5rem; }
  .ttb-about-sec { scroll-margin-top: 88px; }
}
main.ttb-readers-page { background: transparent; max-width: none; padding-top: var(--ttb-page-gap, 2rem); } /* 2026-10-27 灰底改版: 容器灰面失效, 白卡直接托灰底 */
html.tttheme-dark main.ttb-readers-page { background: var(--wp--preset--color--card-bg); }
.ttb-readers { max-width: var(--ttb-site-width, 1440px); margin-inline: auto; }
.ttb-readers-top { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; }
.ttb-reader-card { position: relative; min-width: 0; overflow: hidden; background: var(--wp--preset--color--background, #fff); box-shadow: var(--ttb-card-shadow); border-radius: var(--tttheme-radius, 8px); text-align: center; box-sizing: border-box; }
html.tttheme-dark .ttb-reader-card { background: var(--wp--preset--color--card-bg); box-shadow: var(--ttb-card-shadow); }
.ttb-reader-cover { display: block; height: 88px; overflow: hidden; }
.ttb-reader-cover img { width: 100%; height: 100%; object-fit: cover; display: block; filter: blur(3px); transform: scale(1.1); }
.ttb-reader-body { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; min-width: 0; padding: 0 0.75rem 0.875rem; }
.ttb-reader-body img { position: relative; width: 64px; height: 64px; border-radius: 50%; margin-top: -32px; box-sizing: border-box; }
.ttb-reader-name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; color: var(--wp--preset--color--text); }
.ttb-reader-n { font-size: var(--wp--preset--font-size--2xs, 0.75rem); color: var(--wp--preset--color--muted); }
.ttb-reader-last { font-size: var(--wp--preset--font-size--2xs, 0.75rem); color: #707070; font-variant-numeric: tabular-nums; }
html.tttheme-dark .ttb-reader-last { color: var(--wp--preset--color--muted); }
.ttb-reader-body .ttb-reader-quote { font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--text); text-align: left; align-self: stretch; margin-top: 0.125rem; }
.ttb-reader-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; align-self: stretch; min-width: 0; }
.ttb-readers-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (max-width: 980px) { .ttb-readers-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ttb-readers-list { grid-template-columns: 1fr; } }
.ttb-readers-list li { display: flex; align-items: flex-start; gap: 0.75rem; min-width: 0; padding: 0.875rem 1rem; background: var(--wp--preset--color--background, #fff); box-shadow: var(--ttb-card-shadow); border-radius: var(--tttheme-radius, 8px); box-sizing: border-box; }
html.tttheme-dark .ttb-readers-list li { background: var(--wp--preset--color--card-bg); }
.ttb-readers-list img { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; }
.ttb-reader-info { display: flex; flex-direction: column; gap: 0.125rem; min-width: 0; text-align: left; }
.ttb-readers-list .ttb-reader-name { font-size: var(--wp--preset--font-size--xs, 0.875rem); }
.ttb-reader-quote { font-size: var(--wp--preset--font-size--2xs, 0.75rem); line-height: 1.5; color: var(--wp--preset--color--muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-readers-list a.ttb-reader-name { color: inherit; text-decoration: none; transition: color 0.15s ease; }
.ttb-readers-list a.ttb-reader-name:hover { color: var(--wp--preset--color--primary); }
.ttb-readers-list .ttb-reader-date { font-size: var(--wp--preset--font-size--2xs, 0.75rem); color: #707070; font-variant-numeric: tabular-nums; }
html.tttheme-dark .ttb-readers-list .ttb-reader-date { color: var(--wp--preset--color--muted); }
.ttb-readers-list li.ttb-more-hide { display: none; }
.ttb-readers-more { text-align: center; margin-top: 1rem; } /* 站长定: 距上太远→1rem 上下一致 */
.ttb-readers-more[hidden] { display: none; }
.ttb-readers-more .ttb-more-btn, .ttb-topic-dir-more .ttb-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  padding: 0.25rem 0.75rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  border-radius: var(--tttheme-radius-full, 99999px);
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--text);
  transition: background-color 0.15s ease, color 0.15s ease, padding 0.15s ease, gap 0.2s ease 0.2s;
}
.ttb-readers-more .ttb-more-btn::before, .ttb-readers-more .ttb-more-btn::after, .ttb-topic-dir-more .ttb-more-btn::before, .ttb-topic-dir-more .ttb-more-btn::after {
  content: "";
  width: min(120px, 18vw);
  height: 1px;
  background: var(--wp--preset--color--border, #e8e8e8);
  transition: width 0.2s ease 0.2s;
}
.ttb-readers-more .ttb-more-btn:hover, .ttb-readers-more .ttb-more-btn:focus-visible, .ttb-topic-dir-more .ttb-more-btn:hover, .ttb-topic-dir-more .ttb-more-btn:focus-visible {
  background: var(--wp--preset--color--primary);
  color: #fff;
  outline: none;
  padding: 0.25rem 1.25rem;
  gap: 0;
  transition: background-color 0.15s ease 0.2s, color 0.15s ease 0.2s, padding 0.15s ease 0.2s, gap 0.2s ease;
}
.ttb-readers-more .ttb-more-btn:hover::before, .ttb-readers-more .ttb-more-btn:focus-visible::before, .ttb-readers-more .ttb-more-btn:hover::after, .ttb-readers-more .ttb-more-btn:focus-visible::after, .ttb-topic-dir-more .ttb-more-btn:hover::before, .ttb-topic-dir-more .ttb-more-btn:focus-visible::before, .ttb-topic-dir-more .ttb-more-btn:hover::after, .ttb-topic-dir-more .ttb-more-btn:focus-visible::after { width: 0; transition: width 0.2s ease; }

@media (prefers-reduced-motion: reduce) {
  .ttb-readers-more .ttb-more-btn, .ttb-topic-dir-more .ttb-more-btn { transition: none !important; }
  .ttb-readers-more .ttb-more-btn::before, .ttb-readers-more .ttb-more-btn::after, .ttb-topic-dir-more .ttb-more-btn::before, .ttb-topic-dir-more .ttb-more-btn::after { transition: none !important; }
}
@media (max-width: 980px) { .ttb-readers-top { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ttb-readers-top { grid-template-columns: repeat(2, 1fr); } }
.ttb-talk { display: flex; flex-direction: column; gap: 1.5rem; }
.ttb-talk-empty { color: var(--wp--preset--color--muted); }
html.tttheme-dark .ttb-talk-item { background: var(--wp--preset--color--card-bg); }
.ttb-talk-head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.ttb-talk-head img { width: 36px; height: 36px; border-radius: 50%; flex: 0 0 auto; }
.ttb-talk-name { font-size: var(--wp--preset--font-size--sm, 1rem); font-weight: 500; color: var(--wp--preset--color--text); }
.ttb-talk-date { font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); }
.ttb-talk-head .ttb-like-compact { margin-left: auto; font-size: var(--wp--preset--font-size--xs, 0.875rem); }
.ttb-talk-head .ttb-like-compact .ttb-like-plus { left: auto; right: 0.375rem; }
.ttb-talk-text { font-size: 1rem; line-height: 1.8; color: var(--wp--preset--color--text); overflow-wrap: anywhere; }
.ttb-talk-text p { margin: 0 0 0.4em; }
.ttb-talk-text p:last-child { margin-bottom: 0; }
.ttb-talk-codebox { position: relative; margin: 0.5rem 0; }
.ttb-talk-code { margin: 0; padding: 1rem 1.25rem; overflow-x: auto; background: #f6f8fa; border-radius: 6px; font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.7; display: flex; align-items: flex-start; }
.ttb-talk-code-ln { padding-left: 0; }
.ttb-talk-ln { flex: none; position: sticky; left: 0; margin: -1rem 1rem -1rem 0; padding: 1rem 0.75rem 1rem 1.5rem; text-align: right; color: color-mix(in srgb, var(--wp--preset--color--text) 35%, transparent); background-color: inherit; background-image: linear-gradient(rgba(30, 35, 40, 0.04), rgba(30, 35, 40, 0.04)); user-select: none; -webkit-user-select: none; }
.ttb-talk-lang { position: absolute; top: 0.9375rem; right: 1rem; font-size: var(--wp--preset--font-size--2xs, 0.75rem); line-height: 1; letter-spacing: 0.08em; text-transform: uppercase; color: color-mix(in srgb, var(--wp--preset--color--text) 40%, transparent); pointer-events: none; transition: opacity 0.15s ease; }
.ttb-talk-codebox:hover .ttb-talk-lang { opacity: 0; }
@media (hover: none) { .ttb-talk-lang { display: none; } }
html.tttheme-dark .ttb-talk-code { background: rgba(255, 255, 255, 0.1); }
.ttb-talk-code code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--wp--preset--color--text); background: none; padding: 0; white-space: pre; }
.ttb-talk-code .token.comment, .ttb-talk-code .token.prolog, .ttb-talk-code .token.doctype, .ttb-talk-code .token.cdata { color: #6a737d; font-style: italic; }
.ttb-talk-code .token.punctuation { color: #57606a; }
.ttb-talk-code .token.keyword, .ttb-talk-code .token.operator, .ttb-talk-code .token.important, .ttb-talk-code .token.atrule, .ttb-talk-code .token.rule { color: #cf222e; }
.ttb-talk-code .token.string, .ttb-talk-code .token.char, .ttb-talk-code .token.attr-value, .ttb-talk-code .token.regex { color: #0a3069; }
.ttb-talk-code .token.number, .ttb-talk-code .token.boolean, .ttb-talk-code .token.property { color: #0550ae; }
.ttb-talk-code .token.function, .ttb-talk-code .token.class-name, .ttb-talk-code .token.attr-name { color: #8250df; }
.ttb-talk-code .token.tag, .ttb-talk-code .token.selector { color: #116329; }
html.tttheme-dark .ttb-talk-code .token.comment, html.tttheme-dark .ttb-talk-code .token.prolog, html.tttheme-dark .ttb-talk-code .token.doctype, html.tttheme-dark .ttb-talk-code .token.cdata { color: #8b949e; }
html.tttheme-dark .ttb-talk-code .token.punctuation { color: #c9d1d9; }
html.tttheme-dark .ttb-talk-code .token.keyword, html.tttheme-dark .ttb-talk-code .token.operator, html.tttheme-dark .ttb-talk-code .token.important, html.tttheme-dark .ttb-talk-code .token.atrule, html.tttheme-dark .ttb-talk-code .token.rule { color: #ff7b72; }
html.tttheme-dark .ttb-talk-code .token.string, html.tttheme-dark .ttb-talk-code .token.char, html.tttheme-dark .ttb-talk-code .token.attr-value, html.tttheme-dark .ttb-talk-code .token.regex { color: #a5d6ff; }
html.tttheme-dark .ttb-talk-code .token.number, html.tttheme-dark .ttb-talk-code .token.boolean, html.tttheme-dark .ttb-talk-code .token.property { color: #79c0ff; }
html.tttheme-dark .ttb-talk-code .token.function, html.tttheme-dark .ttb-talk-code .token.class-name, html.tttheme-dark .ttb-talk-code .token.attr-name { color: #d2a8ff; }
html.tttheme-dark .ttb-talk-code .token.tag, html.tttheme-dark .ttb-talk-code .token.selector { color: #7ee787; }
html.tttheme-dark .ttb-talk-code .token.function, html.tttheme-dark .ttb-talk-code .token.class-name, html.tttheme-dark .ttb-talk-code .token.attr-name { color: #d2a8ff; }
html.tttheme-dark .ttb-talk-code .token.tag, html.tttheme-dark .ttb-talk-code .token.selector { color: #7ee787; }
.ttb-talk-copy { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 1; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 6px; background: none; color: var(--wp--preset--color--muted); cursor: pointer; opacity: 0; transform: translateY(-2px); transition: opacity 0.15s ease, transform 0.15s ease, color 0.15s ease; }
.ttb-talk-copy:hover, .ttb-talk-copy:focus-visible { color: var(--wp--preset--color--accent); }
@media (hover: none) { .ttb-talk-copy { opacity: 1; transform: none; } }
.ttb-talk-codebox:hover .ttb-talk-copy, .ttb-talk-copy:focus-visible { opacity: 1; transform: translateY(0); }
.ttb-toast { position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 2; padding: 0.25rem 0.625rem; border-radius: 6px; background: rgba(17, 17, 17, 0.9); color: #fff; font-size: var(--wp--preset--font-size--2xs, 0.75rem); line-height: 1.4; white-space: nowrap; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity 0.2s ease, transform 0.2s ease; }
.ttb-toast.is-on { opacity: 1; transform: translateY(0); }
html.tttheme-dark .ttb-toast { background: rgba(255, 255, 255, 0.95); color: #111; }
.ttb-talk-text .wp-audio-shortcode, .ttb-talk-text audio, .ttb-talk-text .wp-video-shortcode, .ttb-talk-text video { max-width: 100%; width: 100%; min-width: 0; height: auto; display: block; margin: 0.5rem 0; border-radius: var(--tttheme-radius, 8px); overflow: hidden; color-scheme: light; }
html.tttheme-dark .ttb-talk-text audio, html.tttheme-dark .ttb-talk-text video { color-scheme: dark; }
.ttb-talk-imgs { display: grid; gap: var(--ttb-talk-pad, 1.5rem); margin-top: 0.75rem; }
.ttb-talk-img { margin: 0; border-radius: var(--tttheme-radius, 8px); overflow: hidden; aspect-ratio: 3 / 2; }
.ttb-talk-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ttb-talk-imgs-1 { grid-template-columns: 1fr; }
.ttb-talk-imgs-2 { grid-template-columns: repeat(2, 1fr); }
.ttb-talk-imgs-3 { grid-template-columns: repeat(3, 1fr); }
.ttb-talk-imgs-4 { grid-template-columns: repeat(2, 1fr); }
.ttb-talk-imgs-5 { grid-template-columns: repeat(6, 1fr); }
.ttb-talk-imgs-5 .ttb-talk-img:nth-child(-n+2) { grid-column: span 3; }
.ttb-talk-imgs-5 .ttb-talk-img:nth-child(n+3) { grid-column: span 2; }
.ttb-talk-imgs-6 { grid-template-columns: repeat(3, 1fr); }
.ttb-talk-imgs-7 { grid-template-columns: repeat(12, 1fr); }
.ttb-talk-imgs-7 .ttb-talk-img:nth-child(-n+3) { grid-column: span 4; }
.ttb-talk-imgs-7 .ttb-talk-img:nth-child(n+4) { grid-column: span 3; }
.ttb-talk-imgs-8 { grid-template-columns: repeat(4, 1fr); }
.ttb-talk-imgs-9 { grid-template-columns: repeat(5, 1fr); }
.ttb-talk-img .ttb-ci-item { display: block; cursor: zoom-in; }
.ttb-talk-item { --ttb-talk-pad: 1.5rem; padding: var(--ttb-talk-pad); background: var(--wp--preset--color--background, #fff); border-radius: var(--tttheme-radius, 8px); box-shadow: var(--ttb-card-shadow); transition: box-shadow 0.2s ease; }
.ttb-talk-item:hover { box-shadow: var(--ttb-card-shadow-hover); }

@media (max-width: 640px) {
  .ttb-talk-imgs-4, .ttb-talk-imgs-5, .ttb-talk-imgs-6, .ttb-talk-imgs-7, .ttb-talk-imgs-8, .ttb-talk-imgs-9 { grid-template-columns: repeat(3, 1fr); }
  .ttb-talk-imgs-5 .ttb-talk-img:nth-child(n), .ttb-talk-imgs-7 .ttb-talk-img:nth-child(n) { grid-column: auto; }
  .ttb-talk-item { --ttb-talk-pad: 1rem; padding: 1rem; }
  .ttb-talk-imgs { gap: 0.75rem; margin-top: 0.5rem; } /* 站长定: 手机说说图片间距紧凑 */
  .ttb-talk-head .ttb-like-compact, .ttb-talk-head .ttb-talk-date { display: none; }
}
.ttb-talk-more { margin-top: 1rem; text-align: center; }
.ttb-talk-more .ttb-talk-more-btn { display: inline-flex; align-items: center; gap: 1.25rem; max-width: 100%; margin: 0 auto; padding: 0.25rem 0.75rem; border: 0; background: none; font-family: inherit; text-align: center; border-radius: var(--tttheme-radius-full, 99999px); font-size: var(--wp--preset--font-size--sm, 1rem); color: var(--wp--preset--color--text); cursor: pointer; transition: background-color 0.15s ease, color 0.15s ease, padding 0.15s ease, gap 0.2s ease 0.2s; }
.ttb-talk-more .ttb-talk-more-btn::before, .ttb-talk-more .ttb-talk-more-btn::after { content: ""; width: min(120px, 18vw); height: 1px; background: var(--wp--preset--color--border, #e8e8e8); transition: width 0.2s ease 0.2s; }
.ttb-talk-more .ttb-talk-more-btn:hover, .ttb-talk-more .ttb-talk-more-btn:focus-visible { background: var(--wp--preset--color--primary); color: #fff; padding: 0.25rem 1.25rem; gap: 0; transition: background-color 0.15s ease 0.2s, color 0.15s ease 0.2s, padding 0.15s ease 0.2s, gap 0.2s ease; }
.ttb-talk-more .ttb-talk-more-btn:hover::before, .ttb-talk-more .ttb-talk-more-btn:focus-visible::before, .ttb-talk-more .ttb-talk-more-btn:hover::after, .ttb-talk-more .ttb-talk-more-btn:focus-visible::after { width: 0; transition: width 0.2s ease; }
.ttb-talk-more-btn[disabled] { pointer-events: none; cursor: default; color: var(--wp--preset--color--muted); }
.ttb-talk-older { margin-top: 0.5rem; }
.ttb-talk-older[hidden] { display: none; }
.ttb-flash-page.wp-block-group.is-layout-constrained > * { max-width: var(--ttb-site-width, 1440px); }
.ttb-flash-empty { color: var(--wp--preset--color--muted); }
.ttb-flash { padding-inline: var(--ttb-gutter, 1.5rem); box-sizing: border-box; }
.ttb-flash-day { display: flex; gap: 2.5rem; padding: 2rem 0; border-top: 1px solid var(--wp--preset--color--border); }
.ttb-flash-day:first-child { border-top: 0; padding-top: 0; }
.ttb-flash-dlabel { flex: 0 0 auto; min-width: 4rem; margin: 0; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; text-align: center; align-self: flex-start; position: sticky; top: 89px; }
.ttb-flash-dcal { display: flex; flex-direction: column; width: 64px; height: 64px; border-radius: 0.5rem; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--card-bg, #fff); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07); overflow: hidden; box-sizing: border-box; }
.ttb-flash-dband { flex: 0 0 auto; height: 1.25rem; background: var(--wp--preset--color--primary); color: #fff; font-size: var(--wp--preset--font-size--2xs, 0.75rem); line-height: 1.25rem; text-align: center; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; }
.ttb-flash-dday { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; font-size: var(--wp--preset--font-size--xxl, 1.875rem); line-height: 1; font-weight: 700; color: var(--wp--preset--color--text); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.ttb-flash-dweek { font-size: var(--wp--preset--font-size--2xs, 0.75rem); color: var(--wp--preset--color--muted); }
html.tttheme-dark .ttb-flash-dcal { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35); }
.ttb-flash-list { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0 0 0 1.25rem; list-style: none; position: relative; }
.ttb-flash-list::before { content: ""; position: absolute; top: 0.4rem; bottom: 0.4rem; left: 3px; width: 1px; background: var(--wp--preset--color--border); }
.ttb-flash-list li { position: relative; }
.ttb-flash-list li::before { content: ""; position: absolute; top: calc(0.96875rem - 10.5px); left: calc(-1.25rem - 7px); width: 21px; height: 21px; border-radius: 50%; background: var(--wp--preset--color--background, #fff); border: 1px solid var(--wp--preset--color--border); box-sizing: border-box; } /* 圈心对齐标题首行中心: 1.25rem/1.55→0.96875rem(15.5px), 同ttb-arch-list 0.8.39修法 */
.ttb-flash-list li::after { content: ""; position: absolute; top: calc(0.96875rem - 3.5px); left: -1.25rem; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--primary); opacity: 0; transform: scale(0.5); transition: opacity 0.15s ease, transform 0.15s ease; }
.ttb-flash-list li:hover::after { opacity: 1; transform: scale(1); }
.ttb-flash-list li + li { margin-top: 1.375rem; }
.ttb-flash-list a { display: flex; gap: 0.75rem; align-items: baseline; color: inherit; text-decoration: none; }
.ttb-flash-time { flex: 0 0 auto; min-width: 7rem; font-size: var(--wp--preset--font-size--xs, 0.875rem); color: var(--wp--preset--color--muted); font-variant-numeric: tabular-nums; }
@media (max-width: 783px) { .ttb-flash-time { min-width: 5.5rem; } }
@media (max-width: 640px) { .ttb-flash-time { min-width: 4rem; } }
@media (max-width: 479px) { .ttb-flash-time { display: none; } }
.ttb-flash-body { display: block; min-width: 0; }
.ttb-flash-title { display: block; font-size: 1.25rem; line-height: 1.5; font-weight: 400; color: var(--wp--preset--color--text); transition: color 0.15s ease; }
.ttb-flash-list a:hover .ttb-flash-title { color: var(--wp--preset--color--primary); }
.ttb-flash-desc { display: block; margin-top: 0.375rem; font-size: var(--wp--preset--font-size--sm, 1rem); line-height: 1.8; color: var(--wp--preset--color--muted); }
.ttb-flash-morebar { margin-top: 3rem; text-align: center; padding-inline: var(--ttb-gutter, 1.5rem); }
.ttb-flash-more-btn { display: inline-flex; align-items: center; gap: 1.25rem; max-width: 100%; margin: 0 auto; padding: 0.25rem 0.75rem; border: 0; background: none; font: inherit; border-radius: var(--tttheme-radius-full, 99999px); font-size: var(--wp--preset--font-size--sm, 1rem); color: var(--wp--preset--color--text); cursor: pointer; transition: background-color 0.15s ease, color 0.15s ease, padding 0.15s ease, gap 0.2s ease 0.2s; }
.ttb-flash-more-btn::before, .ttb-flash-more-btn::after { content: ""; width: min(120px, 18vw); height: 1px; background: var(--wp--preset--color--border, #e8e8e8); transition: width 0.2s ease 0.2s; }
.ttb-flash-more-btn:hover:not(:disabled), .ttb-flash-more-btn:focus-visible { background: var(--wp--preset--color--primary); color: #fff; padding: 0.25rem 1.25rem; gap: 0; transition: background-color 0.15s ease 0.2s, color 0.15s ease 0.2s, padding 0.15s ease 0.2s, gap 0.2s ease; }
.ttb-flash-more-btn:hover:not(:disabled)::before, .ttb-flash-more-btn:focus-visible::before, .ttb-flash-more-btn:hover:not(:disabled)::after, .ttb-flash-more-btn:focus-visible::after { width: 0; transition: width 0.2s ease; }
.ttb-flash-more-btn:disabled { cursor: default; color: var(--wp--preset--color--muted); }
.ttb-flash-morebar + .ttb-flash-nav { margin-top: 1.5rem; }
@media (prefers-reduced-motion: reduce) { .ttb-flash-more-btn { transition: none !important; } .ttb-flash-more-btn::before, .ttb-flash-more-btn::after { transition: none !important; } }

@media (max-width: 640px) {
  main.ttb-flash-page { padding-inline: 0; }
  .ttb-flash { padding-inline: 0.75rem; }
  .ttb-flash-day { gap: 0.75rem; padding: 0.75rem 0; }
  .ttb-flash-dlabel { position: static; min-width: 3rem; }
  .ttb-flash-dcal { width: 48px; height: 48px; }
  .ttb-flash-dband { height: 1rem; line-height: 1rem; font-size: var(--wp--preset--font-size--2xs, 0.75rem); }
  .ttb-flash-dday { font-size: 1.25rem; }
}
.ttb-flash-layer { position: fixed; inset: 0; z-index: 200; display: none; background: var(--ttb-overlay-bg); }
.ttb-flash-layer::before { content: ''; position: absolute; inset: 0; -webkit-backdrop-filter: blur(var(--ttb-overlay-blur)); backdrop-filter: blur(var(--ttb-overlay-blur)); }
.ttb-flash-layer.is-open { display: block; animation: ttb-flash-in 0.18s ease-out; }
.ttb-flash-layer.is-closing { opacity: 0; transition: opacity 0.15s ease; }
.ttb-flash-layer.is-loading { display: block; animation: ttb-flash-in 0.18s ease-out; }
.ttb-flash-layer.is-loading .ttb-flash-panel { opacity: 0; }

@keyframes ttb-flash-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.ttb-flash-layer.is-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 22px;
  margin: -11px 0 0 -11px;
  border-radius: 50%;
  border: 2px solid var(--wp--preset--color--border);
  border-top-color: var(--wp--preset--color--primary, currentColor);
  animation: ttb-flash-spin 0.7s linear infinite;
}

@keyframes ttb-flash-spin {
  to { transform: rotate(1turn); }
}

@media (prefers-reduced-motion: reduce) {
  .ttb-flash-layer.is-open, .ttb-flash-layer.is-loading { animation: none; }
  .ttb-flash-layer .ttb-flash-scroll .ttb-article { animation: none; }
  .ttb-flash-layer.is-closing { transition: none; }
}
.ttb-flash-panel {
  position: absolute;
  top: var(--ttb-space-item, 1.5rem);
  bottom: var(--ttb-space-item, 1.5rem);
  left: var(--ttb-gutter);
  right: var(--ttb-gutter);
  max-width: 55rem;
  margin-inline: auto;
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius-lg, 16px);
  box-shadow: var(--ttb-overlay-shadow);
  overflow: hidden;
}
.ttb-flash-layer .ttb-flash-scroll { position: absolute; inset: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.ttb-flash-layer .ttb-flash-scroll .ttb-article { width: 100%; max-width: none; margin: 0 auto; padding: 3rem var(--ttb-gutter) 3rem; box-sizing: border-box; animation: ttb-flash-in 0.18s ease-out; }
.ttb-flash-layer .ttb-flash-scroll .ttb-article > .wp-block-group:first-child { padding-top: 0 !important; }
@media (max-width: 640px) { .ttb-flash-panel { top: 0.75rem; bottom: 0.75rem; } } /* 0.9.35: 同行 .ttb-article padding 3.5rem 死声明删(后置 2rem 1.25rem 1.5rem 同特异性覆盖) */
.ttb-flash-layer .ttb-flash-close { color: var(--wp--preset--color--text, #111); }
.ttb-flash-layer .ttb-flash-close:focus, .ttb-flash-layer .ttb-flash-close:focus-visible { outline: none; } /* 站长报: 右上角关闭大蓝框(UA focus outline)去掉 */
@media (max-width: 640px) { .ttb-flash-layer .ttb-flash-scroll .ttb-article { padding: 2rem 1.25rem 1.5rem; } } /* 手机弹窗: 上下留白收+左右加宽 */
.ttb-flash-nav { display: flex; justify-content: space-between; align-items: center; max-width: 720px; margin: 2.5rem auto 0; padding-inline: var(--ttb-gutter); }
.ttb-flash-nav[hidden] { display: none; }
.ttb-flash-nav a, .ttb-flash-nav span { font-size: var(--wp--preset--font-size--sm, 1rem); color: var(--wp--preset--color--muted); text-decoration: none; }
.ttb-flash-nav a:hover { color: var(--wp--preset--color--primary, currentColor); }
.ttb-ad-sidebar { max-width: 100%; overflow: hidden; }
.ttb-rand-list { list-style: none; margin: 0; padding: 0; }
.ttb-rand-item { display: flex; gap: 0.75rem; padding: 0.45rem 0; }
.ttb-rand-item[hidden] { display: none; }
.ttb-rand-thumb { flex: 0 0 6.6667rem; position: relative; overflow: hidden; border-radius: var(--tttheme-radius, 8px); aspect-ratio: 4 / 3; align-self: flex-start; }
.ttb-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.6875rem;
  height: 1.375rem;
  padding: 0 0.3rem;
  font-size: var(--wp--preset--font-size--2xs, 0.75rem);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  border-radius: var(--tttheme-radius, 8px);
  box-sizing: border-box;
}
.ttb-rank-top { position: absolute; top: 0; left: 0; z-index: 2; padding: 0; border-radius: 0 0 16px 0; background: var(--wp--preset--color--primary); color: #fff; }
.ttb-rank-plain { background: #f4f4f4; color: #999; }
html.tttheme-dark .ttb-rank-plain { background: #2e2e2e; color: #c9c9c9; }
.ttb-rand-rank { flex: 0 0 1.6875rem; display: flex; align-items: flex-start; padding-top: 0.15rem; }
.ttb-rand-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ttb-rand-body { min-width: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.ttb-rand-title {
  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.5;
  text-align: justify;
  text-decoration: none;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.ttb-rand-date { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
.ttb-hot-list .ttb-rand-title { display: block; white-space: nowrap; text-overflow: ellipsis; text-align: left; }
.ttb-hot-list .ttb-rand-item:has(.ttb-rand-thumb) .ttb-rand-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
  text-align: justify;
}
.ttb-sidebar .wp-block-tag-cloud { column-count: 3; column-gap: 1rem; }
.ttb-sidebar .wp-block-tag-cloud a { font-size: var(--wp--preset--font-size--xs) !important; text-decoration: none; line-height: 2; }
.ttb-say-list { list-style: none; margin: 0; padding: 0; }
.ttb-say-item { display: flex; gap: 0.625rem; margin: 0 0 1.1rem; }
.ttb-say-item:last-child { margin-bottom: 0; }
.ttb-say-avatar { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; }
.ttb-say-body { flex: 1 1 auto; min-width: 0; }
.ttb-say-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.375rem 0.5rem; }
.ttb-say-author { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
a.ttb-say-author:hover { color: var(--wp--preset--color--primary); text-decoration: none; }
.ttb-say-date { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); white-space: nowrap; }
.ttb-say-text { margin: 0.3rem 0 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ttb-vcard { display: flex; flex-direction: column; row-gap: 0.75rem; }
.ttb-vcard > * { margin: 0; }
.ttb-card-media { position: relative; }
.ttb-card-media .wp-block-post-featured-image { margin: 0 !important; border-radius: max(0px, var(--tttheme-radius, 8px) - 2px); overflow: hidden; }
.ttb-card-media .wp-block-post-featured-image img { width: 100%; transition: transform 0.35s ease; }
.ttb-vcard .wp-block-post-title {
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-weight: 400;
}
.ttb-card-grid .ttb-vcard .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--text); }
.ttb-card-grid .ttb-vcard .wp-block-post-title a:hover { color: var(--wp--preset--color--primary) !important; }
@media (max-width: 1099px) { .ttb-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .ttb-card-grid { grid-template-columns: 1fr !important; } }
.ttb-card-grid > .wp-block-post { display: flex; }
.ttb-card-grid > .wp-block-post > .ttb-vcard { flex: 1 1 auto; }
.ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt, .ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt p, .ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt__excerpt, .ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt__text { font-size: var(--wp--preset--font-size--xs) !important; line-height: 1.7; }
.ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt__text, .ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-vcard-spec .ttb-vcard .wp-block-post-title { font-size: var(--wp--preset--font-size--md, 1.25rem) !important; font-weight: 500 !important; line-height: 1.4 !important; }
.ttb-vcard-spec .ttb-vcard .wp-block-post-title, .ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt, .ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt__excerpt, .ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt__text { flex-shrink: 0; }
.ttb-vcard-spec .ttb-vcard .ttb-item-meta { margin-top: auto; margin-bottom: 2px; }
.ttb-vcard-spec .ttb-vcard { row-gap: 0.375rem; }
.ttb-vcard-spec .ttb-vcard .ttb-card-media { margin-bottom: 12px; } /* 2026-10-27 站长定: 4→12 */
.ttb-vcard-spec .ttb-vcard .wp-block-post-excerpt { margin-bottom: -4px; }
:root { --ttb-side-w: 360px; }
.ttb-side-col { flex-basis: var(--ttb-side-w) !important; min-width: 0; }
.ttb-side-mod { max-width: 100%; min-width: 0; }
@media (min-width: 1680px) { html { font-size: 1.0625rem; } :root { --ttb-side-w: 390px; } }
@media (min-width: 1920px) { html { font-size: 18px; } :root { --ttb-side-w: 420px; } }
.ttb-promo-band, .ttb-search-hero { background: radial-gradient(rgba(255,255,255,0.13) 1px, transparent 1.5px) 0 0 / 24px 24px, linear-gradient(90deg, var(--ttb-band-grad-a, var(--wp--preset--color--primary)), var(--ttb-band-grad-b, var(--wp--preset--color--primary))); }
.wp-site-blocks > main.ttb-home { margin-top: 0; }
.ttb-home > .ttb-promo-band { max-width: none; width: 100vw; margin-top: -65px; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
.ttb-promo-band.has-global-padding { padding-left: 0; padding-right: 0; }
body.home { overflow-x: clip; }
.ttb-promo-band-in { margin: 0 auto; padding: calc(65px + var(--ttb-gutter, 1.5rem)) var(--ttb-gutter) var(--ttb-gutter); box-sizing: border-box; } /* 2026-10-27 站长二调: PC 推荐位距 header 视觉加 gutter(原贴顶 0); band 已上拉 65 贴 header 故加在内衬 */
@media (max-width: 640px) { .ttb-promo-band-in { padding-top: 65px; } } /* 手机保持原贴顶 */ /* 2026-10-16 站长定：距底间距与左右一致(gutter)，楼层间距交由下一楼层 margin-top; 2026-10-27 站长报轮播距 header 远: 顶距 calc(2.5rem+45px)=85px→65px(=header 实高, band 已上拉 65px 贴顶), 视觉间隙 20px→0; 直接改 0 会顶进 sticky header 底下被盖 65px 故取 65px */
.ttb-promo-band .ttb-promo { margin-bottom: 0; }
.ttb-promo-band .ttb-promo-rec { background: rgba(255,255,255,0.14); padding: 1rem; border-radius: var(--tttheme-radius-md, 8px); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-sizing: border-box; }
.ttb-promo-band .ttb-promo-rec-title { color: #fff; }
.ttb-promo-band .ttb-promo-rec-title:hover { color: rgba(255,255,255,0.82); }
.ttb-promo-band .ttb-promo-rec-desc { color: rgba(255,255,255,0.82); }
.ttb-site-header.ttb-hd-ghost { background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav .wp-block-navigation-item__content { color: #fff; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav .current-menu-item > .wp-block-navigation-item__content { color: #fff; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-btn { color: #fff; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-site-logo-svg { color: #fff; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-site-logo-svg [stroke] { stroke: #fff; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-site-logo-svg [fill]:not([fill='none']) { fill: #fff; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-logo-light { display: none; }
html:not(.tttheme-dark) .ttb-hd-ghost .ttb-logo-dark { display: inline-block; }
.ttb-promo { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1.5rem; align-items: stretch; margin-bottom: 4.5rem; } /* 2026-10-16 站长定：banner:推荐位=3:2 比例列（1200 容器≈705:470）——容器变宽时两者等比放大；勿用固定右列（band 容器可到 1600+，固定 480 会让 banner 独自拉伸变长扁） */
.ttb-promo-slide { position: relative; width: 100%; /* 2026-10-27 站长报 iPhone16 轮播不显示: WebKit 网格项 aspect-ratio+stretch 宽度算 0(轨道正常 361px 但项不跟随), 显式 width 拉直; Blink 无感 */ aspect-ratio: 2 / 1; overflow: hidden; border-radius: var(--tttheme-radius-md, 8px); background: var(--wp--preset--color--card-bg, #f0f1f3); touch-action: pan-y; }
.ttb-promo-track { display: flex; height: 100%; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); will-change: transform; }
.ttb-promo-item { position: relative; flex: 0 0 100%; min-width: 100%; overflow: hidden; }
.ttb-promo-item img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.06); transition: transform 5s ease-out; }
.ttb-promo-item.is-active img { transform: scale(1); }
.ttb-promo-item video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ttb-promo-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.5rem 1rem 0.875rem; color: #fff; font-size: var(--wp--preset--font-size--base); background: linear-gradient(transparent, rgba(0,0,0,.65)); text-align: left; opacity: 0; transform: translateY(10px); transition: opacity .45s ease .18s, transform .45s cubic-bezier(0.16, 1, 0.3, 1) .18s; }
.ttb-promo-item.is-active .ttb-promo-cap { opacity: 1; transform: none; }
.ttb-promo-cap--split { opacity: 1; transform: none; transition: none; padding: 2.5rem 1.25rem 1.75rem; }
.ttb-promo-cap--split .ttb-promo-cap-t { display: block; font-size: clamp(1.125rem, 0.75rem + 1.875vw, 1.5rem); line-height: 1.3; /* 2026-10-16 站长定: 标题流式——≥640px 恒 1.5rem(桌面不变), 手机随视口连续缩(390≈19px/320≈18px) */ opacity: 0; transform: translateY(18px); filter: blur(4px); transition: opacity .3s ease, transform .3s ease, filter .3s ease; }
.ttb-promo-cap--split .ttb-promo-cap-d { display: block; margin-top: 0.625rem; font-size: clamp(0.8125rem, 0.5rem + 1.25vw, 1rem); /* 描述同步流式, 同比例缩 */ line-height: 1.5; color: rgba(255,255,255,0.88); opacity: 0; transform: translateY(18px); filter: blur(4px); transition: opacity .3s ease, transform .3s ease, filter .3s ease; }
.ttb-promo-item.is-active .ttb-promo-cap--split .ttb-promo-cap-t, .ttb-promo-item.is-active .ttb-promo-cap--split .ttb-promo-cap-d {
  opacity: 1;
  transform: none;
  filter: blur(0);
  transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1), transform .65s cubic-bezier(0.22, 1, 0.36, 1), filter .65s cubic-bezier(0.22, 1, 0.36, 1);
}
.ttb-promo-item.is-active .ttb-promo-cap--split .ttb-promo-cap-t { transition-delay: .55s; }
.ttb-promo-item.is-active .ttb-promo-cap--split .ttb-promo-cap-d { transition-delay: .8s; }

@media (prefers-reduced-motion: reduce) {
  .ttb-promo-track, .ttb-promo-item img, .ttb-promo-cap, .ttb-promo-cap--split .ttb-promo-cap-t, .ttb-promo-cap--split .ttb-promo-cap-d, .ttb-promo-dots .ttb-line { transition: none; }
}
.ttb-promo-dots { position: absolute; left: 50%; right: auto; bottom: 0.75rem; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; z-index: 2; }
.ttb-promo-dots .ttb-line { appearance: none; position: relative; width: 1px; height: 2px; padding: 0; border: 0; border-radius: 9999px; background: #fff; overflow: hidden; cursor: pointer; transition: width .3s ease; }
.ttb-promo-dots .ttb-line:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ttb-promo-dots .ttb-line.is-active { width: 42px; }
.ttb-promo-dots .ttb-line-fill { position: absolute; inset: 0; border-radius: inherit; background: #fff; transform: scaleX(0); transform-origin: left center; }
.ttb-promo-rec { display: flex; flex-direction: column; gap: 0.5rem; min-width: 0; }
.ttb-promo-rec-thumb { position: relative; display: block; aspect-ratio: 2 / 1; overflow: hidden; border-radius: var(--tttheme-radius-md, 8px); background: var(--wp--preset--color--card-bg, #f0f1f3); }
.ttb-promo-rec-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ttb-promo-rec-kicker { position: absolute; top: 0.625rem; left: 0.625rem; background: var(--ttb-rec-accent, #ff5858); color: #fff; font-size: var(--wp--preset--font-size--xs); line-height: 1; padding: 0.3em 0.6em; border-radius: var(--tttheme-radius-sm, 4px); }
.ttb-promo-rec-title { font-size: var(--wp--preset--font-size--base); line-height: 1.4; color: var(--wp--preset--color--text); text-decoration: none; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-promo-rec-title:hover { color: var(--wp--preset--color--primary); }
.ttb-promo-rec-desc { font-size: var(--wp--preset--font-size--xs); line-height: 1.7; color: var(--ttb-text-desc); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-promo-rec-grid { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; gap: 1.5rem; height: 100%; min-width: 0; }
.ttb-promo-rec-item { display: block; position: relative; min-width: 0; min-height: 0; text-decoration: none; }
.ttb-promo-rec-item-thumb { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--tttheme-radius-md, 8px); background: var(--wp--preset--color--card-bg, #f0f1f3); }
.ttb-promo-rec-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ttb-promo-rec-item-thumb::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5rem; background: linear-gradient(transparent, rgba(0, 0, 0, 0.65)); pointer-events: none; }
.ttb-promo-rec-item-title { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 0 1rem 0.875rem; color: #fff; font-size: 1rem; line-height: 1.4; text-decoration: none; text-align: left; }
.ttb-promo-rec-item-title-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-promo-rec-item:hover .ttb-promo-rec-item-title { color: rgba(255,255,255,0.82); }
.ttb-promo--rec2x2 .ttb-promo-slide { aspect-ratio: auto; }
.ttb-promo--rec2x2 .ttb-promo-slide .ttb-promo-track { position: absolute; inset: 0; }
.ttb-promo--full { grid-template-columns: 1fr; }
.ttb-home-grid.wp-block-post-template.is-layout-grid { gap: var(--ttb-space-item, 1.5rem) !important; row-gap: var(--ttb-space-item, 1.5rem) !important; }
/* 桌面 4 列收归主题 CSS(2026-10-27): 前台列数原靠 WP 渲染期作用域规则(wp-container-…⇒repeat(4)),
   SSR 块的渲染期支持样式进不了编辑器画布 → 画布掉回核心兜底 1 列, 与前台样式割裂;
   特异度(0,3,0) 两端一致压过核心兜底, 响应式仍走下方 @1180/@640 的 !important 档位 */
.ttb-home-grid.wp-block-post-template.is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post .wp-block-post-featured-image { margin: -1rem -1rem 0.5rem; border-radius: 0; }
.ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post .wp-block-post-featured-image img { border-radius: 0 !important; }
.ttb-home-grid .ttb-card-meta .wp-block-post-date { color: var(--wp--preset--color--muted) !important; }
.ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) > .wp-block-post { padding: 1rem !important; }
.ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) > .wp-block-post {
  background: var(--wp--preset--color--background, #ffffff);
  box-shadow: var(--ttb-card-shadow);
  overflow: hidden;
  transition: transform var(--tttheme-transition-spring, 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)), box-shadow 0.2s ease; /* transform 必须与 box-shadow 同列: transition 是 shorthand, 此处高特异度规则会整条顶掉通用网格卡规则(887行)的 transform+box-shadow 过渡; 0.8.49 曾单写 box-shadow 令 hover 上浮失过渡变瞬间跳变(首页最新内容卡生硬回归) */
}
html.tttheme-dark .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) > .wp-block-post { background: var(--wp--preset--color--card-bg); box-shadow: var(--ttb-card-shadow); }
.ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) > .wp-block-post:hover { box-shadow: var(--ttb-card-shadow-hover); }
html.tttheme-dark .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) > .wp-block-post:hover { box-shadow: var(--ttb-card-shadow-hover); }
.ttb-home-grid .wp-block-post { min-width: 0; display: flex; flex-direction: column; }
.ttb-card-meta { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 0.625rem; font-size: var(--wp--preset--font-size--xs, 0.875rem); }
.ttb-card-meta .wp-block-post-author { flex: 0 1 auto; min-width: 0; }
.ttb-card-meta .wp-block-post-author__avatar { margin-right: 12px; }
.ttb-card-meta .wp-block-post-author__name { margin: 0; }
.ttb-card-meta .wp-block-post-date { white-space: nowrap; flex-shrink: 0; }
.ttb-item-comments-label { margin: 0 !important; font-size: inherit; color: inherit; } /* 2026-10-27 审计 Y2: 「评论」标签 wp:html→段落块, 间距走这里 */
.ttb-home-grid .wp-block-post-title { font-size: var(--wp--preset--font-size--md, 1.25rem) !important; font-weight: 500 !important; line-height: 1.4 !important; margin: 0.75rem 0 0 !important; }
.ttb-home-grid .wp-block-post-title a { color: var(--wp--preset--color--text); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-home-grid .wp-block-post-excerpt, .ttb-home-grid .wp-block-post-excerpt p { font-size: var(--wp--preset--font-size--xs, 0.875rem) !important; }
.ttb-home-grid .wp-block-post-author { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ttb-home-grid .wp-block-post-author__avatar { margin-right: 0 !important; }
.ttb-home-grid .wp-block-post-author__avatar img { width: 1.875rem; height: 1.875rem; border-radius: 50%; display: block; }
.ttb-home-grid .wp-block-post-author__name { font-size: var(--wp--preset--font-size--xs, 0.875rem) !important; color: var(--wp--preset--color--muted); }
.ttb-home-grid .wp-block-post-title a:hover { color: var(--wp--preset--color--primary) !important; }
.ttb-home-grid .wp-block-post-excerpt__text, .ttb-home-grid .wp-block-post-excerpt__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ttb-home-grid .wp-block-post-excerpt__more-link { display: none; }
.ttb-home-grid .wp-block-post-terms { font-size: 1rem !important; font-weight: 400 !important; color: var(--wp--preset--color--primary) !important; text-transform: none; letter-spacing: 0; }
.ttb-home-grid .wp-block-post-terms a { color: inherit !important; text-decoration: none; }
.ttb-home-grid .wp-block-post-date { color: var(--wp--preset--color--muted); }
@media (max-width: 1180px) { .ttb-home-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 640px) { .ttb-home-grid { grid-template-columns: repeat(2, 1fr) !important; } }
.ttb-floor-head { display: flex; align-items: center; gap: 1rem; margin: 0; font-size: 1.5rem; font-weight: 400; color: var(--wp--preset--color--text); flex: 0 0 100%; width: 100%; }
.ttb-floor-head::before, .ttb-floor-head::after { content: ''; flex: 1; height: 1px; background: var(--wp--preset--color--border, #e8e8e8); }
/* 0.9.35 删: 楼层头基础 2:1 行——各档均有后置规则全覆盖; 0.9.37 站长定: PC 楼层节奏与平板/手机统一(撤销 10-27 的 PC 40/20 2:1 口径)——头 1/1 对称、专题节 1/0、专题头 0/1, 三档同构 */
@media (min-width: 1100px) { .ttb-home > .ttb-floor-head { margin-top: 1rem; margin-bottom: 1rem; } .ttb-home .ttb-home-grid, .ttb-home .ttb-hot-grid { margin-top: 0 !important; margin-bottom: 0 !important; } .ttb-home .ttb-floor-topics { margin-top: 1rem !important; margin-bottom: 0 !important; } .ttb-home .ttb-floor-topics .ttb-floor-head { margin-top: 0; margin-bottom: 1rem; } }
@media (min-width: 641px) and (max-width: 1099px) { .ttb-home > .ttb-floor-head { margin-top: 1rem; margin-bottom: 1rem; } .ttb-home .ttb-home-grid, .ttb-home .ttb-hot-grid { margin-top: 0 !important; margin-bottom: 0 !important; } .ttb-home .ttb-floor-topics { margin-top: 1rem !important; margin-bottom: 0 !important; } .ttb-home .ttb-floor-topics .ttb-floor-head { margin-top: 0; margin-bottom: 1rem; } .ttb-home .ttb-hot-card > .ttb-hot-text { padding: 14px !important; } .ttb-home .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) > .wp-block-post { padding: 14px !important; } .ttb-home .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post-featured-image { margin-top: -14px !important; margin-left: -14px !important; margin-right: -14px !important; } .ttb-home .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post-featured-image { margin-bottom: 0.875rem !important; } } /* 0.9.34 pad 同步手机 0.9.30 口径(站长定 2026-11-03): 楼层头顶底 1rem(原 32/16 偏散)+专题头距本楼 1+热点/最新卡标题四边内距 14+图出血(原 pad 旧距); 0.9.45 撤其中「标题 margin:0」——平板分类仍在显示, 贴死标题(站长报 2026-11-04), 撤后回落 L2079 PC 口径 margin-top 0.75rem */
.ttb-blogroll { display: flex; flex-wrap: wrap; align-items: center; margin-top: 1rem; } /* 0.9.38 站长定: 距顶对齐楼层标题统一口径 1rem(原 var(--ttb-space-block)=PC 2.5rem 节距残留, 与其他楼层标题不一致); 2026-10-27 gap/padding-bottom 删除维持; 0.9.39 站长定: 标题距底 1rem 撤销(贴链接行), 使用范围仅首页友链层 */
.ttb-blogroll a { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); text-decoration: none; }
.ttb-blogroll a:hover { color: var(--wp--preset--color--primary); }
@media (max-width: 980px) { .ttb-promo { grid-template-columns: 1fr; } }
@media (max-width: 782px) {
  /* 2026-10-16 站长报 640-782 band 两侧白边：固定 --ttb-band-inset 与 main fluid padding 失配，改用与 >782 档一致的自适应公式（margin 恒=-padding） */
  main.ttb-home > .ttb-promo-band {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  .wp-site-blocks .alignfull { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: 100% !important; } /* 0.9.35 删: 同块 post-terms a padding 3px 死声明(后置 ≤782 档 4px 覆盖) */
  /* 0.9.35 修: 选择器提级至与 L1315 同构((0,6,1))——原 (0,1,1) 被压死, 评论输入实为 14px, iPhone 聚焦必触发 Safari 自动放大 */
  :is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
  :is(.ttb-article, .ttb-readers-comments) .ttb-comments .wp-block-post-comments-form textarea,
  .wp-block-search__input { font-size: 16px; }
  .ttb-hot-tab { padding: 8px 8px; }
  .ttb-rand-more { padding: 4px 0; }
  .ttb-footer-bar { flex-wrap: wrap; white-space: normal; overflow-x: visible; row-gap: 0.25rem; }
  .ttb-footer-bar a { padding: 3px 0; }
  .wp-block-post-navigation-link a, .ttb-promo-rec-title { padding: 3px 0; }
}
@media (max-width: 782px) { .wp-block-post-terms a { padding: 4px 0; } }

@media (max-width: 640px) {
  .ttb-promo:has(> .ttb-promo-slide) .ttb-promo-rec-grid, .ttb-promo:has(> .ttb-promo-slide) .ttb-promo-rec { display: none; }
  .ttb-promo--rec2x2 .ttb-promo-slide { aspect-ratio: 2 / 1; }
  .ttb-promo-cap--split .ttb-promo-cap-d { display: none; }
  .ttb-hot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; row-gap: 1rem; } /* 2026-10-16 站长定：热点手机 3 行 2 列 */
  .ttb-hot-grid .ttb-hot-desc { display: none; }
  /* 2026-10-16 站长二轮：字号/间距相应变小 */
  .ttb-hot-card .ttb-hot-title { font-size: var(--wp--preset--font-size--sm, 1rem); }
  /* 2026-10-16 站长报 bug 已修：卡 padding 0.75rem 一条已删（图 12px 缩进而文字贴边不齐），回归既有 .ttb-row-card 1rem，图/字左缘对齐 */
  .ttb-floor-topics .ttb-topic-card:nth-child(n+4) { display: none; }
  .ttb-floor-topics .ttb-topic-card-desc { display: none; }
  .ttb-home-grid .wp-block-post-excerpt { display: none; }
  /* 2026-10-16 站长定：最新内容小屏——隐藏分类, 只留图+标题, 标题字号相应变小 */
  .ttb-home-grid .wp-block-post-terms { display: none; }
  .ttb-home-grid .wp-block-post-title { font-size: var(--wp--preset--font-size--sm, 1rem) !important; }
}

@media (max-width: 1099px) {
  .ttb-side-col { display: none; }
  .ttb-row-card > .wp-block-post-featured-image, .ttb-hot-card > .ttb-hot-thumb { flex-basis: 17.5rem; width: 17.5rem; }
  .ttb-article .wp-block-columns > .wp-block-column:first-child { max-width: 720px; margin-inline: auto; }
}

@media (max-width: 782px) {
  .ttb-item-meta.ttb-item-meta, .ttb-card-meta.ttb-card-meta, .ttb-hot-card .ttb-hot-meta { display: none; }
  .ttb-row-card > .wp-block-post-featured-image { flex-basis: 13.75rem; width: 13.75rem; }
  .ttb-list-page .wp-block-post-title { font-size: var(--wp--preset--font-size--md, 1.25rem) !important; }
}

@media (max-width: 640px) {
  .wp-block-post-excerpt { display: none; }
  .ttb-row-card > .wp-block-post-featured-image { flex-basis: auto; width: 100%; }
  .ttb-row-card { padding: 1rem; }
  .ttb-list-page .wp-block-post-title { font-size: var(--wp--preset--font-size--base, 1.125rem) !important; }
}
@media (max-width: 479px) { .ttb-home-grid .wp-block-post-title { font-size: 1rem !important; } }

/* ═══ 设置开关接线新增部件 (站长定 2026-09-30, 0.8.69) ═══ */

/* 文章页 meta 行的分类项 */

/* 列表行 meta 内的分类/标签项(容器已有 flex+gap, 归零块默认 margin) */
.ttb-item-meta .ttb-item-cat, .ttb-item-meta .ttb-item-tag { margin: 0; }
.ttb-item-meta .ttb-item-cat a, .ttb-item-meta .ttb-item-tag a {
  color: var(--wp--preset--color--muted); text-decoration: none;
}
.ttb-item-meta .ttb-item-cat a:hover, .ttb-item-meta .ttb-item-tag a:hover { color: var(--wp--preset--color--primary); }

/* 版权声明块(0.8.82 站长定: 自独立灰块并入作者灰块底部——声明行写死, 名称/链接自动取, 不再带头像昵称) */
.ttb-post-copyright {
  margin-top: 1rem; padding-top: 1rem;
  border-top: 1px solid var(--wp--preset--color--border, #e8e8e8);
  color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--2xs, 0.75rem); line-height: 1.8;
}
.ttb-post-copyright p { margin: 0; }
.ttb-post-copyright a { color: inherit; text-decoration: none; word-break: break-all; }
.ttb-post-copyright a:hover { color: var(--wp--preset--color--primary); text-decoration: underline; }
/* 作者行关闭只剩版权时, 顶部分隔线一并去掉 */
.ttb-author-card .ttb-post-copyright:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

/* 404 / 无数据 配图 */
.ttb-404-img, .ttb-nodata-img { margin: 0 0 1.5rem; text-align: center; }
.ttb-404-img img, .ttb-nodata-img img { max-width: 280px; width: 100%; height: auto; margin-inline: auto; display: block; }

/* ═══ 2026-10-16 站长定：平板档（641-1099，830 典型）响应式 ═══
   banner 独占（隐藏右侧 4 推荐位）；热点改手机版那种上图下文结构只留标题、3 列 2 行；
   最新内容 4 列内联布局在平板档挤爆(bug) → 2 列。独立区间块：与 ≤640 手机档互斥，
   避免源序盖掉手机热点 2 列。 */
@media (min-width: 641px) and (max-width: 1099px) {
  .ttb-promo--rec2x2 .ttb-promo-rec-grid { display: none; }
  .ttb-promo--rec2x2 { grid-template-columns: minmax(0, 1fr); }
  /* 2026-10-16 站长报「平板 banner 不显示」：rec 隐藏后 slide 失去拉伸基准且 2048 行 aspect:auto 仍在 → 高度塌 0，此处复原比例 */
  .ttb-promo--rec2x2 .ttb-promo-slide { aspect-ratio: 2 / 1; }
  .ttb-hot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ttb-hot-card { flex-direction: column; gap: 0; }
  .ttb-hot-card > .ttb-hot-thumb { flex: 0 0 auto; width: 100%; }
  .ttb-hot-card > .ttb-hot-text { padding: 0.875rem 1rem 1rem; }
  .ttb-hot-card .ttb-hot-title { font-size: var(--wp--preset--font-size--base, 1.125rem); }
  .ttb-hot-card .ttb-hot-desc, .ttb-hot-card .ttb-hot-meta { display: none; }
  .ttb-home-grid.wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ═══ 2026-10-16 站长二轮（手机档收尾，源序必须压过 2141/2147 既有块，故挂文件尾） ═══
   最新内容：标题 0.875rem+去顶距（分类隐藏后图与标题间距收紧）；featured-image 解除 @479
   width:100% 钉死（负 margin 只剩左半生效=图右侧 16px 白边「没铺满」）恢复负 margin 全出血；
   卡片 padding 与 gap 相应收紧。 */
@media (max-width: 640px) {
  .ttb-home-grid .wp-block-post-title { font-size: var(--wp--preset--font-size--xs, 0.875rem) !important; margin-top: 0 !important; }
  .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post-featured-image { width: auto !important; margin: -0.75rem -0.75rem 0.375rem !important; } /* 负margin与卡padding(0.75rem)对齐全出血; !important: 既有@640/@479多条featured-image margin/width规则同特异性散布, 用权重一锤定音 */
  .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) > .wp-block-post { padding: 0.75rem !important; }
  .ttb-home-grid.wp-block-post-template.is-layout-grid { gap: 1rem !important; row-gap: 1rem !important; }
}

/* ═══ 0.9.8 移动端楼层节奏统一（2026-10-17 站长定：手机版楼层间距太大且不一致、字号偏大；挂文件尾压过既有移动块） ═══
   楼层顶距（热点/最新/友链 .ttb-home>.ttb-floor-head）与专题楼层上下距（.ttb-floor-topics）本就同源
   --ttb-space-block，此处改一处三处齐动=天然统一；卡间距 --ttb-space-item 同步收一档
   （热点网格 ≤640 有显式 1rem 不受影响，641-782 平板带 1.5→1.25rem）。
   阶梯：间距 40px → 24px(≤782) → 18px(≤479)；楼层头字号 24px → 20px(≤782) → 18px(≤479)。 */
@media (max-width: 782px) {
  :root { --ttb-space-item: 1.25rem; } /* 0.9.35: block 1.5rem 死声明删(后置 0.9.9 收一档 1.25rem 覆盖), item 无后置 competitor 保留 */
  .ttb-floor-head { font-size: 1.25rem; }
}
@media (max-width: 479px) {
  :root { --ttb-space-item: 1rem; } /* 同上(1.125rem 死, 后置 1rem) */
  .ttb-floor-head { font-size: 1.125rem; }
}

/* ═══ 0.9.9 移动端专题楼层节奏（2026-10-17 站长定：小屏专题头离图太近+楼层上下距仍偏大+手机间距再紧凑；挂文件尾压过 0.9.8 既有块） ═══ */
@media (max-width: 640px) {
  .ttb-floor-head { margin-bottom: 0.75rem; } /* 楼层头→内容统一呼吸位(热点/专题头下此前零间距, 专题大图贴头最明显; 0.9.36 floor-sub 已整案删除) */
  .ttb-floor-topics .ttb-topic-dir { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; } /* 专题与热点/最新同走2列紧凑栅格(原1列大横幅) */
  .ttb-floor-topics .ttb-topic-card-name { font-size: 1rem; }
  .ttb-floor-topics .ttb-topic-card-in { padding: 0.625rem 0.75rem; gap: 0.125rem; }
}
@media (max-width: 782px) { :root { --ttb-space-block: 1.25rem; } } /* 楼层上下距再收一档: 0.9.8 的 1.5rem→1.25rem */
@media (max-width: 479px) { :root { --ttb-space-block: 1rem; } }    /* 1.125rem→1rem */

/* ═══ 0.9.10 手机版专题 2 列显 4 张修复（2026-10-17 站长定：2列就该2×2；挂文件尾解除早期 n+4 隐藏） ═══ */
@media (max-width: 640px) {
  .ttb-floor-topics .ttb-topic-card:nth-child(n+5) { display: none; } /* 重申第5张起仍藏——必须排在恢复规则之后, 否则6张全出 */
}


/* ═══ 0.9.14 iPhone16 真机修复（2026-10-27 站长真机反馈；WebKit≈iOS Safari 验证，挂文件尾压旧块） ═══
   ①② 轮播塌 0 见 .ttb-promo-slide 基础行内注释（轮播塌 0 = 热点标题上方大空白的同根源）；
   ③ 专题 1 列 4 张（站长改口：2 列高度太窄，10-17 的 2×2 口径废止）；
   ④ 最新内容图→标题 6px→16px（至少与两侧距离一致，对照热点 40px 收敛）；
   ⑤ 友链行上下间距收紧（marT 16→8、padB 16→0，下方留页面级 32px 底距）。 */
@media (max-width: 640px) {
  .ttb-floor-topics .ttb-topic-dir { grid-template-columns: 1fr; gap: 0.75rem; } /* ③ 1列×4张, 压过 0.9.9 的 2 列(同特异度后到胜) */
  .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post-featured-image { margin-bottom: 1rem !important; } /* ④ 压过 0.9.8 尾块 0.375rem !important */
  /* 0.9.38 删: 同块 blogroll mt 0.5rem 死声明(⑨ 手机隐藏整层) */
  .ttb-hot-card { gap: 0; } /* ⑥ 站长追修 2026-10-27: 热点卡图→标题 40px(列隙24+文字上边距16)太大, 归零列隙后=文字上边距16px, 与最新内容卡(16px)一致; 平板档(641-1099)自有 14px 不受影响 */
  .ttb-home-grid .wp-block-post-title { font-size: var(--wp--preset--font-size--sm, 1rem) !important; } /* ⑦ 站长定 2026-10-27: 最新内容卡标题对齐热点 15px(0.9.8 尾块 0.875rem 压过 10-16 的 0.9375rem 口径所致); 同特异度后到胜; 平板/桌面不动 */
  .ttb-home .ttb-blogroll { display: none; } /* ⑨ 站长定 2026-10-27: 手机版首页友情链接隐藏 */
  .ttb-article figure.wp-block-image { margin-top: 1rem; margin-bottom: 1rem; } /* ⑩ 站长报图片上下 28px 太大→16px(gutter 口径); margin-block 收紧, 左右对齐变体的水平 margin 不碰 */
  .ttb-article .ttb-comments { margin-top: 1.5rem !important; padding-bottom: 1.5rem !important; } /* ⑪ 站长报点赞下方 48px/评论底部 64px 留白太大→各 24px; 模板行内 style 属性(margin-top:3rem/padding-bottom:4rem)必须 !important 压过; 文章容器页级 pb 32px 不动 */
  .ttb-rel-bottom { margin-top: 1.5rem; } /* ⑫ 相关推荐楼距随手机节奏(2.5rem→24px), 与评论底距同档 */
}

/* ── 2026-10-27 灰底改版: 文章/页面正文升白卡(站长拍板), 同 ttb-topic-main 先例语言 ── */
/* 2026-10-27 站长定: 内容页去整幅白框, 改左右结构(左列白卡 r16+右栏同其他页); 上下距=page-gap */
main.ttb-article {
  max-width: min(calc(var(--ttb-site-width, 1440px) + 3rem), calc(100% - 1.5rem));
  margin-inline: auto;
  padding-top: var(--ttb-page-gap, 1.5rem);
}
.ttb-article-col {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px); /* 2026-10-27 站长定: 圆角按平级对比=边栏块 8, 不按容器大小 */
  padding: 2.5rem;
  box-sizing: border-box;
}
@media (max-width: 640px) { .ttb-article-col { padding: 1.25rem; } }
html.tttheme-dark .ttb-article-col { background: var(--wp--preset--color--card-bg, #1a1a1a); }
/* 0.9.35 暗色文章列子灰块修复(灰底改版: 列底=card-bg 后, 列内原 card-bg 子面同色隐形): 子灰面统一提亮 白6%(手法同 L1152/L1755 先例) */
html.tttheme-dark .ttb-article .ttb-excerpt,
html.tttheme-dark .ttb-article .ttb-prose th,
html.tttheme-dark .ttb-article .ttb-like-btn .ttb-like-icon,
html.tttheme-dark .ttb-att-file,
html.tttheme-dark .ttb-article .ttb-author-card { background: rgba(255, 255, 255, 0.06); }
html.tttheme-dark .ttb-article .ttb-author-card { background: rgba(255, 255, 255, 0.06) !important; } /* 基础层 !important 接管块 inline bg, 暗色侧同以 !important 反制 */
@media (max-width: 1099px) { /* 版权块灰底仅 ≤1099 档(0.9.31 ⑦), 暗色覆盖同档限定防 PC 侧凭空加底 */
  html.tttheme-dark .ttb-post-copyright { background: rgba(255, 255, 255, 0.06); }
}
/* 简讯(flash 列表页): 保留白色框但去边框, 宽度=site_width 口径, 上下距同 page-gap */
main.ttb-article.ttb-flash-page {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px) /* 2026-10-27 站长定: 单页无边栏白底盒统一 r8(16 偏大) */;
  max-width: var(--ttb-site-width, 1440px); /* 2026-10-27 站长定: 块+内边距=设定宽 */
  margin: var(--ttb-page-gap, 1.5rem) auto; /* 上下灰缝到 header/footer, 不再贴边 */
  padding-inline: 1.5rem;
}
html.tttheme-dark main.ttb-article.ttb-flash-page { background: var(--wp--preset--color--card-bg, #1a1a1a); }
@media (max-width: 640px) { .ttb-flash-dlabel { display: none; } /* 站长定: 手机去左侧日期星期列 */ }

/* ── 2026-10-27 灰底改版·边栏白卡(站长定): 边栏每一块白卡, 圆角/边框与左侧文章卡一致; 广告位与专题不包裹 ── */
.ttb-sidebar > * {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px); /* 2026-10-27 站长定: 去边框, 圆角回落标准档 8px(16 太大) */
  padding: 1.25rem;
  box-sizing: border-box;
}
.ttb-sidebar > .ttb-ad-sidebar,
.ttb-sidebar > .ttb-side-topic-mod,
.ttb-sidebar > [class*="topic"] { background: none; border: none; padding: 0; } /* 广告位/专题不包裹(专题在 parts/sidebar.html 被 ttb-side-topic-mod 组包裹) */
html.tttheme-dark .ttb-sidebar > * { background: var(--wp--preset--color--card-bg, #1a1a1a); }
html.tttheme-dark .ttb-sidebar > .ttb-ad-sidebar,
html.tttheme-dark .ttb-sidebar > .ttb-side-topic-mod,
html.tttheme-dark .ttb-sidebar > [class*="topic"] { background: none; }

/* ── 2026-10-27 站长定: 工具竖排卡复用首页最新内容样式——meta 左(头像昵称日期)右(点赞)钉卡底 ── */
.ttb-meta-split { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: auto; font-size: var(--wp--preset--font-size--xs, 0.875rem); } /* 2026-10-27 站长报: 字面div丢了旧包装组的xs字号, 点赞18px→14px 对标改前 */
.ttb-meta-left { display: flex; align-items: center; gap: 1rem; min-width: 0; }
main.ttb-list-page .ttb-home-grid > .wp-block-post > .ttb-item-meta.ttb-meta-split > .ttb-item-actions { display: none !important; } /* 0.9.52 站长定: 工具页全端不要点赞(大屏只要头像+昵称+日期; 手机只留日期同此) */
@media (min-width: 641px) { .ttb-list-page .ttb-home-grid.wp-block-post-template.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } } /* 工具竖排页带 360 边栏取 3 列(压 L2063 首页 4 列); ≤640 随首页手机档 */
.ttb-list-page .ttb-home-grid { max-width: none; } /* 列表页容器自宽, 不吃首页楼宽 */

/* ── 2026-10-27 站长定: 慢生活/数码(通用归档 ttb-archive)行卡包白卡——圆角/间距与其他栏目一致, 行内个性化排版保留 ── */
.ttb-archive .ttb-row-card {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px);
  padding: 1rem;
  box-sizing: border-box;
}
html.tttheme-dark .ttb-archive .ttb-row-card { background: var(--wp--preset--color--card-bg, #1a1a1a); }
/* 2026-10-27 站长定(二轮): 慢生活类默认归档流=整个列表一块白卡+行间灰线分隔;
   数码(list-article 横排, 行内自带 ttb-row-card 白卡)用 :has 排除, 不叠加 */
body.archive .ttb-list-page .wp-block-post-template.is-layout-flow:not(.ttb-home-grid):not(:has(> .wp-block-post > .ttb-row-card)) {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px);
  padding: 1.5rem; /* 2026-10-27 站长定: 面卡四边内距 1.5rem(与数码行卡一致) */
  box-sizing: border-box;
}
body.archive .ttb-list-page .wp-block-post-template.is-layout-flow:not(.ttb-home-grid):not(:has(> .wp-block-post > .ttb-row-card)) > .wp-block-post:first-child > .wp-block-group { padding-top: 0; }
body.archive .ttb-list-page .wp-block-post-template.is-layout-flow:not(.ttb-home-grid):not(:has(> .wp-block-post > .ttb-row-card)) > .wp-block-post:last-child > .wp-block-group { padding-bottom: 0; }
body.archive .ttb-list-page .wp-block-post-template.is-layout-flow:not(.ttb-home-grid):not(:has(> .wp-block-post > .ttb-row-card)) > .wp-block-post + .wp-block-post { border-top: 1px solid var(--wp--preset--color--border, #e8e8e8); }
html.tttheme-dark body.archive .ttb-list-page .wp-block-post-template.is-layout-flow:not(.ttb-home-grid):not(:has(> .wp-block-post > .ttb-row-card)) { background: var(--wp--preset--color--card-bg, #1a1a1a); }
html.tttheme-dark body.archive .ttb-list-page .wp-block-post-template.is-layout-flow:not(.ttb-home-grid):not(:has(> .wp-block-post > .ttb-row-card)) > .wp-block-post + .wp-block-post { border-top-color: var(--wp--preset--color--border, #2a2a2a); }

/* ── 2026-10-27 站长定: 混排行(慢生活)布局入样式表——行组内距 1.5rem, 禁内联 ── */
.ttb-feed-row-body { padding: 1.5rem 0; }
/* 工具竖排卡(复用 home-grid)摘要间距收编样式表; 标题间距由 L2085(0.75rem !important)主导=首页实际口径, 不另立 */
.ttb-home-grid .wp-block-post-excerpt { margin: 0.375rem 0 0; } /* 2026-10-27 站长令: 内联 margin 入样式表(标题间距 L2085 主导, 不另立) */

/* ── 2026-10-27 站长定: 头部图标间距随宽度分档收缩 24→18→12 ── */
@media (max-width: 1099px) { .ttb-hd-actions { gap: 16px; } } /* 2026-10-27 站长定: 平板 16 (PC24/平板16/手机12) */
/* 0.9.35 删: ≤640 hd-actions gap:12px 死声明(后置站长二调 gap:8px 同特异性覆盖) */


/* ── 2026-10-27 站长令: 评论区组间距入样式表(原内联 margin-top:3rem/padding-bottom:4rem) ── */
.ttb-comments { margin-top: 3rem; } /* 2026-10-27 站长定: 底部 4rem 撤销(空太多); 顶距在 flex/gap 容器里被列距接管故无感, 保留无害 */

/* ── 2026-10-27 站长定: 归档/标签/关于/访客 四页布局对齐批次 ── */
.ttb-arch-shell { padding-bottom: 3rem; } /* 原模板内联, 入样式表 */
/* 标签页: 盒体按简讯口径(宽=设定宽含内距, 上下灰缝 page-gap, 去 -4gutter 拉升) */
body.tag main.ttb-topic-main {
  margin: var(--ttb-page-gap, 1.5rem) auto;
  max-width: var(--ttb-site-width, 1440px);
}
/* 关于: 左右两栏分别白卡包裹(圆角平级=8), 列距 gutter */
main.ttb-about-page {
  max-width: min(calc(var(--ttb-site-width, 1440px) + 3rem), calc(100% - 1.5rem));
  margin: var(--ttb-page-gap, 1.5rem) auto;
  padding-top: 0; /* 2026-10-27 站长定: 顶距=左右中缝=gutter 单层, 不与基础 padding 叠加 */
}
.ttb-about-cols { gap: 1.5rem; }
.ttb-about-toc {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px);
  padding: 1.5rem;
}
html.tttheme-dark .ttb-about-toc { background: var(--wp--preset--color--card-bg, #1a1a1a); }
.ttb-about-content {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px);
}
html.tttheme-dark .ttb-about-content { background: var(--wp--preset--color--card-bg, #1a1a1a); }
/* 访客顶栏块距: 1rem 基准(2026-10-27 站长二调), 随宽度收缩; 下距 2rem→1rem */
.ttb-readers-top { gap: 1rem; margin-bottom: 1rem; }
@media (max-width: 1099px) { .ttb-readers-top { gap: 0.875rem; } }
@media (max-width: 640px) { .ttb-readers-top { gap: 0.75rem; } }
/* 访客评论: 白卡包裹 wp-block-comments(2026-10-27 站长定), 宽度随内容自适应;
   内距 1.5rem=卡配方档(16-24 带内, 与边栏壳/面卡同档系) */
.ttb-readers-page .wp-block-comments {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px);
  padding: 1.5rem;
  box-sizing: border-box;
}
html.tttheme-dark .ttb-readers-page .wp-block-comments { background: var(--wp--preset--color--card-bg, #1a1a1a); }

/* ── 2026-10-27 站长令: 标签列表页白框(复用简讯白盒类), 行组间距入样式表 ── */
.ttb-tags-body { margin-top: 2rem; } /* 原模板内联 */

/* ── 2026-10-27 站长定: 面板内当前项 hover 恒为主色字(白字残留清除; 顶栏实底胶囊 hover 白字不受影响) ── */
html .ttb-hd-nav .wp-block-navigation__submenu-container .current-menu-item .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary) !important; }

/* ── 2026-10-27 站长令: 标签页紧凑化(白盒内) ── */
/* 头部标签白框距下面列表 1px(含列表自身 margin-top 一并收掉)——站长确认仅左侧 */
body.tag .ttb-arch-tag { margin-bottom: 12px; } /* 2026-10-27 站长二调: 1→12 */
body.tag .wp-block-post-template { margin-block-start: 1px !important; } /* tag 双模板(list-page/topic-main)通用 */

/* ── 2026-10-27 站长定: 归档/列表源内容页分左右栏白卡(站长纠正: 不是整块白)——只改样式不改结构 ── */
main.ttb-list-page:has(.ttb-prose) {
  max-width: min(calc(var(--ttb-site-width, 1440px) + 3rem), calc(100% - 1.5rem));
  margin: var(--ttb-page-gap, 1.5rem) auto;
  padding-top: 0;
}
/* 左内容列 = 白卡(与 .ttb-article-col 同值); 右边栏沿用 .ttb-sidebar 块卡体系 */
main.ttb-list-page:has(.ttb-prose) .wp-block-columns > .wp-block-column:not(.ttb-side-col) {
  background: var(--wp--preset--color--background, #fff);
  border-radius: var(--tttheme-radius, 8px);
  padding: 2.5rem;
  box-sizing: border-box;
  align-self: flex-start; /* 2026-10-27 站长定: 卡随内容高, 不被右栏拉伸(底部空白 372→pad 40) */
}
/* 列距收 gutter(原 40); 卡内嵌 .ttb-article 组的 pad-top 收掉(内容距顶 64→40=与 1068 同) */
main.ttb-list-page:has(.ttb-prose) .wp-block-columns { gap: var(--ttb-gutter, 1.5rem) !important; }
main.ttb-list-page:has(.ttb-prose) .wp-block-columns .ttb-article { padding-top: 0; }
html.tttheme-dark main.ttb-list-page:has(.ttb-prose) .wp-block-columns > .wp-block-column:not(.ttb-side-col) { background: var(--wp--preset--color--card-bg, #1a1a1a); }
@media (max-width: 640px) { main.ttb-list-page:has(.ttb-prose) .wp-block-columns > .wp-block-column:not(.ttb-side-col) { padding: 1.25rem; } }

/* ── 2026-10-27 站长定: 暗色首页(幽灵头)未选中菜单项灰蓝→白 ── */
html.tttheme-dark .ttb-hd-ghost .ttb-hd-nav .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #ffffff; }

/* ── 2026-10-27 站长定: 暗色专题卡去边框 + 首页推荐位 PC 上间距 ── */
html.tttheme-dark .ttb-topic-card { border: none; } /* 暗色模式专题卡边框去除 */

/* ── 2026-10-27 站长定: 手机抽屉当前项主色字——ghost 同构规则压 L498(特异性平手后置赢) ── */
@media (max-width: 782px) {
  html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav.ttb-nav-open .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary) !important; }
}

/* ── 2026-10-27 站长定: 手机行卡保留左图右文——图列定宽补强(!important 压 WP 布局 auto) ── */
@media (max-width: 640px) {
  .ttb-row-card > .wp-block-post-featured-image { flex: 0 0 118px !important; width: 118px !important; }
}

/* ── 2026-10-27 站长定: 手机抽屉当前项主色字——ghost 同构规则压 L498(特异性平手后置赢) ── */
@media (max-width: 782px) {
  html:not(.tttheme-dark) .ttb-hd-ghost .ttb-hd-nav.ttb-nav-open .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary) !important; }
}

/* ── 2026-10-27 站长定: 正文连续图片块分组(运行时包裹)——PC display:contents 排版不变; 手机按组内张数奇偶 ── */
.ttb-img-flow { display: contents; }
@media (max-width: 640px) {
  .ttb-img-flow { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
  .ttb-img-flow figure.wp-block-image { width: calc(50% - 4px) !important; margin: 0 !important; }
  .ttb-img-flow figure.wp-block-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
  .ttb-img-flow.ttb-flow-odd figure.wp-block-image:first-child { width: 100% !important; }
}

/* ═══ 2026-10-27 站长定: 手机首页专题 3 个 ═══ */
@media (max-width: 640px) {
  .ttb-floor-topics .ttb-topic-dir { grid-template-columns: 1fr; } /* 专题 2 列改 1 列大横幅 */
  .ttb-floor-topics .ttb-topic-card:nth-child(n+4) { display: flex; } /* 解除 0.9.10 的 n+4 隐藏(必须先于下一条) */
  .ttb-floor-topics .ttb-topic-card:nth-child(n+4) { display: none; } /* 数量 4→3(站长定) */
}

/* ═══ 2026-10-27 站长二调: 热点改回上图下标题(同 pad 版), 手机 2 列×3 行 6 条 ═══ */
@media (max-width: 640px) {
  .ttb-home .ttb-hot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ttb-home .ttb-hot-card { flex-direction: column; gap: 0; }
  .ttb-home .ttb-hot-card > .ttb-hot-thumb { flex: none !important; width: 100% !important; } /* !important: 压过行卡图列 118px !important(hot-card 兼有 ttb-row-card 类被误中) */
}

/* ── 2026-10-27 站长定: 手机抽屉条目终态(0.9.35 由 chips 历史层收拢——容器/滚动/弹层已由尾部权威块接管, 此处仅条目内联样式) ── */
@media (max-width: 782px) {
  .ttb-site-header .ttb-hd-nav.ttb-nav-open .wp-block-navigation-item__content {
    display: inline-flex; align-items: center; gap: 0.375rem;
    margin: 0; padding: 0.5rem 0.75rem !important; border-radius: 999px;
    background: none;
    font-size: 0.875rem; line-height: 1.4;
  }
  html .ttb-site-header .ttb-hd-nav.ttb-nav-open .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary) !important; } /* 选中项主色字(底色由 0.9.16 ①去色) */
}
/* ═══ 2026-10-27 站长定: 手机版一批调整(热点间距/4条、内容卡贴边、列表卡距、footer 收) ═══ */
@media (max-width: 640px) {
  /* ① 热点楼层: -0.5rem 死声明删(0.9.16 ③ margin-bottom:0 !important 覆盖) */
  /* ③ 内容页主卡: 圆角 0、左右 0、上下 4px(padding 归零后 margin-block 4 独管上下) */
  main.ttb-article,
  main.ttb-list-page:has(.ttb-prose) { margin: 4px 0; max-width: 100%; padding: 0; }
  .ttb-article-col,
  main.ttb-list-page:has(.ttb-prose) .wp-block-columns > .wp-block-column:not(.ttb-side-col) { border-radius: 0; }
  /* ④ 数码评测列表: 卡间距与左右一致(gutter); 图文间距 = 图上下左 pad(16)
     (is-layout-flow 布局卡距走子项 margin-block-start 不吃 gap, 1px 即其现值) */
  main.ttb-list-page .wp-block-post-template.is-layout-grid > * + * { margin-block-start: 0 !important; }
  main.ttb-list-page .wp-block-post-template:not(.is-layout-grid) > * + * { margin-block-start: 1px !important; } /* 站长二调: 数码列表卡距回 1px 与 PC 一致(grid 型走 gap) */
  main.ttb-list-page .ttb-row-card { gap: 1rem !important; }
  /* ⑤ footer 上下内距收一点(36→24); footer.wp-block-group(theme.json 生成)带 !important (0,1,1),
     同特异性提级 + 文件尾后到胜 */
  footer.ttb-site-footer { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
}

/* ═══ 2026-10-27 站长报: 工具页首卡高度异常 ═══
   根因: WP 布局把 grid 行均分(实测全行 194.53px), 卡内 featured-image aspect 未钉(imgRatio auto),
   某行图更高 → 全表行被拉齐 → 内容矮的卡被 stretch 出 16px 底部空洞。
   修: 缩略图统一 3/2(全端, 卡片缩略图标准比), 行高恢复内容一致。 */
.ttb-home-grid .wp-block-post-featured-image { aspect-ratio: 3 / 2; overflow: hidden; }
.ttb-home-grid .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }

/* 站长定: 工具页卡头像+昵称+日期移到标题下(手机; 摘要仍在其后) */
@media (max-width: 640px) {
  main.ttb-list-page .ttb-home-grid > .wp-block-post > .ttb-item-meta.ttb-meta-split { display: flex; order: 2; margin-top: 4px; }
  main.ttb-list-page .ttb-home-grid > .wp-block-post > .wp-block-post-excerpt { order: 3; }
  main.ttb-list-page .ttb-home-grid > .wp-block-post > .ttb-item-meta.ttb-meta-split .wp-block-post-author { display: none !important; } /* 0.9.52 站长定: 手机只保留日期 */
}

/* 站长报: 工具页第一卡与同行卡不等高——同行卡被 end 对齐未拉伸; stretch 钉齐(≤640) */
@media (max-width: 640px) {
  main.ttb-list-page .ttb-home-grid > .wp-block-post { align-self: stretch !important; margin-top: 0 !important; } /* 实测 post-878 独有 margin-top:16px 压矮自身盒 16px(其余卡 0); 卡距由 grid gap 管 */
}

/* ═══ 2026-10-27 站长定: 首页楼层 上远下近 ═══ */
@media (max-width: 640px) {
  .ttb-home > .ttb-floor-head { margin-top: 1rem !important; margin-bottom: 1rem; } /* 0.9.30 站长定: 距上距下都 1(原 24/12 偏散) */
  .ttb-home .ttb-hot-grid { margin-top: 0; }
  .ttb-home .ttb-floor-topics { margin-bottom: 0; } /* 0.9.35: 原 mt 1rem 与 0.9.16 ③ 重复删; 本条 mb 为 ≤640 唯一来源(专题楼底贴最新楼层头) */
  .ttb-home .ttb-floor-topics .ttb-floor-head { margin-top: 0; margin-bottom: 1rem; } /* 0.9.30 站长定: 专题头距本楼也 1(原 8) */
  .ttb-home .ttb-home-grid { margin-top: 0; margin-bottom: 0.5rem; } /* 距底=距上 24 对齐(站长三调) */

  /* ② 热点/最新内容 标题四边间距一致加大(14): inline 块设置(图mb16/标题-2)由样式表接管 */
  .ttb-home .ttb-hot-card > .ttb-hot-text { padding: 14px !important; }
  .ttb-home .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) > .wp-block-post { padding: 14px !important; } /* 同构提级: 0.9.8 批 (0,5,0) !imp 压 (0,3,0) */
  .ttb-home .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post-featured-image { margin-top: -14px !important; margin-left: -14px !important; margin-right: -14px !important; } /* 负margin与pad14同步=图全出血(白边+顶圆角修复, 站长报) */
  .ttb-home .ttb-home-grid.wp-block-post-template.is-layout-grid:not(.ttb-card-grid) .wp-block-post-featured-image { margin-bottom: 0.875rem !important; } /* 同构提级压 0.9.14 ④ 1rem */
  .ttb-home .ttb-home-grid .wp-block-post-title { margin: 0 !important; } /* 撤 0.9.14 的 -2/-4 负距 */
}

@media (max-width: 640px) { .ttb-hd-actions { gap: 8px; } } /* 站长二调: 手机 12 仍大→8 (PC24/平板16/手机8) */

/* ④ 「更多」箭头(0.9.35: 0.9.24 系统化块收拢——li:has 锚点/nav 内弹层 hover/竖排定位死规则删; 图标规则并入菜单档双条件) */
@media (max-width: 782px) {
  .ttb-site-header .ttb-hd-nav.ttb-nav-open .wp-block-navigation__submenu-icon {
    position: static; flex: 0 0 auto; width: 1.5rem; height: 1.5rem; padding: 0 !important;
    background: none; border: none; cursor: pointer;
    color: var(--wp--preset--color--text) !important; /* 站长报箭头不显示: ghost 态 stroke 白画在白胶囊上, 钉正文色 */
  }
  .ttb-site-header .ttb-hd-nav.ttb-nav-open li.is-menu-open > .wp-block-navigation__submenu-icon,
  .ttb-site-header .ttb-hd-nav.ttb-nav-open li[aria-expanded="true"] > .wp-block-navigation__submenu-icon { transform: rotate(180deg); }
}

/* ⑤ 暗色 ghost 头部图标纯白(站长定: 不要透明度) */
html.tttheme-dark .ttb-hd-ghost .ttb-hd-btn { color: #ffffff !important; }
html.tttheme-dark .ttb-hd-ghost .ttb-hd-btn svg { color: #ffffff; }
html.tttheme-dark .ttb-hd-ghost .ttb-site-logo-svg { color: #ffffff; }

/* ═══ 2026-10-27 站长定: 手机版+平板 批量三调(18条清单) ═══ */
@media (max-width: 1099px) {
  /* ⑧ 数码列表卡: 标题下露日期(其余 meta 藏)+标题限两行 */
  main.ttb-list-page .ttb-row-card .ttb-item-meta { display: flex !important; order: 3; margin-top: 0.375rem; }
  main.ttb-list-page .ttb-row-card .ttb-item-meta > :not(.wp-block-post-date) { display: none !important; }
  main.ttb-list-page .ttb-row-card .ttb-item-meta .wp-block-post-date { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
  main.ttb-list-page .ttb-row-card .ttb-post-title-card { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

  /* ⑨ 工具卡: 标题下只留日期(头像昵称点赞全藏) */
  main.ttb-list-page .ttb-home-grid > .wp-block-post > .ttb-item-meta.ttb-meta-split { display: flex !important; margin-top: 0.375rem; } /* 0.9.52 站长纠: 撤 order:2/order:3 提前——meta 回摘要之后(0.9.46 误把手机「标题下」口径提到本段); 头像+昵称+日期跟排照旧 */
  main.ttb-list-page .ttb-home-grid > .wp-block-post > .ttb-item-meta.ttb-meta-split .wp-block-post-date { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }

  /* ⑩ 慢生活行: 面内距缩一档+图下日期 */
  .ttb-feed-row-body { padding: 1rem 0; }
  /* 0.9.49 撤原日期 order:3 独立行(站长纠: 回归 meta 行内跟排); xs/muted 字面随模板自然继承 */
  /* 0.9.32 回退 0.9.31c「meta 行只留评论」——今日口径反转: 评论藏/阅读数显, 见文件尾 0.9.32 块 */

  /* ⑫ 专题详情: 手机 2 列(封面+标题+日期), 简介藏, 日期露 */
  .ttb-topic-main .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ttb-topic-main .ttb-vcard { display: flex; flex-direction: column; }
  .ttb-topic-main .ttb-topic-list-desc { display: none; }
  .ttb-topic-main .ttb-vcard .wp-block-post-date { order: 3; margin-top: 0.375rem; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }

  /* ⑬ 简讯: 标题小2号 */
  .ttb-flash-title { font-size: 1.125rem; }

  /* ⑯ 归档: 标题小4号(0.9.35 补 !important——L281 ≤479 档 !important 曾把它压回 22px, 小屏比平板还大 4px 倒挂) */
  .ttb-arch-title { font-size: var(--wp--preset--font-size--base) !important; letter-spacing: 0; }

  /* ⑦ 内容页尾部紧凑: 点赞距上收/版权紧凑/推荐楼层贴近 */
  .ttb-like-wrap { margin-top: 0.75rem !important; }
  .ttb-post-copyright { margin-top: 0.75rem; padding: 0.75rem 1rem; background: var(--wp--preset--color--card-bg); border: none; border-radius: var(--tttheme-radius-md, 8px); } /* 站长定: 版权框线式改浅灰底块(主题统一浅灰 token) */
  .ttb-rel-bottom { margin-top: 1rem !important; }

  /* ⑭ 说说图片间距(平板同步收紧) */
  .ttb-talk-imgs { gap: 0.875rem; }
}

@media (max-width: 640px) {
  /* ⑭ 说说图片(手机再收) */
  .ttb-talk-imgs { gap: 0.75rem; margin-top: 0.5rem; }

  /* ⑬ 简讯/⑯ 归档: 距 header 4px, 上下一致, 内距上下加大 */
  main.ttb-list-page.ttb-flash-page, main.ttb-list-page:has(.ttb-arch-title) { margin-top: 4px !important; margin-bottom: 4px !important; }
  .ttb-flash-list .ttb-flash-item { padding-top: 1.25rem; padding-bottom: 1.25rem; }

  /* ⑰ 标签页: 1 列改 3 列 */
  .ttb-tags-body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-top: 1rem; }
  .ttb-tag-item { width: auto !important; justify-content: center; padding: 0.5rem 0.25rem !important; }

  /* ⑱ 访客页: 标题微调+展示区留边+更多贴近 */
  .ttb-readers-page h1, .ttb-readers-top h1 { margin-top: 0.75rem; margin-bottom: 0.5rem; }
  .ttb-readers-top { padding-left: 16px; padding-right: 16px; }
  .ttb-readers-list { padding-left: 16px; padding-right: 16px; }

  /* ⑫ 专题详情头图下列表已 2 列; 小图列表标题字号(⑪ 卡内列表+2号=0.875rem) */
  .ttb-topic-card--rich .ttb-topic-latest-title { font-size: 0.875rem; }

  /* ⑮ 关于页锚记: 竖屏(手机+平板竖版)隐藏 */
  @media (orientation: portrait) { .ttb-about-toc { display: none; } }
}
@media (min-width: 641px) and (max-width: 1099px) and (orientation: portrait) {
  /* ⑮ 平板竖版也隐藏锚记 */
  .ttb-about-toc { display: none; }
}

/* ═══ 2026-10-27 站长定: 批B2 精修 ═══ */
.ttb-author-card { background: var(--wp--preset--color--card-bg) !important; } /* 接管块设置 inline bg, 浅灰统一走 token */

/* ⑧⑨ 数码/工具卡日期露出精修(日期在藏着的组内) */
@media (max-width: 1099px) {
  main.ttb-list-page .ttb-row-card .ttb-item-meta > :first-child { display: flex !important; }
  /* 0.9.48 撤原 .post-author/.ttb-stats 隐藏——阅读/点赞改由文件尾容器梯度按适配管; actions 一并解锁(点赞不再 ≤1099 一刀切) */
  main.ttb-list-page .ttb-row-card .ttb-item-meta > :first-child { display: flex !important; }
  main.ttb-list-page .ttb-row-card .ttb-item-meta .wp-block-post-date { display: block !important; }
  main.ttb-list-page .ttb-home-grid > .wp-block-post > .ttb-item-meta.ttb-meta-split .wp-block-post-date { display: block !important; }
  main.ttb-list-page .ttb-home-grid > .wp-block-post > .ttb-item-meta.ttb-meta-split .post-author,
  main.ttb-list-page .ttb-home-grid > .wp-block-post > .ttb-item-meta.ttb-meta-split .ttb-like-wrap { display: none !important; }

  /* ⑫ 专题详情 2 列提级(压 479 档 1fr !imp) */
  main.ttb-topic-main .wp-block-query .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; display: grid !important; }

  /* ⑱ 访客页标题(mt 被基础规则压, 提级) */
  main:has(.ttb-readers-top) .ttb-page-title { margin-top: 0.75rem !important; }
}

/* ═══ 2026-10-27 站长定: 批B4 收口 ═══ */
:root { --wp--preset--color--card-bg: #f8f8f8 !important; } /* 浅灰 token 兜底(压 WP 全局样式缓存旧值; 暗色由更高特异性选择器接管不受影响) */
/* 0.9.33 暗色令牌修复(2026-11-03 站长报: 慢生活/数码列表页暗色分栏卡片不变色): 上一行的 :root !important 会压死框架暗色块
   html.tttheme-dark{--card-bg:#1a1a1a}(普通声明——特异性救不了 !important, 0.9.15 注释的假设不成立);
   暗色侧同以 !important 反制(important 间比特异性, (0,1,1)>(0,1,0) 稳赢), 亮色兜底维持原效 */
html.tttheme-dark { --wp--preset--color--card-bg: #1a1a1a !important; }

@media (max-width: 1099px) {
  /* ⑫ 专题详情 2 列: vcard-spec 专用提级, 压 479 档 1fr */
  .ttb-topic-main .ttb-vcard-spec.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; display: grid !important; }
}
/* ④ 弹层定宽: 0.9.35 删(nav 内选择器在弹层 DOM 搬家至 header 直下后永不匹配; 潜备弹层宽度由头部直下规则 L2798 管) */

/* ── 自动加载翻页(2026-10-27 站长定: 全端 ajax 自动加载) ── */
.ttb-inf-busy .page-numbers { opacity: 0.45; pointer-events: none; }
.ttb-inf-busy::after { content: ''; display: block; width: 20px; height: 20px; margin: 0.75rem auto 0; border: 2px solid var(--wp--preset--color--border, #e8e8e8); border-top-color: var(--wp--preset--color--primary); border-radius: 99999px; animation: ttb-spin 0.8s linear infinite; }
.ttb-inf-done { display: block; padding: 1rem 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--sm, 0.875rem); text-align: center; }
@keyframes ttb-spin { to { transform: rotate(360deg); } }

/* ═══ 2026-10-27 站长定: 0.9.16 八条 ═══ (0.9.34: 并入菜单档双条件; 0.9.35: 面板内衬/毛玻璃亮暗/更多缩进死层删除——被 0.9.20 权威块 header 一体化全面接管, 仅留「去胶囊+选中项去底」两个仍生效声明) */
@media (max-width: 782px) {
  /* ① 抽屉: 栏目去胶囊(圆角/底色)缩间距 */
  .ttb-site-header .ttb-hd-nav.ttb-nav-open .wp-block-navigation__container > li:has(> .wp-block-navigation-item__content) {
    display: block; background: none; border-radius: 0; padding: 0;
  }
  .ttb-site-header .ttb-hd-nav.ttb-nav-open .wp-block-navigation__container { gap: 0; }
  .ttb-site-header .ttb-hd-nav.ttb-nav-open li.current-menu-item > .wp-block-navigation-item__content,
  .ttb-site-header .ttb-hd-nav.ttb-nav-open .wp-block-navigation__submenu-container li.current-menu-item > .wp-block-navigation-item__content { background: none !important; } /* 站长定: 选中项也不要背景色 */
}
/* 0.9.34: 抽屉终态规则止于此; 以下非菜单项保持 ≤640 */
@media (max-width: 640px) {
  /* ④ 列表图片焦点蓝框 + 简讯条目间距(圆点随动) */
  .ttb-content-images a:focus, .ttb-content-images a:focus-visible { outline: none; }
  .ttb-flash-list li { padding-top: 0.5rem; padding-bottom: 0.5rem; }
  .ttb-flash-list li::before { top: calc(1.46875rem - 10.5px); }
  .ttb-flash-list li::after { top: calc(1.46875rem - 3.5px); }
}

/* ⑦ 简讯 main 距 header 4px(按实际结构 :has 定位) */
main:has(.ttb-flash-day) { margin-top: 4px !important; margin-bottom: 4px !important; }

/* ② 「没有更多」上下一致再缩(全端) */
.ttb-inf-done { padding: 0.5rem 0; }

/* ④ lightbox 关闭钮去 focus 蓝框 */
.ttb-lb .ttb-lb-close:focus, .ttb-lb .ttb-lb-close:focus-visible { outline: none; }

/* ⑥ 专题详情: 标题回基础(去加粗/大字, 同工具页 2 列) + 卡内距收 */
.ttb-vcard-spec .ttb-vcard .wp-block-post-title { font-size: var(--wp--preset--font-size--sm, 0.875rem) !important; font-weight: 400 !important; line-height: 1.5 !important; }
.ttb-vcard { row-gap: 0.5rem; }

/* ⑧ 弹层当前项染蓝规则撤除(误伤整层, 导航当前态由顶级栏目表达) */

/* ═══ 2026-10-27 站长定: 0.9.17 四条(iPhone16) ═══ */
@media (max-width: 640px) {
  /* ① 轮播恢复原样式(站长定: 不铺满); 底部若隐若现的线=图高与容器亚像素差露底色, 图高微溢 1px 裁除 */
  .ttb-promo-item img { height: calc(100% + 1px); }

  /* ③ 专题楼距上对齐其他楼层 24(撤热点 grid -8 底距+topics 16) */
  .ttb-home .ttb-hot-grid { margin-bottom: 0 !important; }
  .ttb-home .ttb-floor-topics { margin-top: 1rem !important; } /* 0.9.30 站长定: 专题楼距上同其他楼层 1(原 1.5 压过 2586 的 1rem, 实测元凶) */

  /* ④ 专题卡: 标题加大 + 描述恢复(最多两行, 字号=原标题档) */
  .ttb-floor-topics .ttb-topic-card-name { font-size: 1.125rem; }
  .ttb-floor-topics .ttb-topic-card-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 1rem; line-height: 1.5; }

  /* ① logo 同比缩小(压内联 36px) */
  .ttb-site-logo-svg { height: 30px !important; }
}

/* ═══ 2026-10-27 站长定: 0.9.20 折叠菜单内嵌化(弹层→文档流) ═══
   0.9.34(2026-11-03 站长定): 本块=手机菜单终态权威规则, 并入菜单档双条件——pad 竖屏整案同手机(单行可拖/去首页更多/弹层潜备), pad 横屏不适用保持 PC 导航
   0.9.35: 条件补齐 (≤782)——修复 641-782 横屏落在菜单档却拿旧竖排皮肤的漏网档(与手机/pad竖屏同档同貌); 楼层头重复行与弹层锚点死规则删除 */
@media (max-width: 782px) {
  /* 菜单独立成行: 仅展开态生效(收起时布局零改动, 站长定不破坏原结构) */
  body.ttb-nav-open .ttb-site-header .alignwide { align-items: flex-start; padding-top: 17px; } /* 不换行(logo与右侧图标保持同行); 顶衬17px=(64-logo高30)/2, logo/图标视觉位与收起态零差异 */
  body.ttb-nav-open .ttb-site-header .ttb-hd-left { flex-wrap: wrap; align-items: flex-start; row-gap: 0; } /* logo 贴顶 + 撤 WP 组 40px 行距(菜单贴 logo 行, 站长定空白太大) */
  body.ttb-nav-open .ttb-site-header .ttb-hd-navwrap { flex: 0 0 auto; order: 3; width: calc(100% + var(--ttb-nav-ext, 168px)); max-width: none; } /* 菜单行铺满 header 内容宽 */
  body.ttb-nav-open .ttb-site-header .ttb-hd-nav .wp-block-navigation__container > li:first-child { display: none; } /* 站长定: 手机菜单去「首页」(logo 即入口) */
  body.ttb-nav-open .ttb-site-header .ttb-hd-nav .wp-block-navigation__container > li.has-child { display: none; } /* 0.9.30 站长定: 手机菜单去「更多」(iOS 浮层与滚动合成层冲突, 真机调试后再上) */
  /* 0.9.24 站长定: 「更多」弹层 fixed 溢出显示(container 纵向已锁, 弹层坐标 JS 按 li 写入), 样式沿用既有白底弹层 */
  /* 0.9.29 站长定: 弹层 DOM 搬家到 header 直下(JS), 独立浮层样式——普通 absolute 文档流定位, iOS 无合成层/裁剪陷阱 */
  .ttb-site-header > .wp-block-navigation__submenu-container { display: none; }
  .ttb-site-header > .wp-block-navigation__submenu-container.ttb-pop-open {
    display: flex; flex-direction: column; position: absolute;
    top: var(--ttb-sub-y, 95px); left: var(--ttb-sub-x, 245px); right: auto;
    width: 132px; margin: 0; padding: 0.5rem; z-index: 300;
    background: var(--wp--preset--color--background, #fff);
    border: 1px solid var(--wp--preset--color--border); border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.1);
    animation: ttb-pop-in 0.16s ease-out; transform-origin: top right;
  }
  .ttb-site-header > .wp-block-navigation__submenu-container .wp-block-navigation-item { display: block; width: 100%; margin: 0; }
  .ttb-site-header > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: 8px 12px; color: var(--wp--preset--color--text); font-size: var(--wp--preset--font-size--xs, 0.875rem); line-height: 1.5; border-radius: var(--tttheme-radius, 8px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }
  .ttb-site-header > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: color-mix(in srgb, var(--wp--preset--color--text) 5%, transparent); }
  /* 站长定: 菜单=header 一部分, 背景跟随 header(原生 ghost/scrolled 逻辑), 不单独加背景; nav 自身无底色(0.9.20 已 bg none) */
  body.ttb-nav-open .ttb-site-header.ttb-hd-scrolled { background: var(--wp--preset--color--background, #fff) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  html.tttheme-dark body.ttb-nav-open .ttb-site-header.ttb-hd-scrolled { background: var(--wp--preset--color--background, #111) !important; }
  /* 弹层壳全撤: 无独立底色/边框/阴影, 与 header 一体无缝拼接 */
  .ttb-site-header .ttb-hd-nav.ttb-nav-open {
    position: static; top: auto; left: auto; right: auto;
    background: none !important; border-bottom: none; box-shadow: none;
    -webkit-backdrop-filter: none; backdrop-filter: none;
    padding: 0.5rem 0.25rem !important; /* 站长定: 左右与 logo 行对齐(4+条目12=16) */
    animation: ttb-nav-drop 0.18s ease;
  }
  /* 0.9.21: 单行横排可拖; flex 链路 min-width:0 防内容撑爆 */
  body.ttb-nav-open .ttb-site-header .ttb-hd-left { min-width: 0; max-width: 100%; } /* 仅左栏限宽; nav/navwrap 需延伸铺满不设上限 */
  .ttb-site-header .ttb-hd-nav.ttb-nav-open .wp-block-navigation__container {
    display: flex; flex-wrap: nowrap; align-items: center;
    overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; padding: 0 !important; width: 100%;
  }
  .ttb-site-header .ttb-hd-nav.ttb-nav-open .wp-block-navigation__container::-webkit-scrollbar { display: none; }
  .ttb-site-header .ttb-hd-nav.ttb-nav-open { max-width: 100%; min-width: 0; } /* nav 层约束, 滚动收敛在 container 内 */
  .ttb-site-header .ttb-hd-nav.ttb-nav-open .wp-block-navigation__container > li { display: flex; flex-shrink: 0; white-space: nowrap; }
  /* 0.9.21 站长定: 菜单字色跟随渐变背景——未滚(渐变区内)=白字同 PC ghost, 滚过渐变恢复常规字色 */
  html body.home.ttb-nav-open .ttb-site-header:not(.ttb-hd-scrolled) .ttb-hd-nav.ttb-nav-open .wp-block-navigation__container > li > .wp-block-navigation-item__content { color: #ffffff !important; } /* 0.9.31 站长报: 限定首页(渐变区白字)——列表/内容页无渐变, 白底白字隐形, 恢复正常色 */
  html body.home.ttb-nav-open .ttb-site-header:not(.ttb-hd-scrolled) .ttb-hd-nav.ttb-nav-open .wp-block-navigation__container .wp-block-navigation__submenu-icon { color: #ffffff !important; } /* 同上限定首页 */

  html.tttheme-dark .ttb-site-header .ttb-hd-nav.ttb-nav-open { background: none !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
  /* 站长定: 菜单展开=header 变高, 渐变背景随之延长连续覆盖(头部+菜单区), 轮播图在其下; 高度由 JS 写 --ttb-hd-total */
  body.ttb-nav-open .ttb-home > .ttb-promo-band { margin-top: calc(-1 * var(--ttb-hd-total, 215px)) !important; }
  body.ttb-nav-open .ttb-home .ttb-promo-band-in { padding-top: calc(var(--ttb-hd-total, 215px) + 0.5rem) !important; }
}

/* ── 0.9.46 曾撤 2026-10-27「手机版去头像+昵称」; 0.9.48 站长纠: 三件套跟排口径仅限 ≥641, 手机 ≤640 回归 0.9.32 只留日期+阅读(见文件尾 0.9.48 块) ──
/* 0.9.30e 站长定: pad/PC 空间够, 列表卡点赞(actions)恢复显示(手机仍藏) */
@media (min-width: 641px) {
  .ttb-item-meta .ttb-item-actions { display: inline-flex !important; }
}

/* ═══ 2026-11-03 站长定: 0.9.32 手机版列表卡(慢生活/数码)——日期左·阅读数右·评论藏 ═══ */
@media (max-width: 640px) {
  /* 慢生活(混排行): 日期与统计同行 grid——标题/摘要/配图跨双列, 日期 col1、meta col2 右贴;
     行内距 0.75→1rem(站长定回调, 0.9.16 口径废止); 0.9.31c「只留评论」废止 */
  /* 0.9.49 撤原 date|meta 两列 grid(日期已回 meta 内): 底线排法=同数码行, 左组撑满 日期贴左/阅读贴右 */
  main.ttb-list-page .ttb-feed-row-body .ttb-item-meta > .wp-block-group:first-child { flex: 1 1 auto; justify-content: space-between; }

  main.ttb-list-page .ttb-feed-row-body .ttb-item-meta .wp-block-post-author,
  main.ttb-list-page .ttb-feed-row-body .ttb-item-meta .ttb-item-actions,
  main.ttb-list-page .ttb-feed-row-body .ttb-item-meta .wp-block-group:has(> .ttb-item-comments-label) { display: none !important; } /* 评论组按直子级 :has 整组藏(防嵌套误杀左组); 作者/点赞藏, 阅读数放行 */

  /* 数码(行卡): 日期左/阅读数右, 评论藏; 作者(0.9.30d ≤640)/点赞(≤1099 > :not)既有手机规则不动 */
  main.ttb-list-page .ttb-row-card .ttb-item-meta .ttb-stats { display: inline-flex !important; } /* 放行阅读数(压 ≤1099 档隐藏, 同特异性后置赢) */
  main.ttb-list-page .ttb-row-card .ttb-item-meta .wp-block-group:has(> .ttb-item-comments-label) { display: none !important; }
  main.ttb-list-page .ttb-row-card .ttb-item-meta > .wp-block-group:first-child { flex: 1 1 auto; justify-content: space-between; } /* 左组撑满: 日期贴左、阅读数贴右 */

  /* 慢生活面卡: 手机档左右内距 1.5→1rem(上下 1.5rem 不动; 站长定 2026-11-03) */
  body.archive .ttb-list-page .wp-block-post-template.is-layout-flow:not(.ttb-home-grid):not(:has(> .wp-block-post > .ttb-row-card)) { padding: 1.5rem 1rem; }
}

/* 0.9.48 actions 解锁限 641-1099(点赞随容器梯度; ≤640 手机 ⑧ 继续整藏=底线只留日期+阅读) */
@media (min-width: 641px) and (max-width: 1099px) {
  main.ttb-list-page .ttb-row-card .ttb-item-meta > .ttb-item-actions { display: flex !important; }
}

/* 0.9.49 feed meta 顶开 ≤782 整行隐藏(日期已入 meta, L2147 (0,2,0) 不能再吃掉整行): (0,3,1) 特异性胜 */
@media (max-width: 782px) {
  main.ttb-list-page .ttb-feed-row-body > .ttb-item-meta { display: flex; margin-top: 0.5rem; }
}

/* ═══ 2026-11-04 站长定: 0.9.48 数码/慢生活列表卡 meta 统一适配梯度(容器查询) ═══
   全显 → 空间不足依次藏: 评论(<560) → 点赞(<480, 居右 actions 内) → 阅读数(<300, 看情况档) → 头像+昵称(<260);
   底线保留 日期+阅读数(≤640 手机档, 0.9.32/0.9.48 口径)。左侧内容跟排左侧, 仅点赞居右。
   实测锚: 容器 356(1100-1149)/406(1150)/434(834)/696(1440); 全套内容 ≈430-500px。 */
@media (min-width: 641px) {
  main.ttb-list-page .ttb-row-card .ttb-item-meta,
  main.ttb-list-page .ttb-feed-row-body .ttb-item-meta { container-type: inline-size; }
  @container (max-width: 559px) {
    main.ttb-list-page .ttb-row-card .ttb-item-meta .wp-block-group:has(> .ttb-item-comments-label),
    main.ttb-list-page .ttb-feed-row-body .ttb-item-meta .wp-block-group:has(> .ttb-item-comments-label) { display: none !important; } /* ① 评论 */
  }
  @container (max-width: 479px) {
    main.ttb-list-page .ttb-row-card .ttb-item-meta > .ttb-item-actions,
    main.ttb-list-page .ttb-feed-row-body .ttb-item-meta > .ttb-item-actions { display: none !important; } /* ② 点赞(真身 ttb-like-btn, 整组 actions 藏) */
  }
  @container (max-width: 299px) {
    main.ttb-list-page .ttb-row-card .ttb-item-meta > .wp-block-group:first-child .ttb-stats,
    main.ttb-list-page .ttb-feed-row-body .ttb-item-meta > .wp-block-group:first-child .ttb-stats { display: none !important; } /* ③ 阅读数(看情况档, 现无档触发) */
  }
  @container (max-width: 259px) {
    main.ttb-list-page .ttb-row-card .ttb-item-meta .wp-block-post-author,
    main.ttb-list-page .ttb-feed-row-body .ttb-item-meta .wp-block-post-author { display: none !important; } /* ④ 头像+昵称 */
  }
}
/* 手机 ≤640 评论维持 0.9.32 藏口径(实测 480-640 二列卡 meta 322px/单列 353px 均放不下四件套, 0.9.46 实测 520 折两行); 阅读保留 */

/* ═══ 2026-11-04 站长纠: 0.9.48 手机 ≤640 列表卡回归 0.9.32 口径——标题下只留 日期+阅读 ═══
   0.9.46 把「头像+昵称+日期跟排」误套到手机, 站长报改丢; 三件套口径仅 ≥641 生效, 手机恢复隐藏(点赞 0.9.30e 本就藏) */
@media (max-width: 640px) {
  .ttb-item-meta .wp-block-post-author { display: none !important; }
}
