/* ============================================================
   chaihailei-child · Main — Silent Spatial Editorial
   base / typography / layout / components / pages / responsive
   纪律：零 !important；不覆盖父主题同名类，只新增命名空间 .chl-*
   ============================================================ */

/* ---------- base ---------- */
html { -webkit-text-size-adjust: 100%; }
body {
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-sans);
    font-size: var(--fs-base);
    line-height: var(--lh-body);
    -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: opacity var(--t-hover) var(--ease-out); }
a:hover { opacity: 0.72; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

::selection { background: var(--ink); color: var(--paper); }

/* ---------- typography ---------- */
.chl-serif { font-family: var(--font-serif); }
.chl-mono  { font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-caps); }

h1.chl-title, .chl-title {
    font-family: var(--font-serif);
    font-weight: 600;
    line-height: var(--lh-tight);
    letter-spacing: 0.02em;
}

/* eyebrow / kicker */
.chl-eyebrow {
    font-family: var(--font-mono);
    font-size: var(--fs-xs);
    letter-spacing: var(--ls-wide);
    text-transform: uppercase;
    color: var(--muted);
}

/* ---------- layout ---------- */
.chl-wrap { max-width: var(--w-wide); margin-inline: auto; padding-inline: var(--gutter); }
.chl-grid { display: grid; grid-template-columns: var(--grid-d); gap: var(--sp-4) var(--gutter); }

/* 图片比例容器（防 CLS） */
.chl-frame { position: relative; overflow: hidden; background: var(--frame-bg); }
.chl-frame img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.chl-frame[data-r="house"]    { aspect-ratio: var(--ar-house); }
.chl-frame[data-r="wide"]     { aspect-ratio: var(--ar-wide); }
.chl-frame[data-r="photo"]    { aspect-ratio: var(--ar-photo); }
.chl-frame[data-r="portrait"] { aspect-ratio: var(--ar-portrait); }
.chl-frame[data-r="tall"]     { aspect-ratio: var(--ar-tall); }
.chl-frame[data-r="square"]   { aspect-ratio: var(--ar-square); }

/* ---------- header（极简化，压过主题 compact 头部的圆角/阴影） ---------- */
.main-head.compact { box-shadow: none; border-bottom: var(--bd-1); background: transparent; }
.main-head .top-bar { background: transparent; border-bottom: 0; }
/* ticker 已由选项关闭；分享/搜索图标条保留但降透明度 */
.top-bar-content .search-overlay-toggle { color: var(--muted); }

/* ---------- reveal：图片进入视口轻微揭示 ---------- */
.chl-js .chl-reveal { opacity: 0; transform: translateY(14px); transition: opacity var(--t-reveal) var(--ease-out), transform var(--t-reveal) var(--ease-out); }
.chl-js .chl-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .chl-js .chl-reveal, .chl-js .chl-reveal.is-in { opacity: 1; transform: none; transition: none; }
}

/* ---------- 首页 ---------- */
.chl-hero { position: relative; height: min(78svh, 880px); min-height: 520px; }
.chl-hero .chl-frame { position: absolute; inset: 0; aspect-ratio: auto; }
.chl-hero-scrim { position: absolute; inset: auto 0 0 0; height: 84%; background: linear-gradient(to top,
        rgba(9,9,9,.92) 0%, rgba(9,9,9,.86) 24%, rgba(9,9,9,.72) 44%, rgba(9,9,9,.44) 66%, rgba(9,9,9,.14) 85%, rgba(9,9,9,0) 100%); pointer-events: none; }
.chl-hero-cap { padding-bottom: clamp(48px, 9vh, 110px);
    position: absolute; left: 0; right: 0; bottom: clamp(3rem, 8vh, 6rem);
    color: var(--white); text-align: center; padding-inline: var(--gutter);
}
.chl-hero-cap h1 { font-family: var(--font-serif); font-weight: 600;
    font-size: var(--fs-hero); color: var(--white);
    /* 说明：首屏对比度以「渐变遮罩」为唯一手段（2026-10-07 实测遮罩加厚后 H1 p95 已达标）；
       此处只保留一层极轻的接触阴影辅助小屏刊头，不再依赖阴影承担对比度。 */
    text-shadow: 0 1px 2px rgba(9,9,9,.28);
    margin: 0 0 var(--sp-2);
}
/* 首屏 CTA：图片上的描边白字（原 .chl-btn 为墨色字，压在照片上实测对比度 1.22:1，属缺陷） */
.chl-hero-cap .chl-btn {
    border-color: rgba(255,255,255,.82); color: var(--white);
    background: rgba(9,9,9,.22); backdrop-filter: saturate(120%);
}
.chl-hero-cap .chl-btn:hover { background: var(--white); color: var(--ink); border-color: var(--white); }
.chl-hero-cap .chl-eyebrow { color: rgba(255,255,255,.92); }
.chl-hero-cap .chl-eyebrow { color: rgba(255,255,255,.85); }

.chl-sec { padding-block: var(--sp-8); }
.chl-sec-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--sp-5); }
.chl-sec-head .chl-more { font-size: var(--fs-sm); color: var(--graphite); }

/* 精选作品：错位双列 */
.chl-sel { display: grid; grid-template-columns: var(--grid-d); row-gap: var(--sp-6); column-gap: var(--gutter); }
.chl-work { grid-column: span 6; margin-top: 0; }
/* 作品页：首件全宽作主项目，其余统一 3:2 双列（比例一致，秩序由列宽承担） */
.chl-sel > .chl-work:first-child { grid-column: 1 / -1; }
.chl-sel--lead > .chl-work:first-child { grid-column: 1 / -1; }
.chl-sel--lead { grid-auto-flow: row dense; }
.chl-work .chl-cap { display: flex; justify-content: space-between; gap: var(--sp-2); margin-top: var(--sp-2); font-size: var(--fs-sm); color: var(--graphite); }
.chl-work .chl-cap .t { font-family: var(--font-serif); font-size: var(--fs-md); color: var(--ink); }

/* 主张 / 简介 / 委托区块 */
.chl-statement { text-align: center; max-width: var(--w-prose); margin-inline: auto; padding-block: var(--sp-9); }
.chl-statement p.big { font-family: var(--font-serif); font-size: var(--fs-xl); line-height: 1.6; margin: 0 0 var(--sp-4); }
.chl-statement p.sub { color: var(--graphite); font-size: var(--fs-sm); }

.chl-cta-line { text-align: center; padding-block: var(--sp-7); }
.chl-btn {
    display: inline-block; padding: 14px 34px;
    border: 1px solid var(--ink); color: var(--ink);
    font-size: var(--fs-sm); letter-spacing: var(--ls-caps);
    transition: all var(--t-hover) var(--ease-out);
    min-height: 44px;
}
.chl-btn:hover { background: var(--ink); color: var(--paper); opacity: 1; }

/* ---------- 作品详情 ---------- */
.chl-phero { position: relative; height: 92svh; }
.chl-phero .chl-frame { position: absolute; inset: 0; aspect-ratio: auto; }
.chl-phero .chl-t {
    position: absolute; left: var(--gutter); bottom: var(--sp-5); color: var(--white);
    text-shadow: 0 1px 18px rgba(9,9,9,.4);
}
.chl-phero .chl-t h1 { font-family: var(--font-serif); font-size: var(--fs-3xl); margin: 0; font-weight: 600; }
.chl-phero .chl-t .chl-mono { color: rgba(255,255,255,.85); }

.chl-pmeta { display: grid; grid-template-columns: var(--grid-d); gap: var(--sp-2) var(--gutter); padding-block: var(--sp-5); border-bottom: var(--bd-1); }
.chl-pmeta div { grid-column: span 2; }
.chl-pmeta dt { word-break: keep-all; white-space: nowrap; font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--muted); font-family: var(--font-mono); }
.chl-pmeta dd { margin: 2px 0 0; font-size: var(--fs-sm); }

.chl-intro { max-width: var(--w-prose); margin: var(--sp-6) auto; font-family: var(--font-serif); font-size: var(--fs-md); line-height: 2; }

.chl-seq { display: grid; grid-template-columns: var(--grid-d); row-gap: var(--sp-7); align-items: center; padding-block: var(--sp-5); }
.chl-seq .b-full  { grid-column: 1 / -1; }
.chl-seq .b-wide  { grid-column: 2 / -2; }
.chl-seq .b-por   { grid-column: 4 / span 6; }
.chl-seq .b-pair  { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--gutter); }
.chl-seq .b-offset{ grid-column: 3 / span 8; margin-left: var(--sp-6); }
.chl-seq figcaption { margin-top: var(--sp-1); font-size: var(--fs-xs); color: var(--muted); text-align: center; }

.chl-credits { border-top: var(--bd-1); padding-block: var(--sp-5); display: grid; grid-template-columns: var(--grid-d); }
.chl-credits div { grid-column: span 4; }
.chl-credits dt { font-size: var(--fs-xs); color: var(--muted); font-family: var(--font-mono); letter-spacing: var(--ls-caps); text-transform: uppercase; }
.chl-credits dd { margin: 4px 0 0; font-size: var(--fs-sm); }

.chl-next { position: relative; display: block; height: 70svh; }
.chl-next .chl-frame { position: absolute; inset: 0; aspect-ratio: auto; }
/* R3-§3-D（2026-10-07）：Next Project 横幅文字对比度不达标。
   根因两条：(1) 蒙版仅 rgba(9,9,9,.32)，压在浅色实拍上合成底约 #ADACA9 ⇒ 白字 2.28 / 眉标 1.97；
   (2) h2 自身被父主题全局 h1,h2{color:var(--c-gray-1400)} 着色成 #111（与 §3-A 同一根因）。
   处置：蒙版加深到 .66；hover 只降到 .58（仍比静态亮，保留「悬停提亮」语义），
   字色在 h2 本体上显式声明，并把眉标由 .8 白提到 .92（与首屏刊头同口径）。
   R5-§5（2026-10-08）：R5 逐笔画像素法（Chromium 1234，等主图 naturalWidth>200 后测）复测
   「Next Project 眉标」仍有 WARN：国安府 1440 p10=3.87 / 390 p10=3.64、西山云庐与有山美地
   390 p10=3.91（阈值 4.5）——瓶颈是该横幅的实拍底偏亮（合成底 rgb(73,69,63)）。
   本横幅本色就是「压深色蒙版的白字横幅」，蒙版加深属设计同源杠杆、观感差量极小
   （.66→.74，像素均差 <3%，样张 dev-out/samples/next-mask-*）。故蒙版 .66→.74、眉标
   由 .92 白提到纯白；hover 保持 .58（比静态 .74 仍亮，语义不变）。
   复测：全部 Next 眉标 1440/390 均 PASS（国安府 1440 p10 3.87→4.92、390 3.64→4.73）。 */
.chl-next .chl-nl { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; color: var(--white); background: rgba(9,9,9,.74); transition: background var(--t-nav) var(--ease-out); }
.chl-next:hover .chl-nl { background: rgba(9,9,9,.58); }
/* 补充根因：全站 `a:hover{opacity:.72}`（main.css 第 19 行）作用在 .chl-next 这个 <a> 上，
   会把整条横幅与浅色纸底混合、把蒙版一起提亮（实测静态底 79 → hover 底 136，白字跌到 3.6）。
   横幅的 hover 反馈改由「图片 scale(1.02) + 蒙版 .66→.58」承担，本体不再整体降透明度。 */
.chl-next:hover, .chl-next:focus-visible { opacity: 1; }
.chl-next .chl-nl .chl-eyebrow { color: var(--white); }
.chl-next .chl-nl h2 { font-family: var(--font-serif); font-size: var(--fs-2xl); margin: var(--sp-1) 0 0; color: var(--white); text-shadow: 0 1px 2px rgba(9,9,9,.3); }

/* ---------- 作品索引页（Index View） ---------- */
.chl-index { border-top: var(--bd-1); }
.chl-index a { display: grid; grid-template-columns: 3fr 2fr 1fr 1fr; gap: var(--sp-3); padding: var(--sp-3) 0; border-bottom: var(--bd-1); align-items: baseline; transition: padding-left var(--t-hover) var(--ease-out); }
.chl-index a:hover { padding-left: var(--sp-2); }
.chl-index .n { font-family: var(--font-serif); font-size: var(--fs-md); }
.chl-index .l, .chl-index .y, .chl-index .ty { font-size: var(--fs-sm); color: var(--graphite); }
.chl-preview { position: fixed; width: 340px; aspect-ratio: var(--ar-photo); pointer-events: none; opacity: 0; transition: opacity var(--t-fast) var(--ease-out); z-index: var(--z-overlay); }
.chl-preview.on { opacity: 1; }

/* ---------- 视图切换 ---------- */
.chl-views { display: flex; gap: var(--sp-3); font-size: var(--fs-sm); }
.chl-views button { background: none; border: 0; cursor: pointer; color: var(--muted); padding: var(--sp-1); min-height: 44px; }
.chl-views button[aria-pressed="true"] { color: var(--ink); border-bottom: 2px solid var(--ink); }

/* ---------- 过滤 ---------- */
.chl-filters { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-block: var(--sp-4); }
.chl-filters a { font-size: var(--fs-sm); color: var(--muted); padding: 6px 14px; border: 1px solid var(--line); border-radius: 999px; }
.chl-filters a[aria-current] { color: var(--ink); border-color: var(--ink); }

/* ---------- 表单（委托） ---------- */
.chl-form { max-width: 640px; margin-inline: auto; }
.chl-form .row { margin-bottom: var(--sp-3); }
.chl-form label { display: block; font-size: var(--fs-sm); color: var(--graphite); margin-bottom: 6px; }
.chl-form input, .chl-form select, .chl-form textarea {
    width: 100%; padding: 12px 14px; min-height: 44px;
    border: var(--bd-1); background: var(--surface); color: var(--ink);
    font: inherit; border-radius: 2px;
}
.chl-form input:focus-visible, .chl-form select:focus-visible, .chl-form textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 0; }

/* ---------- 页脚（极简） ---------- */
.site-footer .widget-title { font-family: var(--font-mono); font-size: var(--fs-2xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--muted); }
.site-footer { border-top: var(--bd-1); background: transparent; }

/* ---------- skip link ---------- */
.chl-skip { position: absolute; left: -9999px; top: 0; z-index: var(--z-lightbox); background: var(--ink); color: var(--paper); padding: 10px 18px; }
.chl-skip:focus { left: 0; }

/* ---------- main landmark ---------- */
main#chl-main { display: block; }

/* ============================================================
   responsive
   ============================================================ */
@media (max-width: 1080px) {
    .chl-work:nth-child(n) { grid-column: 2 / -2; margin-top: 0; }
    .chl-seq .b-por, .chl-seq .b-offset { grid-column: 2 / -2; margin-left: 0; }
}
@media (max-width: 768px) {
    .chl-grid { grid-template-columns: var(--grid-m); }
    .chl-work:nth-child(n) { grid-column: 1 / -1; }
    .chl-seq .b-full, .chl-seq .b-wide, .chl-seq .b-por, .chl-seq .b-offset { grid-column: 1 / -1; margin-left: 0; }
    .chl-seq .b-pair { grid-template-columns: 1fr; }
    .chl-pmeta div { grid-column: span 2; }
    .chl-index a { grid-template-columns: 1fr auto; }
    .chl-index .l, .chl-index .ty { display: none; }
    .chl-preview { display: none; }
    .chl-statement { padding-block: var(--sp-7); }
    .chl-hero { height: calc(100svh - var(--header-h, 64px)); }
}
@media (min-width: 769px) {
    .chl-pmeta { grid-template-columns: repeat(2, 1fr); }
    .chl-pmeta div { grid-column: span 1; }
    .chl-credits div { grid-column: span 2; }
}

/* ============================================================
   2026-09-26 窄屏网格修正：以下三处沿用 12 栏（--grid-d）却没有窄屏收敛，
   在手机端被压成 29px 宽（画廊图 / 项目 meta / 页脚 credits）。
   （.chl-grid / .chl-sel 早已有覆盖，此处补齐）
   ============================================================ */
.chl-seq .chl-seq-item { grid-column: span 4; }                                   /* 桌面：每行 3 张 */
@media (max-width: 1080px) { .chl-seq .chl-seq-item { grid-column: span 6; } }     /* 平板：每行 2 张 */
@media (max-width: 768px) {
    .chl-seq, .chl-pmeta, .chl-credits { grid-template-columns: var(--grid-m); }
    .chl-seq .chl-seq-item { grid-column: span 2; }                                /* 手机：每行 2 张 */
    .chl-seq .chl-seq-item.is-last-odd { grid-column: 1 / -1; }                     /* 奇数张：末张通栏，不留空格 */
    .chl-seq .b-full, .chl-seq .b-wide, .chl-seq .b-por, .chl-seq .b-offset { grid-column: 1 / -1; }
    .chl-pmeta div, .chl-credits div { grid-column: span 2; }
}

/* ---------- 画廊灯箱（渐进增强，无第三方依赖） ---------- */
a.chl-lb { display: block; cursor: zoom-in; }
body.chl-lb-open { overflow: hidden; }
.chl-lb-ov {
    position: fixed; inset: 0; z-index: 99999;   /* 必须压过主题粘性头部（含移动抽屉） */
    background: #0c0c0d;   /* 完全不透明：任何页面内容都不透出，读起来才是模态 */
    display: flex; align-items: center; justify-content: center;
    padding: 4vh 4vw;
}
.chl-lb-ov[hidden] { display: none; }
.chl-lb-ov img { max-width: 92vw; max-height: 86vh; width: auto; height: auto; object-fit: contain; display: block; }
.chl-lb-cap { position: absolute; left: 0; right: 0; bottom: 2.2vh; text-align: center; color: #d8d5cd; font-size: var(--fs-xs); padding-inline: 6vw; }
.chl-lb-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 56px; height: 56px; padding: 0;               /* R5-§3：触控目标 ≥44，且不再吃掉遮罩空白 */
    display: flex; align-items: center; justify-content: center;
    border: 0; background: transparent; color: #fff; font-size: 26px; cursor: pointer; opacity: .5;
}
.chl-lb-btn:hover { opacity: 1; }
.chl-lb-prev { left: 0; } .chl-lb-next { right: 0; }
.chl-lb-close { top: 0; right: 0; left: auto; transform: none; width: auto; height: auto; font-size: 24px; padding: 14px 16px; }
/* R5-§3 根因（2026-10-08，R4 P3）：← → 原为 `top:0;height:100%;width:11vw`，在 1440 上各占
   198×932px 的整条，把图片左右全部遮罩空白据为己有 —— 用户点在「看起来是空遮罩」的左右区域
   会切图而不是关闭；且 height:100% 让按钮自身溢出视口 32px。改为 56×56 垂直居中的有限按钮后，
   左右空白重新落回 .chl-lb-ov（其 click 判定 e.target===ov → close）。 */
.chl-lb-cnt { position: absolute; top: 22px; left: 20px; color: #b9b6ad; font-family: var(--font-mono); font-size: var(--fs-2xs); letter-spacing: var(--ls-caps); }

/* 2026-09-26 第四批：作品列表手机端卡片头（标题 + 元信息）改上下堆叠，避免长标题挤压 */
@media (max-width: 768px) {
    .chl-work .chl-cap { display: block; }
    .chl-work .chl-cap .chl-mono { display: block; margin-top: .35rem; }
}


/* ============================================================
   2026-09-26 第六批：手机端版式系统（对齐轴 · 垂直节奏 · 断词保护）
   对齐轴规则（全站）：内容=左对齐走同一条 20px 栏；宣言=居中（仅首屏、黑底主张、收尾邀请）
   ============================================================ */
.nb { white-space: nowrap; }
.m-only { display: none; }
@media (max-width: 768px) {
    /* 品牌行：手机端只留品牌名，副行换行显示 */
    .chl-hero-cap .chl-eyebrow .m-only { display: inline; }
    .chl-hero-cap .chl-eyebrow .d-only { display: none; }
}

/* Founder：桌面居中，手机改左对齐（并入内容栏，不再来回漂） */
.chl-founder { text-align: center; }
.chl-founder-line { font-size: var(--fs-lg); max-width: 640px; margin: var(--sp-3) auto 0; }
.chl-founder-btn { margin-top: var(--sp-3); }

/* 主张块：eyebrow → 宣言 → 副文的间距成比例 */
.chl-statement p.big { margin-top: 14px; }

/* 手机端：内容区垂直节奏收紧（原上下各 112px，区块间距 224px 过大） */
@media (max-width: 768px) {
    .chl-sec { padding-block: 72px; }
    .chl-founder { text-align: left; }
    .chl-founder-line { max-width: none; margin: var(--sp-3) 0 0; }
    .chl-btn--blk { display: block; box-sizing: border-box; width: 100%; max-width: 340px; text-align: center; margin-inline: auto; }
    .chl-founder-btn .chl-btn { margin-inline: 0; }
}


/* ---------- 第七批：手机端版式收口 ---------- */
.chl-cta-btn { margin-top: var(--sp-4); }
@media (max-width: 768px) {
    .chl-founder-line { margin-top: 14px; }
    .chl-cta-btn { margin-top: 28px; }
    .chl-statement p, .chl-founder-line, .chl-cta-line p { text-wrap: pretty; }
}
.chl-statement p, .chl-founder-line, .chl-cta-line p { text-wrap: pretty; }


/* ============================================================
   2026-09-26 第八批：全站排版审校基准（杂志编辑级）
   ============================================================ */
/* 1) CJK 禁则 + 标点侧空收紧（不让 。，、）」 落在行首；全角标点靠边收窄） */
html { font-kerning: normal; }
body, .entry-content, .chl-statement, .chl-founder, .chl-cta-line, .chl-hero-cap,
.chl-txtlist, .chl-mlist, .chl-sec-head, .chl-work-cap, .chl-pmeta {
    line-break: strict;
    text-spacing-trim: trim-start;
}
/* 2) 数字一律等宽 lining（表格式对齐，杂志数字排法） */
.chl-mono, .chl-count, .chl-sec-count, .chl-range, .chl-index,
.chl-pmeta, .chl-credits, .chl-txtlist .d, .chl-num, .idx, .chl-seq .num {
    font-variant-numeric: tabular-nums lining-nums;
    font-feature-settings: "tnum" 1, "lnum" 1;
}
/* 3) 展示级大标题启用 palt：全角标点按比例收窄（标题不再「，」两侧留大空） */
.chl-hero-cap h1, .chl-statement p.big, .chl-founder-line,
.single .entry-title, .entry-content h2, .wp-block-heading {
    font-feature-settings: "palt" 1;
}
/* 4) 微标签统一 11.66px（原类别页计数 12.6 / 首页残留 9.7） */
.chl-count, .chl-sec-count, .chl-txtlist .d { font-size: var(--fs-xs); }
.chl-num { display: inline-block; min-width: 2.35em; }
/* 5) 内容标题归到字阶（/connect 的 31px → 30.8） */
.entry-content h2, .wp-block-heading { font-size: var(--fs-2xl); }

/* R3-§3-E（2026-10-07）：正文引用块（奖项/刊载记录）颜色不达标。
   父主题 blockquote{color:var(--c-gray-600)}＝#989898，压暖纸底 #FAF8F5 实测 2.72:1
   （AA 大字线 3.0 也未过）。仅改颜色，字号/缩进/引号装饰一律不动，仍保持「弱于正文」的层级。
   作用域：作品/札记详情页由 single.php 以 .chl-seq>.b-full 渲染（非 .entry-content），
   普通页面走 .entry-content，两处都覆盖。 */
.entry-content blockquote,
.entry-content blockquote p,
.entry-content blockquote strong,
.entry-content blockquote cite,
.chl-seq blockquote,
.chl-seq blockquote p,
.chl-seq blockquote strong,
.chl-seq blockquote cite { color: var(--graphite); }

/* ---------- 6) 页脚：徽章收小居中、隐藏空社交条、整体收紧 ----------
   注意：父主题用 .main-footer.stylish X（0,3,0）覆盖，子主题必须同级或更高 */
.main-footer .social-strip { display: none !important; }
.main-footer .upper-footer,
.main-footer.dark .upper-footer,
.main-footer.stylish .upper-footer { padding-top: 44px !important; padding-bottom: 50px !important; }
.main-footer .upper-footer .widgets { margin-bottom: -30px !important; }
.main-footer .upper-footer .widget { margin-bottom: 30px !important; }
.main-footer .upper-footer .widget-title {
    font-size: 13px !important; padding-bottom: 9px !important; margin-bottom: 15px !important;
    letter-spacing: var(--ls-caps); text-transform: uppercase;
}
.main-footer .upper-footer .about-text, .main-footer .upper-footer .textwidget { font-size: 14px; }
.main-footer .upper-footer .about-text p, .main-footer .upper-footer .textwidget p { line-height: 1.72; margin-bottom: 10px; }
/* 徽章：居中 + 72px（父主题 .stylish 的 42/42 与 -20px 上抬一并压掉） */
.main-footer .footer-logo,
.main-footer.stylish .footer-logo,
.main-footer.bold .footer-logo { margin-top: 0 !important; padding: 20px 0 !important; border: 0; text-align: center !important; line-height: 1; }
.main-footer .footer-logo img,
.main-footer .footer-logo .logo { display: inline-block !important; margin: 0 auto !important; width: 72px !important; height: auto !important; }
/* 版权区与回到顶部：收紧 */
.main-footer .lower-footer > .wrap,
.main-footer.stylish .lower-footer > .wrap,
.main-footer.dark .lower-footer > .wrap { padding: 16px 0 22px !important; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.main-footer .copyright { line-height: 1.8 !important; font-size: 12.6px; }
.main-footer .to-top,
.main-footer.stylish .to-top { margin-top: 14px !important; float: none !important; }
.main-footer .back-to-top { font-size: 10.5px !important; letter-spacing: var(--ls-caps) !important; }
.main-footer .back-to-top i { font-size: 11px !important; }

/* 7) 内容区密度：112 → 88（手机 72 → 60） */
.chl-sec { padding-block: 88px; }
@media (max-width: 768px) { .chl-sec { padding-block: 60px; } }


/* ============================================================
   2026-09-26 第十批：页头压缩 + 徽标比例（密度）—— 桌面版式（≥941px）
   R6（2026-10-08）：手机端头部改为「单行三段式 + logo 整屏绝对居中」（见 details.css R6 块），
   顶条行高与徽标高度在 ≤940px 由那份规则接管；故本组数值收窄到 ≥941px 生效，
   桌面逐像素不变（R6 以 941/1024/1440 A/B 截图 sha256 复核）。
   ============================================================ */
@media (min-width: 941px) {
.main-head.head-nav-below .top-bar,
.main-head.head-nav-below .top-bar-content,
.main-head.head-nav-below .top-bar .social-icons { min-height: 38px !important; height: 38px !important; max-height: 38px !important; line-height: 38px !important; }
.main-head.head-nav-below .nav-wrap,
.main-head.head-nav-below .navigation,
.main-head.head-nav-below .navigation-wrap { height: 56px !important; min-height: 56px !important; max-height: 56px !important; }
.main-head.head-nav-below .navigation > li > a,
.main-head.head-nav-below .navigation a { height: 56px !important; line-height: 56px !important; }
.main-head.head-nav-below .nav-icons { height: 56px !important; }
.main-head.head-nav-below .logo-image { height: 52px !important; width: auto !important; }
.main-head.head-nav-below .search-link { height: 38px !important; line-height: 38px !important; }
.main-head.head-nav-below .tsi-search { font-size: 16px !important; color: #333 !important; }
}
@media (max-width: 992px) {
    /* R6：手机端单行三段式的徽标高度，四个变体（浅/深 × 移动/桌面）统一 28px。
       原为 34px，且被文末一条 32px 的「仅浅色移动变体」规则盖过 → 浅色 32 / 深色 42，
       同一颗徽标在两种主题下高度不一致（R6 真机实测记录在 dev-out/run6/probe-header-before.json）。 */
    .main-head .mobile-logo, .main-head .logo-image, .main-head .mobile-logo.logo-image { height: 28px !important; width: auto !important; }
    .main-head .nav-icons, .main-head .mobile-nav-icons { height: 60px !important; }
    .main-head .tsi-search, .main-head .tsi-bars { font-size: 18px !important; color: #222 !important; }
}


/* ---------- 第十一批：页头高度收口（38 顶条 + 56 导航带 = 94）—— 桌面版式（≥941px） ---------- */
@media (min-width: 941px) {
.main-head.head-nav-below { min-height: 94px !important; }
.main-head.head-nav-below .inner.inner-head,
.main-head.head-nav-below .inner-head .wrap,
.main-head.head-nav-below .title.ts-logo,
.main-head.head-nav-below .logo-wrap {
    height: 56px !important; min-height: 0 !important; line-height: 56px !important; padding: 0 !important;
}
.main-head.head-nav-below .title.ts-logo { display: flex !important; align-items: center; }
.main-head.head-nav-below .navigation-wrap { height: 56px !important; min-height: 0 !important; }
}


/* ---------- 第十二批：微调（徽标在导航带内留呼吸、放大镜到位） ---------- */
@media (min-width: 941px) {
.main-head.head-nav-below .logo-image { height: 42px !important; width: auto !important; }
}
.main-head.head-nav-below .tsi-search { font-size: 19px !important; color: #2b2b2b !important; }
.main-head.head-nav-below .search-link { padding: 0 14px !important; }
/* R3-§3-F（2026-10-07）：941–1200px 出现 12px 横向滚动条。
   根因：父主题 .navigation.inline .nav-icons .search-link{margin-right:-12px} 是为其自身
   padding-right:10px 做的视觉补偿；子主题第十二批把 padding 改成 0 14px（强声明）后补偿失配，
   负外边距使 border box 比容器多出 12px（scrollWidth = clientWidth + 12）。
   处置：子主题自己归零该补偿，改由 padding 承担间距。父规则是 4 个类、本条是 6 个类，
   特异性本就更高考过，所以本条不需要强声明（R3 复检：让强声明计数不高于基线 main 56）。
   实测 941/1000/1100/1200 全部不再溢出，且 ≥1201 时图标右缘与页头/页脚同一 1170 网格对齐
   （was 1198，now 1186 = wrap 右缘）。 */
.main-head.head-nav-below .navigation.inline .nav-icons .search-link { margin-right: 0; }


/* ---------- 第十三批：回到顶部＝明确控件（44px 触控 + 中文标签，替换父主题的「上」） ---------- */
.main-footer .back-to-top, .main-footer .to-top a {
    display: inline-flex !important; align-items: center; gap: 7px;
    min-height: 44px; padding: 0 2px; font-size: 0 !important; letter-spacing: var(--ls-caps);
}
.main-footer .back-to-top i, .main-footer .to-top i { font-size: 13px !important; margin: 0 !important; color: inherit; }
.main-footer .back-to-top::after { content: "回到顶部"; font-size: 10.5px; font-weight: 600; }
.main-footer .to-top, .main-footer.stylish .to-top { margin-top: 10px !important; }


/* ---------- 第十四批：页脚最后一档（层次与呼吸） ---------- */
.main-footer .footer-logo, .main-footer.stylish .footer-logo { padding: 24px 0 !important; }
.main-footer .footer-logo img, .main-footer .footer-logo .logo { width: 64px !important; }
.main-footer .upper-footer .about-text p, .main-footer .upper-footer .textwidget p { line-height: 1.6 !important; margin-bottom: 7px !important; }
.main-footer .upper-footer .textwidget p:last-child, .main-footer .upper-footer .about-text p:last-child { margin-bottom: 0 !important; }
/* 版权层次：主句最亮 → 英文行次之 → 备案号再降一档 */
.main-footer .copyright { color: #c9c9c9 !important; }
.main-footer .copyright a { color: #8b8b8b !important; text-decoration: none; }
.main-footer .copyright a:hover { color: #c9c9c9 !important; }
/* 回到顶部：纯文本前导，不依赖图标字体 */
.main-footer .back-to-top i { display: none !important; }
.main-footer .back-to-top::after { content: "回到顶部 ↑"; font-size: 10.5px; font-weight: 600; letter-spacing: var(--ls-caps); }

/* ---------- 第十五批：图标字形显式重声明（主题 icons.css 的 content 运行时被置空 → 搜索/汉堡/关闭/箭头全空白） ---------- */
.tsi-plus:before { content: "\f067" !important; }
.tsi-search:before { content: "\f002" !important; }
.tsi-heart:before { content: "\f004" !important; }
.tsi-close:before { content: "\f00d" !important; }
.tsi-times:before { content: "\f00d" !important; }
.tsi-bars:before { content: "\f0c9" !important; }
.tsi-angle-left:before { content: "\f104" !important; }
.tsi-angle-right:before { content: "\f105" !important; }
.tsi-angle-up:before { content: "\f106" !important; }
.tsi-angle-down:before { content: "\f107" !important; }
.tsi:before, .tsi-search:before, .tsi-bars:before, .tsi-times:before, .tsi-angle-up:before, .tsi-angle-down:before, .tsi-angle-left:before, .tsi-angle-right:before { font-family: 'ts-icons' !important; font-style: normal !important; font-weight: normal !important; speak: none; }
