
/* pages.css */

/* dinggao.css */

/* jinling.css */

/* minguo.css */
/* ==========================================================
   自托管字体　京華老宋体 · GB印通表字形
   ----------------------------------------------------------
   活字攷古 / 特里王，复刻 1961 年北京新华字模厂 61-1 体。
   免费商用，授权明文允许嵌入网页；禁止的是「修改字形」与
   「单独作为字体文件出售」。子集化只删除本站未用到的字，
   不改动任何字形，故不属于禁止之列。

   ⚠️ 必须用 GB印通表字形 这一个变体，不得换成主版 v3.0 或其他：
      主版把「真」画成旧字形「眞」；
      汇文明朝体更严重——把简体码位直接画成繁体（让→讓、认识→認識、
      证→証），对一个律师的站是硬伤，已弃用。
      比对页留在 /v3/fonttest/ 备查。

   子集：全站 1641 字 → 615 KB（原 TTF 28 MB）。
   font-display: swap —— 字体没到之前先用系统宋体顶上，不白屏。
   ========================================================== */
@font-face {
  font-family: "JingHwaOldSong";
  src: url("assets/font/jinghua-gb.woff2") format("woff2");
  font-weight: 400 700;      /* 单字重，粗细交给字号与字距 */
  font-style: normal;
  font-display: swap;
}

/* ==========================================================
   gaolex.net v3 · B3 民国定稿
   ----------------------------------------------------------
   针对「细节凌乱、不成体系」的收敛：
   全页一个版框，内部只用三种线切分；印是唯一的标记系统。
   撤掉：鱼尾、朱框标签、朱丝栏（记号重复，各说各话）
   ========================================================== */

:root {
  --paper:    #ece7db;
  --paper-2:  #e2dccd;
  --paper-3:  #d2cbba;
  --ink:      #241f1b;
  --ink-2:    #524b43;
  --faint:    #6a6259;   /* 4.86:1 —— 原 #877e73 只有 3.23:1，写小字费眼 */
  --hair:     #877e73;   /* 原弱色降级为纯装饰用，只走细线，不写字 */
  --rule:     #ada396;
  --rule-2:   #cbc3b4;
  --seal:     #9c3b2e;
  --link:     #4a6076;   /* 功能链接色：只用于正文链接与邮箱，不参与栏目识别 */

  /* 领域色分两套：原色只走线、边框与栏目标记；带 -t 的用于文字，均 ≥4.5:1 */
  --law:      #6e625a;   --law-t:   #554b43;   /* 6.88:1 */
  --dive:     #7e9195;   --dive-t:  #4f6367;   /* 5.14:1 */
  --photo:    #a98c7b;   --photo-t: #7a5f4e;   /* 4.76:1 */
  --ai:       #7c8798;   --ai-t:    #4e5a6b;   /* 5.68:1 */

  --serif-title: "JingHwaOldSong", "Songti SC", "STSong", serif;
  --serif: "JingHwaOldSong", "Songti SC", "STSong", serif;
  --mono:  "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --shell: min(1240px, calc(100vw - 60px));
}

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

body {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 16.5px;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;

  /* 纸：底色 + 明显一些的斑 + 更重的四角暗角 */
  background-color: var(--paper);
  background-image:
    radial-gradient(ellipse 26% 18% at 14% 9%,  rgba(146,120,84,.10), transparent 68%),
    radial-gradient(ellipse 18% 13% at 88% 22%, rgba(140,112,78,.095), transparent 68%),
    radial-gradient(ellipse 22% 15% at 33% 47%, rgba(150,124,88,.075), transparent 70%),
    radial-gradient(ellipse 30% 20% at 74% 63%, rgba(138,110,76,.085), transparent 70%),
    radial-gradient(ellipse 24% 17% at 9% 82%,  rgba(146,118,82,.09),  transparent 68%),
    radial-gradient(ellipse 34% 22% at 58% 95%, rgba(140,114,80,.08),  transparent 70%),
    radial-gradient(ellipse 118% 86% at 50% 50%, transparent 44%, rgba(74,58,40,.16) 100%);
  background-attachment: fixed;
}

/* 纸纹：噪点 + 横向纤维，比上一版脏一档 */
body::before {
  content: "";
  position: fixed; inset: 0; z-index: 0;
  pointer-events: none;
  opacity: .82;
  mix-blend-mode: multiply;
  background-image:
    repeating-linear-gradient(0deg,
      rgba(120,98,70,.030) 0 1px, transparent 1px 3px),
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'>\
<filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='5' stitchTiles='stitch'/>\
<feColorMatrix type='saturate' values='0'/></filter>\
<rect width='200' height='200' filter='url(%23n)' opacity='.46'/></svg>");
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, ul, ol, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }

/* ==========================================================
   版框 —— 民国书刊的外双框。全站唯一的"外壳"，
   内部所有线都是它的再切分，体系从这里来
   ========================================================== */
.frame-outer {
  width: var(--shell);
  margin: 26px auto 34px;
  position: relative; z-index: 1;
  border: 2.5px solid var(--ink);
  padding: 4px;
}
.frame-inner {
  border: 1px solid var(--ink);
  padding: 30px 34px 26px;
}

/* ---------- 三种线，仅此三种 ---------- */
.line-a {                      /* 甲：章节界 —— 双线 */
  height: 5px;
  border-top: 2.5px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.line-b { border-top: 1px solid var(--rule); }        /* 乙：条目界 */
.line-c { border-top: 1px dotted var(--rule-2); }     /* 丙：次级 */

/* ---------- 报头 ---------- */
.masthead-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  padding-bottom: 15px;
}
.brand-block { display: flex; align-items: center; gap: 15px; }

/* 主印：套印不准 —— 微微旋转偏移，像手钤上去的 */
.seal-main {
  width: 62px; height: 62px;
  transform: rotate(-2.2deg) translate(0, 1px);
  opacity: .94;
  flex: 0 0 auto;
}
.wordmark { display: flex; flex-direction: column; gap: 4px; }
.wordmark .zh {
  font-family: var(--serif-title);
  font-size: 43px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.05;
  /* 民国铅字：墨色不匀 */
  text-shadow: 0.4px 0.3px 0 rgba(36,31,27,.30);
}
.wordmark .motto {
  color: var(--ink-2);
  font-size: 13px;
  letter-spacing: 0.42em;
}

/* 报眼 —— 用统一的双线框 */
.ear { border: 2px solid var(--ink); padding: 3px; min-width: 176px; }
.ear-in { border: 1px solid var(--rule); padding: 9px 14px; text-align: center; }
.ear .l1 { font-family: var(--serif-title); font-size: 15.5px; letter-spacing: 0.16em; line-height: 1.75; }
.ear .hr { height: 1px; background: var(--rule-2); margin: 6px 0; }
.ear .l2 { font-size: 11.5px; letter-spacing: 0.12em; color: var(--ink-2); line-height: 1.75; }

.nav {
  display: flex; gap: 34px;
  padding-top: 12px;
  font-size: 15px;
  letter-spacing: 0.16em;
  color: var(--ink-2);
}
.nav a.on { color: var(--ink); position: relative; }
.nav a.on::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -5px;
  border-top: 2px solid var(--ink); border-bottom: 1px solid var(--ink); height: 4px;
}

/* ---------- 栏目头：标记只用压角印 ---------- */
.room-head {
  display: flex; align-items: center; flex-wrap: wrap; gap: 2px 10px;
  padding: 8px 0 7px;
  margin-bottom: 13px;
  border-top: 2.5px solid var(--accent, var(--ink));
  position: relative;
}
.room-head::after {
  content: ""; position: absolute; left: 0; right: 0; top: 3.5px;
  border-top: 1px solid var(--accent, var(--ink)); opacity: .5;
}
.room-seal {
  width: 27px; height: 27px;
  transform: rotate(1.6deg);
  opacity: .9;
  flex: 0 0 auto;
}
.room-name {
  font-family: var(--serif-title);
  font-size: 20px; font-weight: 700; letter-spacing: 0.2em;
  white-space: nowrap; flex: 0 0 auto;
}
.room-tag {
  margin-left: auto; font-size: 12.5px; color: var(--faint); letter-spacing: 0.08em;
  white-space: nowrap; flex: 0 0 auto;
}

.room.law   { --accent: var(--law); }
.room.dive  { --accent: var(--dive); }
.room.photo { --accent: var(--photo); }
.room.ai    { --accent: var(--ai); }
.room.note  { --accent: var(--seal); }
.room.essay { --accent: var(--seal); }
.room + .room { margin-top: 32px; }

/* ---------- 条目 ---------- */
.entry { padding: 8px 0; border-bottom: 1px dotted var(--rule-2); }
.entry:last-child { border-bottom: 0; }
.entry .t { font-size: 15.5px; line-height: 1.62; display: block; }
.entry .d {
  font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.08em;
  color: var(--faint); display: block; margin-top: 2px;
}
.entry:hover .t { color: var(--accent, var(--ink)); }

.more {
  display: inline-block; margin-top: 12px;
  font-size: 13px; letter-spacing: 0.12em;
  color: var(--accent); border-bottom: 1px solid var(--accent); padding-bottom: 1px;
}

/* ---------- 头条（撤掉朱框标签，改用双线框图＋大标题） ---------- */
.lead {
  display: grid; grid-template-columns: 1.12fr 1fr;
  gap: 40px; align-items: center;
  padding: 28px 0 30px;
}
.lead .kicker {
  font-family: var(--serif-title);
  font-size: 13px; letter-spacing: 0.3em; color: var(--ink-2);
  padding-bottom: 11px;
}
.lead h1 {
  font-family: var(--serif-title);
  font-size: 39px; line-height: 1.34; font-weight: 700;
  letter-spacing: 0.015em; max-width: 15em;
  text-shadow: 0.4px 0.3px 0 rgba(36,31,27,.26);
}
.lead p { font-size: 15.5px; line-height: 1.86; color: var(--ink-2); margin-top: 15px; max-width: 27em; }
.lead .date { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; color: var(--faint); margin-top: 14px; }

/* 图片：同一种双线框 */
.plate { border: 2px solid var(--ink); padding: 4px; background: var(--paper-2); }
.plate-in { border: 1px solid var(--rule-2); padding: 5px; }
.plate img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  filter: sepia(.2) saturate(.72) contrast(1.04) brightness(.975);
}

/* ---------- 界行 ---------- */
.grid { display: grid; grid-template-columns: 1.55fr 3px 1fr; margin-top: 4px; }
.col-l { padding-right: 38px; }
.col-r { padding-left: 38px; }
.jiehang {
  background:
    linear-gradient(to right, var(--rule) 0 1px, transparent 1px 100%),
    linear-gradient(to left,  var(--rule) 0 1px, transparent 1px 100%);
}

/* ---------- 摄影：接触印样 ---------- */
.sheet-wrap { background: var(--paper-3); }
.sheet-edge {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 12px; height: 15px; background: #3c3630;
}
.perf { display: flex; gap: 9px; }
.perf i { display: block; width: 9px; height: 7px; background: var(--paper-3); border-radius: 1.5px; }
.edge-txt { font-family: var(--mono); font-size: 7.5px; letter-spacing: 0.22em; color: #cdc2ae; }
.frames { display: grid; grid-template-columns: repeat(var(--cols,3), 1fr); gap: 10px; padding: 11px 12px 13px; }
.frame img {
  width: 100%; aspect-ratio: 3 / 2; object-fit: cover;
  filter: sepia(.14) saturate(.8) contrast(1.04);
  border: 1px solid rgba(36,31,27,.45);
}
.frame .no { font-family: var(--mono); font-size: 8.5px; letter-spacing: 0.14em; color: var(--ink-2); padding-top: 4px; }
.frame .cap { font-size: 12px; line-height: 1.5; padding-top: 1px; }

/* ---------- 潜水日志：改用统一的乙线，撤掉朱丝栏 ---------- */
.logbook { border-top: 2px solid var(--dive); }
.log-row {
  display: grid; grid-template-columns: 52px 1fr auto;
  align-items: center; gap: 14px;
  padding: 8px 0; border-bottom: 1px solid var(--rule-2);
}
.log-row .no { font-family: var(--serif-title); font-size: 13px; color: var(--dive); letter-spacing: 0.08em; }
.log-row .t { font-size: 15px; line-height: 1.6; }
.log-row .d { font-family: var(--mono); font-size: 10.5px; color: var(--faint); letter-spacing: 0.06em; }

/* ---------- 本站小启：同一种双线框 ---------- */
.note-box { border: 2px solid var(--rule); padding: 3px; }
.note-in { border: 1px solid var(--rule-2); padding: 14px 16px; }
.note-in p { font-size: 14.5px; line-height: 1.95; color: var(--ink-2); }
.note-in p + p { margin-top: 10px; }
.note-hr { height: 1px; background: var(--rule-2); margin: 13px 0; }
.zhengye {
  display: grid; grid-template-columns: 3.4em 1fr;
  row-gap: 3px; font-size: 14.5px; line-height: 1.85;
}
.zhengye dt { font-family: var(--serif-title); letter-spacing: 0.22em; color: var(--faint); }
.zhengye dd { margin: 0; color: var(--ink); letter-spacing: 0.06em; }
.note-tail { font-size: 14px; color: var(--seal); letter-spacing: 0.1em; margin-top: 11px; }

/* ---------- 牌记（民国版权页那一块） ---------- */
.colophon { margin-top: 40px; }
.colophon-box {
  border: 2px solid var(--ink); padding: 3px; margin-top: 15px;
}
.colophon-in {
  border: 1px solid var(--rule);
  padding: 14px 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.creed { font-size: 13.5px; line-height: 1.95; color: var(--ink-2); letter-spacing: 0.03em; }
.imprint { text-align: right; font-size: 11.5px; color: var(--faint); letter-spacing: 0.06em; line-height: 1.9; }
.seal-foot {
  width: 46px; height: 46px;
  transform: rotate(3.4deg);
  opacity: .9;
  flex: 0 0 auto;
}

.proto-tag {
  position: fixed; z-index: 50; bottom: 0; left: 0;
  background: var(--ink); color: var(--paper);
  font-family: var(--mono); font-size: 11px;
  letter-spacing: 0.08em; padding: 5px 12px;
}


/* ==========================================================
   gaolex.net v3 · B4 金陵版
   在 B3 之上加民国的四件实物细节：
   题签（竖排四字＋注音）、线装订孔、回纹角花、牌记印於金陵
   繁体只走"仪式性"文字（印、题签、牌记），
   导航／标题／正文／备案号一律简体
   ========================================================== */

/* ---------- 版框：加订孔与角花 ---------- */
.frame-outer { position: relative; padding: 7px; }

/* 线装四眼：中式线装书订口在右，故孔在右边 */
.frame-outer::after {
  content: "";
  position: absolute;
  top: 16%; bottom: 16%; right: 2.5px;
  width: 5px;
  background-image: radial-gradient(circle at 50% 50%,
      rgba(36,31,27,.62) 0 2.1px, transparent 2.3px);
  background-size: 5px 23%;
  background-repeat: repeat-y;
  opacity: .55;
}

.frame-inner { position: relative; }
.corner {
  position: absolute;
  width: 34px; height: 34px;
  opacity: .5;
  pointer-events: none;
}
.corner.tl { top: 5px;  left: 5px; }
.corner.tr { top: 5px;  right: 5px;  transform: rotate(90deg); }
.corner.br { bottom: 5px; right: 5px; transform: rotate(180deg); }
.corner.bl { bottom: 5px; left: 5px;  transform: rotate(270deg); }

/* ---------- 题签：贴在封面上的竖排书签 ---------- */
.masthead-top { align-items: flex-start; }
.brand-block { align-items: flex-start; gap: 18px; }

.tiqian {
  background: #f6f2e8;
  border: 1px solid var(--ink);
  padding: 3px;
  /* 标签本身就不正——和站名是一路的。角度经主任比选定在 −6° */
  transform: rotate(-6deg) translateY(3px);
  box-shadow: 2px 3.5px 0 rgba(70,56,40,.16);
  flex: 0 0 auto;
}
.tiqian-in {
  border: 1px solid var(--rule-2);
  padding: 11px 9px 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.v-char { display: flex; align-items: flex-start; gap: 3px; }
.v-char b {
  font-family: var(--serif-title);
  font-size: 27px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-shadow: 0.4px 0.3px 0 rgba(36,31,27,.28);
}
/* 注音：竖排，钉在字的右侧，旧课本的做法 */
.v-char i {
  writing-mode: vertical-rl;
  font-style: normal;
  font-size: 8.5px;
  line-height: 1.06;
  letter-spacing: .02em;
  color: var(--ink-2);
  padding-top: 1px;
}

/* 主印压在题签右下，像钤在书签上 */
.seal-on-slip {
  width: 54px; height: 54px;
  transform: rotate(-3.4deg);
  opacity: .93;
  align-self: flex-end;
  margin-left: -12px;
  flex: 0 0 auto;
}

.head-copy {
  align-self: center;
  padding-left: 6px;
  border-left: 1px solid var(--rule-2);
  padding-block: 4px;
}
.head-copy .motto {
  display: block;
  font-family: var(--serif-title);
  font-size: 15px;
  letter-spacing: 0.4em;
  color: var(--ink);
}
.head-copy .sub {
  display: block;
  font-size: 11.5px;
  letter-spacing: 0.22em;
  color: var(--faint);
  padding-top: 6px;
}

/* ---------- 栏目名的注音 ---------- */
.room-name { display: inline-flex; align-items: baseline; gap: 7px; }
.room-name .bo {
  font-family: var(--serif);
  font-size: 9.5px;
  font-weight: 400;
  letter-spacing: .04em;
  color: var(--faint);
  position: relative;
  top: -1px;
}

/* ---------- 栏花：万字回纹带，全站只用一处 ---------- */
.orn-band {
  height: 14px;
  margin: 26px 0 22px;
  background-image: url("assets/orn/flower.svg");
  background-repeat: repeat-x;
  background-position: center;
  opacity: .85;
}

/* ---------- 牌记 ---------- */
.colophon-in { align-items: flex-start; }
.imprint {
  font-family: var(--serif-title);
  font-size: 12.5px;
  color: var(--ink-2);
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: right;
}
.imprint .legal {
  display: block;
  font-family: var(--serif);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--faint);
  line-height: 1.8;
  padding-top: 5px;
}


/* ==========================================================
   gaolex.net v3 · 首页定稿
   主任已删：① 万字栏花　⑥ 本期要目　⑦ 报纸式栏名
             ⑧ 专名号　⑨ 书名波浪线　⑩ 着重圈点　⑪ 版心页码
   主任已留：② 落款印钤「达」字　④ 卷首语　⑤ 头条朱印
             ⑫ 油印墨色不匀　＋ 骑缝章
   ③ 改回「共 五十三 篇」（"總第…號"是数期数的，博客无期）
   ========================================================== */

/* ① 万字回纹栏花：撤 */
.orn-band { display: none !important; }

/* ② 落款印：大小约合一字，钤在末字右下，压住一角 */
.head-copy { position: relative; }
.motto-wrap { position: relative; display: inline-block; padding-right: 18px; }
.seal-on-da {
  position: absolute;
  right: -3px; bottom: -6px;
  width: 23px; height: 23px;
  transform: rotate(-7deg);
  opacity: .82;
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* ④ 卷首语 */
.juanshou {
  display: block;
  font-family: var(--serif-title);
  font-size: 14px; letter-spacing: 0.16em;
  color: var(--ink-2);
  padding-top: 12px;
}

/* ⑤ 头条朱文长印 */
.lead { position: relative; }
.lead-head { display: flex; align-items: flex-start; gap: 18px; }
.seal-toutiao {
  width: 34px; height: 68px;
  transform: rotate(-2deg);
  opacity: .88;
  flex: 0 0 auto;
  margin-top: 5px;
}

/* 骑缝章：钤在右侧订口 */
.seal-qifeng {
  position: absolute;
  right: -7px; top: 300px;
  width: 29px; height: 60px;
  opacity: .62;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 3;
}

/* ⑫ 油印墨色不匀 */
.youyin .entry .t,
.youyin .log-row .t,
.youyin .frame .cap {
  text-shadow: 0.35px 0.25px 0 rgba(36,31,27,.22);
}


/* ==========================================================
   gaolex.net v3 · 栏目页 / 关于页
   ========================================================== */

/* ---------- 栏目页题头 ---------- */
.cat-head { display: flex; align-items: flex-end; gap: 14px; padding: 26px 0 12px; }
.cat-head .seal-cat { width: 44px; height: 44px; transform: rotate(1.6deg); opacity: .9; }
.cat-head h1 {
  font-family: var(--serif-title);
  font-size: 30px; font-weight: 700; letter-spacing: 0.26em; line-height: 1;
  text-wrap: balance;
}
.cat-head .bo { font-size: 11px; color: var(--faint); letter-spacing: .04em; padding-bottom: 4px; }
.cat-head .cnt {
  margin-left: auto; font-family: var(--serif-title);
  font-size: 14px; color: var(--ink-2); letter-spacing: 0.14em;
}
.cat-lead {
  font-size: 14.5px; line-height: 1.9; color: var(--ink-2);
  max-width: 40em; padding: 12px 0 0;
  text-wrap: pretty;
}

/* 筛选条：文字式，不做胶囊 */
.filters {
  display: flex; align-items: baseline; gap: 26px;
  padding: 15px 0 13px;
  font-size: 14.5px; letter-spacing: 0.1em; color: var(--ink-2);
}
.filters a.on { color: var(--ink); border-bottom: 1px solid var(--ink); padding-bottom: 2px; }
.filters .sup { font-family: var(--mono); font-size: 9.5px; color: var(--faint); margin-left: 3px; }
.filters form { margin-left: auto; display: flex; align-items: baseline; gap: 9px; }
.filters label { font-size: 12.5px; color: var(--faint); letter-spacing: .16em; }
.filters input {
  border: 0; border-bottom: 1px solid var(--rule);
  background: transparent; font-family: var(--serif); font-size: 14px;
  padding: 3px 2px; width: 168px; color: var(--ink);
}
.filters input:focus { border-bottom-color: var(--seal); }

/* ---------- 摄影：满幅印样墙 ---------- */
.sheet-full { margin-top: 6px; }
.sheet-full .frames { grid-template-columns: repeat(5, 1fr); padding: 13px 14px 15px; }
.sheet-full .frame .cap { font-size: 11.5px; }

/* ---------- 文字栏目：两栏条目 ---------- */
.cat-list {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
  column-gap: 42px;
  margin-top: 6px;
}
.cat-list .entry { padding: 11px 0; }

/* ---------- 分页 ---------- */
.pager {
  display: flex; align-items: center; justify-content: center; gap: 20px;
  padding: 26px 0 4px;
  font-family: var(--serif-title); font-size: 14px; letter-spacing: 0.14em;
}
.pager a { color: var(--ink-2); }
.pager .cur {
  color: var(--seal);
  border-bottom: 1px solid var(--seal); padding-bottom: 2px;
}
.pager .gap { color: var(--faint); }

/* ---------- 关于页 ---------- */
.about-grid { display: grid; grid-template-columns: minmax(0,1fr) 3px 300px; margin-top: 4px; }
.about-main { padding-right: 46px; }
.about-side { padding-left: 32px; }

.about-title { display: flex; align-items: flex-end; gap: 14px; padding: 26px 0 14px; }
.about-title img { width: 52px; height: 52px; transform: rotate(-2.4deg); opacity: .92; }
.about-title h1 {
  font-family: var(--serif-title);
  font-size: 30px; font-weight: 700; letter-spacing: 0.3em; line-height: 1;
}

.about-body { font-size: 16.5px; line-height: 2.05; color: #302b26; max-width: 32em; }
.about-body p { margin: 1.05em 0; }
.about-body p.big {
  font-family: var(--serif-title);
  font-size: 19px; line-height: 1.95; letter-spacing: 0.04em; color: var(--ink);
  margin: 0.2em 0 1.1em;
}
.about-sign {
  display: flex; align-items: center; gap: 14px;
  margin-top: 30px; padding-top: 18px;
  border-top: 1px solid var(--rule);
  font-family: var(--serif-title); font-size: 15px; letter-spacing: 0.2em; color: var(--seal);
}
.about-sign img { width: 42px; height: 42px; transform: rotate(-5deg); opacity: .9; }

/* 右栏：正业／爱好 与 联系 */
.card { border: 2px solid var(--rule); padding: 3px; }
.card-in { border: 1px solid var(--rule-2); padding: 15px 17px; }
.card + .card { margin-top: 22px; }
.card h3 {
  font-family: var(--serif-title); font-size: 14px; font-weight: 700;
  letter-spacing: 0.24em; color: var(--ink-2); margin-bottom: 11px;
}
.card dl { display: grid; grid-template-columns: 3.6em 1fr; row-gap: 5px; font-size: 14.5px; line-height: 1.85; }
.card dt { font-family: var(--serif-title); letter-spacing: 0.2em; color: var(--faint); }
.card dd { margin: 0; letter-spacing: 0.05em; }
.card .mail {
  font-family: var(--mono); font-size: 14px; letter-spacing: .04em;
  color: var(--link);
  border-bottom: 1px solid rgba(74,96,118,.4); padding-bottom: 1px;
}
.card p.note { font-size: 13px; line-height: 1.8; color: var(--faint); margin-top: 10px; }

/* 草稿提示条（仅原型） */
.draft-note {
  border: 1px dashed var(--seal); padding: 11px 15px; margin-top: 26px;
  font-size: 12.5px; line-height: 1.8; color: var(--seal); letter-spacing: .04em;
}


/* site.css */
/* ==========================================================
   gaolex.net v3 · 真站补充样式
   原型里的条目是 div，真站里全部改成可点的 <a>，
   这张表负责把链接态、悬停与新增的整栏列表补齐。
   加载顺序：dinggao/pages/article → site → mobile
   ========================================================== */

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
/* hidden 是交互状态，不能被摄影卡片等 display 规则覆盖。 */
[hidden] { display: none !important; }

/* 键盘入口：平时不占版面，获得焦点时落在版框左上。 */
.skip-link {
  position: fixed; z-index: 100; left: 18px; top: 14px;
  padding: 8px 12px; background: var(--ink); color: var(--paper);
  font-size: 13px; letter-spacing: .08em;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }
.sr-only:not(:focus):not(:active) {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.sr-only:focus {
  position: relative; width: auto; height: auto; margin: 0; padding: 4px 7px;
  border: 1px solid var(--seal); background: var(--paper-2); color: var(--ink);
}

/* 头条：标题与图都可点 */
.lead h1 a { color: inherit; }
.lead h1 a:hover { color: var(--seal); }
a.plate { display: block; }
a.plate .plate-in { display: block; border: 1px solid var(--rule-2); padding: 5px; }
a.plate:hover { border-color: var(--seal); }

/* 日志行改成链接 */
a.log-row { color: inherit; }
a.log-row:hover .t { color: var(--dive); }
.logbook-full { border-top: 2px solid var(--dive); }
.logbook-full .log-row { grid-template-columns: 62px 1fr auto; }

/* 印样格改成链接 */
a.frame { display: block; color: inherit; }
a.frame .no, a.frame .cap { display: block; }
a.frame:hover img { filter: sepia(.05) saturate(1) contrast(1.04); }
a.frame:hover .cap { color: var(--seal); }

/* 条目 */
.entry a { display: block; }
.entry:hover .t { color: var(--accent, var(--seal)); }

/* 栏目页：整栏两列条目 */
.cat-list {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
  column-gap: 44px; margin-top: 8px; list-style: none; padding: 0;
}
.cat-list .entry { padding: 11px 0; border-bottom: 1px dotted var(--rule-2); }
.cat-list .entry .t { font-size: 15.5px; line-height: 1.6; }
.cat-list .entry .d { margin-top: 4px; }

/* 文章页题头里的分类是链接 */
.art-kicker a.cat:hover { color: var(--seal); }

/* 报头题签可点 */
a.tiqian { display: inline-block; color: inherit; }

/* 上下篇缺一侧时占位不塌 */
.prevnext > span.pv, .prevnext > span.nx { display: block; }

/* 焦点可见 */
a:focus-visible, input:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--seal); outline-offset: 3px;
}

/* ==========================================================
   列表条目：左缩略图 + 标题摘要 + 右日期
   衬纸框固定尺寸，图 contain 完整装入不裁切 —— 标题左缘因此永远对齐
   （v2 的毛病就是没有这个固定框，竖图横图把标题推得参差不齐）
   ========================================================== */
.entry a {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  align-items: start;
  gap: 13px;
}
.entry .thumb {
  display: grid; place-items: center;
  width: 76px; height: 52px;
  background: var(--paper-2);
  border: 1px solid var(--rule-2);
  overflow: hidden;
}
.entry .thumb img {
  max-width: 100%; max-height: 100%;
  width: auto; height: auto;
  object-fit: contain;
  filter: sepia(.14) saturate(.8) contrast(1.03);
}
.entry .thumb.is-empty { background: var(--paper-3); }
.entry .copy { min-width: 0; }
.entry .t { display: block; }
.entry .x {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 3px;
  font-size: 12.5px; line-height: 1.6; color: var(--faint);
}
.entry .d { text-align: right; white-space: nowrap; margin-top: 2px; }
.entry a:hover .thumb { border-color: var(--accent, var(--seal)); }

/* 首页右栏窄，缩略图与摘要都收一档 */
.col-r .entry a { grid-template-columns: 60px minmax(0,1fr); gap: 11px; }
.col-r .entry .thumb { width: 60px; height: 42px; }
.col-r .entry .x { display: none; }
.col-r .entry .d { grid-column: 2; text-align: left; margin-top: 3px; }

/* 栏目页列表：单栏，给摘要留出地方 */
.cat-list { grid-template-columns: 1fr; column-gap: 0; }
.cat-list .entry a { grid-template-columns: 104px minmax(0,1fr) auto; gap: 16px; }
.cat-list .entry .thumb { width: 104px; height: 70px; }
.cat-list .entry .d { line-height: 1.7; }

/* 题图：不加图注，避免与摘要重复 */
.prose figure.art-hero { margin-top: 0; }

/* 题签歪到 −4.2° 后四角外扩，给报头留余量，避免蹭到版框与报眼 */
.masthead-top { padding-top: 4px; }
.brand-block { padding-left: 3px; }
.tiqian { transform-origin: 50% 55%; }

/* ---------- 潜水日志：加缩略图 ---------- */
.log-row { grid-template-columns: 52px 84px minmax(0,1fr) auto; }
.log-row .thumb {
  display: grid; place-items: center;
  width: 84px; height: 56px;
  background: var(--paper-2); border: 1px solid var(--rule-2);
  overflow: hidden;
}
.log-row .thumb img {
  max-width: 100%; max-height: 100%; width: auto; height: auto;
  object-fit: contain;
  filter: sepia(.14) saturate(.8) contrast(1.03);
}
.log-row:hover .thumb { border-color: var(--dive); }
/* 首页左栏稍窄，缩一档 */
.col-l .log-row { grid-template-columns: 46px 72px minmax(0,1fr) auto; }
.col-l .log-row .thumb { width: 72px; height: 48px; }
/* 栏目页整栏，放大一点 */
.logbook-full .log-row { grid-template-columns: 58px 104px minmax(0,1fr) auto; }
.logbook-full .log-row .thumb { width: 104px; height: 70px; }

/* ==========================================================
   列表缩略图改为裁切（主任 2026-08-18 定）
   ----------------------------------------------------------
   规矩修正：
     列表缩略图 + 印样格 → 裁切（cover），只作索引路标，求整齐；
     文章正文图           → 不裁切，完整显示，那里才是看作品的地方。
   原基线「不用 cover 静默裁切文章图片」仍然成立——它约束的是正文图。
   ========================================================== */
.entry .thumb img,
.log-row .thumb img {
  width: 100%; height: 100%;
  max-width: none; max-height: none;
  object-fit: cover;
  object-position: center;
}

/* 衬纸框原本是「居中网格 + contain」，改裁切后居中会让图不被拉伸、
   只靠 overflow 硬裁，尺寸对不齐。这里让框内规规矩矩填满。 */
.entry .thumb, .log-row .thumb { display: block; position: relative; }
.entry .thumb img, .log-row .thumb img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}

/* ---------- 关于页：主任亲笔 ---------- */
.about-body p:first-child::first-letter {
  font-family: var(--serif-title);
  font-size: 1.9em; line-height: .9; font-weight: 700;
  float: left; margin: .06em .12em 0 0; color: var(--ink);
}
.about-body p:first-child { display: flow-root; }
.about-body p.coda {
  margin-top: 26px; padding-top: 18px;
  border-top: 1px solid var(--rule);
  font-family: var(--serif-title);
  font-size: 16px; letter-spacing: .12em; line-height: 2;
  color: var(--ink-2);
}

/* 无图的条目：位置留着让标题对齐，框本身不画——空着就是空着 */
.entry .thumb.is-empty, .log-row .thumb.is-empty {
  background: transparent; border: 0;
}

/* 摄影栏目里没有照片的篇目，另起一段纯文字简目 */
.plain-list { margin-top: 30px; }
.plain-head {
  font-family: var(--serif-title); font-size: 13.5px;
  letter-spacing: .26em; color: var(--faint);
  padding-bottom: 8px; border-bottom: 1px solid var(--rule-2); margin-bottom: 6px;
}
.plain-list ul { list-style: none; margin: 0; padding: 0; }
.plain-list li { border-bottom: 1px dotted var(--rule-2); }
.plain-list a {
  display: flex; align-items: baseline; justify-content: space-between; gap: 18px;
  padding: 10px 0; font-size: 15px; line-height: 1.6;
}
.plain-list .d { font-family: var(--mono); font-size: 10.5px; color: var(--faint); white-space: nowrap; }
.plain-list a:hover .t { color: var(--photo); }

/* ---------- 页脚牌记：红章盖在印刷地上，随字样一起定位 ---------- */
.colophon-in { align-items: center; }
.imprint-group { display: flex; align-items: center; gap: 18px; }
.imprint { text-align: right; }
.imprint-stamp { position: relative; display: inline-block; white-space: nowrap; isolation: isolate; }
.imprint-stamp .seal-foot {
  position: absolute; width: 46px; height: 46px;
  right: -3px; top: 50%; margin: 0;
  transform: translateY(-50%) rotate(-8deg);
  opacity: .82; mix-blend-mode: multiply; pointer-events: none;
}

/* ---------- 潜水改用普通条目列表，日志册样式退役 ---------- */
.logbook, .logbook-full, .log-row { all: unset; }

/* 首页左栏较宽，条目摘要要显示（右栏窄仍隐藏） */
.col-l .entry .x { display: -webkit-box; }

/* ---------- 公众号二维码：做成站内的一个物件，用统一的双线框 ---------- */
.qr { margin: 0; text-align: center; }
.qr-frame { display: inline-block; border: 2px solid var(--ink); padding: 3px; background: var(--paper-2); }
.qr-in { display: block; border: 1px solid var(--rule-2); padding: 6px; }
.qr img { display: block; width: 132px; height: 132px; object-fit: contain; }
.qr figcaption {
  font-family: var(--serif-title); font-size: 13.5px;
  letter-spacing: .24em; color: var(--ink-2); padding-top: 10px;
}

/* 牌记：印挪到版权文字左边，让文字真正顶到右内沿
   （原来印占着最右一格，文字只能停在离边 65px 的地方，看着像吊在中间） */
.imprint-group { flex-direction: row-reverse; }

/* ==========================================================
   对比度修正（2026-08-18）
   领域色原值只有 2.5–3:1，做线可以，写字费眼。
   文字一律改用 -t 变体（≥4.5:1），原色留给线、边框与栏目标记。
   ========================================================== */
.room.law   { --accent-t: var(--law-t); }
.room.dive  { --accent-t: var(--dive-t); }
.room.photo { --accent-t: var(--photo-t); }
.room.ai    { --accent-t: var(--ai-t); }
.room.note  { --accent-t: var(--seal); }
.room.essay { --accent-t: var(--seal); }

.more            { color: var(--accent-t, var(--seal)); border-bottom-color: var(--accent, var(--rule)); }
.room-no         { color: var(--accent-t, var(--faint)); }
.entry:hover .t  { color: var(--accent-t, var(--seal)); }
a.log-row:hover .t { color: var(--dive-t); }
a.frame:hover .cap { color: var(--photo-t); }
.plain-list a:hover .t { color: var(--photo-t); }
.art-kicker .cat { color: var(--accent-t, var(--ink-2)); }
.cat-head .bo, .room-name .bo { color: var(--ink-2); }

/* ==========================================================
   纪实图片不调色（2026-08-18）
   正文图一律保留原色——法律文书截图、界面、错误提示、红绿状态、
   数据图，一旦被褐调滤镜改色，可能改变证据含义。
   只有题图（文章自己的封面）保留极轻的旧调。
   ========================================================== */
.prose figure > img { filter: none !important; }
.prose figure.art-hero > img { filter: sepia(.10) saturate(.9) contrast(1.02) !important; }

/* ==========================================================
   首页头条不再裁切（2026-08-18）
   公众号封面是 2.35:1，塞进 4:3 框居中裁切会切掉左右约四成。
   现在按原比例完整显示。
   ========================================================== */
.lead .plate img { aspect-ratio: auto !important; object-fit: contain !important; height: auto !important; }

.lead h1 { text-wrap: balance; }
.lead p, .room-tag, .entry .x { text-wrap: pretty; }

/* ---------- 栏目页检索 ---------- */
.filters form { margin-left: auto; display: flex; align-items: baseline; gap: 10px; }
.filters label { font-size: 12.5px; color: var(--faint); letter-spacing: .18em; }
.filters input {
  border: 0; border-bottom: 1px solid var(--rule); background: transparent;
  font-family: var(--serif); font-size: 14.5px; padding: 3px 2px; width: 190px; color: var(--ink);
}
.filters input:focus { border-bottom-color: var(--seal); }
.filters input::-webkit-search-cancel-button { filter: grayscale(1) opacity(.5); }
.filters label { white-space: nowrap; }
.filters button {
  border: 1px solid var(--rule); background: var(--paper-2); color: var(--ink);
  padding: 5px 10px; cursor: pointer; white-space: nowrap;
}
.filters button:hover { border-color: var(--seal); }
.notes-search-status { color: var(--faint); font-size: 13px; }
.notes-search-status:empty { display: none; }
.notes-count, .notes-empty {
  font-size: 13px; color: var(--faint); letter-spacing: .06em; padding: 10px 0 0;
}
.notes-count b { color: var(--seal); font-weight: 400; }
.notes-empty { padding: 26px 0; text-align: center; }
.notes-noscript { font-size: 13px; color: var(--faint); padding: 12px 0; }

/* 761px 以上使用同一套流体双栏；只有达到真实最小栏宽时才切手机单栏。 */
@media (min-width: 761px) {
  .frame-inner { padding-inline: clamp(22px, 3vw, 38px); }
  .lead {
    grid-template-columns: minmax(0, 1.22fr) minmax(280px, 1fr);
    gap: clamp(24px, 2.3vw, 34px);
  }
  .lead h1 { font-size: clamp(33px, 3.2vw, 39px); line-height: 1.36; }
  .lead-head { gap: clamp(12px, 1.2vw, 15px); }
}

/* 404 也沿用同一套标题、线与留白，不再靠行内样式。 */
.not-found { padding: 82px 0 102px; text-align: center; }
.not-found-code {
  font: 12px/1.5 var(--serif-title); letter-spacing: .3em; color: var(--seal);
}
.not-found h1 {
  margin: 18px 0 26px; font: 700 56px/1.3 var(--serif-title);
  letter-spacing: .08em; text-wrap: balance;
}

time, .entry .d, .art-kicker .date { font-variant-numeric: tabular-nums; }
[id] { scroll-margin-top: 24px; }

/* v3.1：近期更新先呈现，四个栏目各留代表作。 */
.nav-search { margin-left: auto; color: var(--seal); }
.recent { padding: 19px 0 23px; margin-bottom: 22px; border-bottom: 1px solid var(--rule); }
.recent-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.recent-head h2 { margin: 0; font-size: 18px; letter-spacing: .15em; }
.recent-head > a { font-size: 13px; color: var(--seal); }
.recent ul { list-style: none; padding: 0; margin: 12px 0 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 36px; }
.recent li { min-width: 0; border-top: 1px dotted var(--rule-2); }
.recent li a { display: flex; align-items: baseline; gap: 15px; padding: 10px 0; line-height: 1.65; }
.recent time { flex: 0 0 auto; font: 10.5px/1.6 var(--mono); color: var(--faint); }
.recent li span { font-size: 15px; }
.recent a:hover { color: var(--seal); }
.home .photo .frames { --cols: 2; }
.footer-links, .reading-follow { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 20px; font-size: 13px; }
.footer-links { margin-top: 10px; }
.footer-links a, .reading-follow a { color: var(--link); border-bottom: 1px solid var(--rule-2); }
.reading-follow { padding: 17px 0; border-top: 1px dotted var(--rule); margin-top: 22px; }
.reading-follow > span { color: var(--faint); margin-right: auto; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  a, input, summary { transition: color .16s ease, border-color .16s ease, outline-color .16s ease; }
}


/* mobile.css */
/* ==========================================================
   gaolex.net v3 · 手机端样式
   必须在 article.css / pages.css 之后加载：
   @import 进来的规则排在前面，媒体查询不加权重，
   放在前面会被后面的桌面规则直接压掉。
   ========================================================== */

/* ==========================================================
   窄屏手机 —— 单栏，界行收起，版框收窄
   直排仍只用在题签那四个字上，正文一概横排
   ========================================================== */
@media (max-width: 760px) {
  :root { --shell: calc(100vw - 22px); }

  .frame-outer { margin: 12px auto 20px; padding: 4px; }
  .frame-outer::after { display: none; }          /* 订孔在窄屏太挤，收 */
  .frame-inner { padding: 16px 15px 18px; }
  .corner { width: 22px; height: 22px; }
  .seal-qifeng { display: none; }

  /* 报头：题签与报眼上下排 */
  .masthead-top { flex-direction: column; align-items: flex-start; gap: 14px; padding-bottom: 12px; }
  .brand-block { gap: 13px; }
  .v-char b { font-size: 23px; }
  .v-char i { font-size: 7.5px; }
  .head-copy { border-left: 1px solid var(--rule-2); padding-left: 12px; }
  .head-copy .motto { font-size: 13.5px; letter-spacing: 0.24em; }
  .head-copy .sub { font-size: 10px; letter-spacing: 0.12em; }
  .juanshou { font-size: 12.5px; letter-spacing: 0.1em; padding-top: 8px; }
  .seal-on-da { width: 19px; height: 19px; right: -2px; bottom: -5px; }
  .motto-wrap { padding-right: 15px; }
  .ear { align-self: stretch; min-width: 0; }
  .ear-in { padding: 7px 12px; }
  .ear .l1 { font-size: 14px; }
  .ear .l2 { font-size: 10.5px; }

  /* 导航：横向可滑，不用汉堡 */
  .nav {
    gap: 20px; padding-top: 10px; font-size: 14px; letter-spacing: 0.1em;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .nav::-webkit-scrollbar { display: none; }
  .nav a {
    flex: 0 0 auto; min-height: 44px; padding: 8px 0;
    display: inline-flex; align-items: center;
  }

  /* 主体：单栏 */
  .grid, .article-grid, .about-grid { grid-template-columns: 1fr; }
  .jiehang { display: none; }
  .col-l, .col-r, .art-main, .art-side, .about-main, .about-side {
    padding-left: 0; padding-right: 0;
  }
  .col-r, .art-side, .about-side {
    margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--rule);
  }

  /* 头条 */
  .lead { grid-template-columns: 1fr; gap: 18px; padding: 20px 0 22px; }
  .lead h1 { font-size: 26px; line-height: 1.42; }
  .lead-head { gap: 12px; }
  .seal-toutiao { width: 26px; height: 52px; }
  .lead p { font-size: 15px; }

  /* 印样：手机两列 */
  .frames { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; padding: 9px 9px 11px; }
  .sheet-full .frames { grid-template-columns: repeat(2, 1fr) !important; }
  .frame .cap { font-size: 11.5px; }
  .edge-txt { font-size: 6.5px; letter-spacing: 0.14em; }

  /* 日志 */
  .log-row { grid-template-columns: 40px 1fr; row-gap: 2px; padding: 9px 0; }
  .log-row .d { grid-column: 2; }

  /* 正文：手机放大到 17px */
  .prose { font-size: 17px; line-height: 1.92; }
  .prose > p, .prose blockquote, .prose ol, .prose ul { max-width: none; }
  .prose > p { text-align: left; }
  .prose h2 { font-size: 19px; padding-left: 11px; }
  .prose table { font-size: 13.5px; min-width: 420px; }
  .art-title { font-size: 25px; line-height: 1.45; }
  .art-deck { font-size: 14.5px; max-width: none; }
  .about-body { font-size: 17px; max-width: none; }
  .about-body p.big { font-size: 18px; }

  /* 上下篇改上下排 */
  .prevnext { grid-template-columns: 1fr; }
  .prevnext .sep { height: 1px; }
  .prevnext > a.pv, .prevnext > a.nx { padding: 13px 0; text-align: left; }

  /* 栏目页 */
  .cat-head { flex-wrap: wrap; gap: 10px; padding: 18px 0 10px; }
  .cat-head h1 { font-size: 24px; letter-spacing: 0.2em; }
  .cat-head .seal-cat { width: 34px; height: 34px; }
  .cat-list { grid-template-columns: 1fr; }
  .filters { flex-wrap: wrap; gap: 16px; font-size: 13.5px; }
  .filters > a { min-height: 44px; display: inline-flex; align-items: center; }
  .filters form { margin-left: 0; width: 100%; }
  .filters input { width: 100%; min-height: 44px; }
  .more { min-height: 44px; display: inline-flex; align-items: center; }

  /* 牌记 */
  .colophon-in { flex-direction: column; align-items: flex-start; gap: 14px; padding: 13px 15px; }
  .imprint { text-align: left; }
  .imprint-group { flex-direction: row; align-items: flex-start; gap: 13px; }
  .imprint-stamp .seal-foot { width: 38px; height: 38px; right: 0; margin: 0; }

  .note-box, .card { }
  .proto-tag { font-size: 9.5px; padding: 4px 8px; }
}

@media (max-width: 420px) {
  .frame-inner { padding: 14px 12px 16px; }
  .nav { gap: 17px; font-size: 13.5px; }
  .v-char b { font-size: 21px; }
  .lead h1 { font-size: 23px; }
  .art-title { font-size: 22px; }
  .not-found h1 { font-size: 40px; }
}

/* 平板宽度不再把正文压进 438px 小栏；目录前置，相关文章仍在文末。 */
@media (max-width: 1040px) {
  .article-grid, .about-grid { grid-template-columns: 1fr; }
  .article-grid > .jiehang, .about-grid > .jiehang { display: none; }
  .art-main, .about-main { padding-right: 0; }
  .art-side, .about-side {
    padding-left: 0; margin-top: 30px; padding-top: 24px;
    border-top: 1px solid var(--rule);
  }
  .art-side .sticky { position: static; }
  .art-side .side-toc { display: none; }
  .mobile-toc { display: block; }
}

@media (max-width: 760px) {
  /* 栏目头在窄屏换行，说明文字不再被切 */
  .room-head { flex-wrap: wrap; row-gap: 2px; }
  .room-head .room-tag { margin-left: 0; width: 100%; font-size: 11.5px; }
  .room-name { font-size: 18px; letter-spacing: 0.16em; }
  .room-seal { width: 23px; height: 23px; }
  .sheet-edge { overflow: hidden; }
}

@media (max-width: 760px) {
  /* 手机上缩略图更小，摘要收起，日期挪到标题下 */
  .entry a { grid-template-columns: 64px minmax(0,1fr); gap: 11px; }
  .entry .thumb { width: 64px; height: 44px; }
  .entry .x { display: none; }
  .entry .d { grid-column: 2; text-align: left; margin-top: 4px; }
  .cat-list .entry a { grid-template-columns: 74px minmax(0,1fr); gap: 12px; }
  .cat-list .entry .thumb { width: 74px; height: 50px; }
}

@media (max-width: 760px) {
  /* 齿孔带是定宽的一串小方块，挤不下也不肯缩，会把整栏顶出版心。
     让它可收缩并裁掉多余的孔，而不是撑破页面。 */
  .grid > *, .col-l, .col-r, .art-main, .art-side { min-width: 0; }
  .sheet-wrap, .sheet-full, .frames { min-width: 0; }
  .sheet-edge { min-width: 0; overflow: hidden; }
  .perf { flex: 0 1 auto; min-width: 0; overflow: hidden; }
  .edge-txt { flex: 0 0 auto; }
}

@media (max-width: 760px) {
  /* 手机：编号与缩略图并排，标题日期占第三列 */
  .log-row, .col-l .log-row, .logbook-full .log-row {
    grid-template-columns: 34px 64px minmax(0,1fr);
    row-gap: 2px; gap: 10px;
  }
  .log-row .thumb, .col-l .log-row .thumb, .logbook-full .log-row .thumb {
    width: 64px; height: 44px;
  }
  .log-row .no { font-size: 11.5px; }
  .log-row .d { grid-column: 3; text-align: left; margin-top: 3px; }
}

@media (max-width: 760px) {
  /* 文章页与栏目页用紧凑报头：题签、站名、导航都留着，只把报眼收小，
     免得连读几篇时每页都要先翻过半屏仪式。首页保留完整版。 */
  body:not(.home) .ear { min-width: 0; align-self: flex-start; padding: 2px; }
  body:not(.home) .ear-in { padding: 4px 10px; }
  body:not(.home) .ear .l1 { font-size: 12px; letter-spacing: .1em; }
  body:not(.home) .ear .hr { margin: 3px 0; }
  body:not(.home) .ear .l2 { font-size: 9.5px; line-height: 1.6; }
  body:not(.home) .masthead-top { gap: 9px; padding-bottom: 9px; }
  body:not(.home) .v-char b { font-size: 20px; }
  body:not(.home) .head-copy .sub { display: none; }

  /* 低端手机上固定纸纹 + 混合模式会拖累滚动，移动端减一档 */
  body { background-attachment: scroll; }
  body::before { opacity: .5; mix-blend-mode: normal; }
}

@media (max-width: 760px) {
  /* ==========================================================
     手机报头错位修正（2026-08-18）
     原来报眼在窄屏只占左边 104px，右边空一大片，像吊着的一个小盒子。
     改成占满整宽的一条横带，内容横排，高度也从 76px 压到约 36px。
     ========================================================== */
  .ear, body:not(.home) .ear {
    align-self: stretch; width: 100%; min-width: 0; padding: 2px;
  }
  .ear-in, body:not(.home) .ear-in {
    display: flex; align-items: center; justify-content: center;
    gap: 14px; padding: 7px 12px;
  }
  .ear .l1, body:not(.home) .ear .l1 {
    font-size: 13.5px; letter-spacing: .14em; white-space: nowrap; line-height: 1.4;
  }
  .ear .hr, body:not(.home) .ear .hr {
    width: 1px; height: 22px; margin: 0; flex: 0 0 auto; background: var(--rule-2);
  }
  .ear .l2, body:not(.home) .ear .l2 {
    font-size: 10.5px; letter-spacing: .1em; line-height: 1.5; white-space: nowrap;
  }

  /* 题签斜 −6° 之后左角会探出版心边线，给一点余量对齐 */
  .brand-block { padding-left: 5px; }
}

/* v3.1：保留竖题签，将月份与篇数并入报头右侧，给内容让出首屏。 */
@media (max-width: 760px) {
  .masthead-top, body:not(.home) .masthead-top {
    display: grid; grid-template-columns: auto minmax(0,1fr);
    column-gap: 16px; row-gap: 4px; padding: 5px 3px 15px;
    align-items: center;
  }
  .brand-block { display: contents; }
  .tiqian { grid-column: 1; grid-row: 1 / 3; padding: 2px; }
  .tiqian-in { padding: 5px 5px 6px; gap: 1px; }
  .v-char b, body:not(.home) .v-char b { font-size: 18px; }
  .v-char i { font-size: 6px; }
  .head-copy { grid-column: 2; align-self: end; border-left: 0; padding: 0; }
  .head-copy .motto { font-size: 13px; letter-spacing: .12em; }
  .head-copy .sub, body:not(.home) .head-copy .sub { display: none; }
  .ear, body:not(.home) .ear { grid-column: 2; border: 0; padding: 0; width: auto; align-self: start; }
  .ear-in, body:not(.home) .ear-in { border: 0; justify-content: flex-start; gap: 8px; padding: 0; }
  .ear .l1, body:not(.home) .ear .l1 { font-size: 10.5px; letter-spacing: .02em; line-height: 1.7; }
  .ear .l2, body:not(.home) .ear .l2 { font-size: 10px; letter-spacing: 0; line-height: 1.7; }
  .ear .hr, body:not(.home) .ear .hr { height: 12px; }
  .ear .l2 br, .ear .frequency { display: none; }
  .nav { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 3px; font-size: 13px; letter-spacing: 0; overflow: visible; padding-top: 4px; }
  .nav a { justify-content: center; padding-inline: 0; }
  .nav-search { margin-left: 0; }
  .recent { padding-top: 15px; margin-bottom: 12px; }
  .recent ul { grid-template-columns: 1fr; margin-top: 8px; }
  .recent li a { gap: 12px; padding-block: 10px; }
  .recent li span { font-size: 15px; }
  .recent-head > a { min-height: 44px; display: inline-flex; align-items: center; }
  .home .grid { display: flex; flex-direction: column; }
  .home .col-l, .home .col-r { display: contents; }
  .home .grid .room { margin: 0; padding: 21px 0; border-top: 1px solid var(--rule); }
  .home .grid .ai { order: 1; border-top: 0; }
  .home .grid .law { order: 2; }
  .home .grid .photo { order: 3; }
  .home .grid .dive { order: 4; }
  .home .grid .note { order: 5; }
  .home .col-l .entry .x { display: none; }
  .frame .cap { font-size: 13px; line-height: 1.6; }
  .filters form { align-items: center; gap: 10px; }
  .filters input { min-width: 0; font-size: 16px; }
  .filters button { min-height: 44px; }
  .art-head { padding-top: 18px; }
  .art-kicker { margin-bottom: 10px; }
  .art-rule { margin-top: 16px; }
  .reading-follow { gap: 4px 22px; }
  .reading-follow > span { flex-basis: 100%; }
  .footer-links a, .reading-follow a { min-height: 44px; display: inline-flex; align-items: center; }
}
