/* ============================================================
   FJOJO 个人网站 · 设计系统 v1.1「ArtCraft 皮 · 全站衬线」
   2026-10-08 全站换皮：参照 getartcraft.com 的视觉语言——
   纸白 #F2F1EE ／ 近黑 #101014 ／ 单一蓝 ／ 直角 ／ scanline 细纹。
   2026-10-14 字体改典雅的衬线：拉丁 EB Garamond（＋Instrument Serif 斜体点缀）、
   中文 Noto Serif SC；标题、正文、标签、导航、日期、域名全部衬线，不再用无衬线与等宽。
   旧版样式整夹备份：../site_backup_20261008/（交替还原点）。
   ============================================================ */

/* 全站字体统一加载：EB Garamond（拉丁衬线）＋ Instrument Serif（斜体点缀）；
   中文 Noto Serif SC 由各页已有 font link 负责 */

/* ---------- 基础与令牌 ---------- */
:root{
  --space-unit:4px;
  --page-max:1240px;
  --reading-max:680px;
  --gutter:40px;
  color-scheme:light;

  /* 字体栈（在线字体失败时按此回退） */
  --font-serif-cn:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif;
  --font-sans-cn:"EB Garamond","Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif;
  --font-display:"EB Garamond","Cormorant Garamond","Instrument Serif",Georgia,serif;
  --font-serif-it:"Instrument Serif",Georgia,"Times New Roman",serif;
  --font-ui:"EB Garamond","Noto Serif SC","Songti SC",Georgia,serif;
  --font-mono:"EB Garamond","Cormorant Garamond","Noto Serif SC",Georgia,serif;  /* 2026-10-14 全站衬线化：仅存数据感，不再用等宽 */
  /* 德语衬线（题词专用）：EB Garamond 为德国语境常用的 Garamond 复刻，覆盖 ß 等字符 */
  --font-ge:"EB Garamond","Cormorant Garamond","Noto Serif","Georgia",serif;
  /* 霞鹜文楷（自托管分片 webfont；书目页句子与引文用） */
  --font-wenkai:"LXGW WenKai","Noto Serif SC","Songti SC",serif;

  --radius:0px;
  --tr:150ms ease;

  /* ArtCraft 令牌 · 日间（暖纸白底、近黑字、单一蓝） */
  --bg:#F2F1EE;
  --ink:#101014;
  --soft:#1010149E;   /* 次级文字：62% 近黑 */
  --line:#10101429;   /* 分隔线：16% 近黑 */
  --card:#FAF9F7;     /* 抬起面 */
  --panel:#E9E8E4;    /* 下沉面 */
  --accent:#1659C4;   /* 可读蓝：链接、标签、焦点环 */
  --accent-pop:#2D81FF;/* 高饱和蓝：填充与选中态 */
  --scanline:#10101408;

  /* 别名（供页内 <style> 引用）：页内若写 --ink:var(--ink) 会成自引用环，
     统一改走 --g-* 前缀即可安全继承全局令牌 */
  --g-bg:var(--bg);--g-ink:var(--ink);--g-soft:var(--soft);--g-line:var(--line);
  --g-card:var(--card);--g-panel:var(--panel);--g-accent:var(--accent);--g-accent-pop:var(--accent-pop);
}

/* ArtCraft 令牌 · 夜间（同一套关系整体反相） */
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#121316;
  --ink:#F2F1EE;
  --soft:#F2F1EE9E;
  --line:#F2F1EE26;
  --card:#101014;
  --panel:#060607;
  --accent:#74AAFF;
  --accent-pop:#2D81FF;
  --scanline:#FFFFFF06;
}

/* 作者标记字体：星云文楷希腊字母（Nebulas WenKai Greek）
   OFL 1.1 授权，授权文件见 assets/fonts/LICENSE.txt；用于落款 */
@font-face{
  font-family:"Nebulas WenKai Greek";
  src:url("../fonts/NebulasWenKaiGreek.woff2") format("woff2"),
      url("../fonts/NebulasWenKaiGreek.otf") format("opentype");
  font-weight:400;font-style:normal;font-display:swap;
}

/* ---------- 页面分色 · 已废除（2026-10-08 ArtCraft 换皮） ----------
   原 5 套页面分色（入口/作者柜/档案室/展厅/作品）全部统一为 :root 令牌；
   各页仍保留 class，此处不再定义颜色，自动继承全局纸白＋蓝。
   专题封面装饰色（.cover--*）保留，见下。 */

/* 专题系列色（仅作小色签与封面，不改页面主色；策划 §10.1） */
.cover--xiangxue {--cover-bg:#F7F2E8;--cover-line:#DFCDB9;--cover-accent:#8B463A;}
.cover--zhuangzi {--cover-bg:#EFF1E8;--cover-line:#C9D2BE;--cover-accent:#52644A;}
.cover--bowu     {--cover-bg:#F2F0E6;--cover-line:#D6D2BE;--cover-accent:#5E6B4A;}
.cover--bdsm     {--cover-bg:#F1ECEB;--cover-line:#D8C7CB;--cover-accent:#755361;}
html[data-theme="dark"] .cover--xiangxue {--cover-bg:#262119;--cover-line:#4A3D2E;--cover-accent:#C98A78;}
html[data-theme="dark"] .cover--zhuangzi {--cover-bg:#1F241D;--cover-line:#38452F;--cover-accent:#9DB292;}
html[data-theme="dark"] .cover--bowu     {--cover-bg:#21241C;--cover-line:#3C4232;--cover-accent:#A3B58C;}
html[data-theme="dark"] .cover--bdsm     {--cover-bg:#251F22;--cover-line:#463A40;--cover-accent:#B08A99;}

/* 刊架新增（2026-09-17 第二批）：ADHD／风格／亲密关系／Mixology */
.cover--adhd      {--cover-bg:#F6EFE4;--cover-line:#E0CBB4;--cover-accent:#B4652F;}
.cover--style     {--cover-bg:#F2EFEC;--cover-line:#D8CFD4;--cover-accent:#7A5E70;}
.cover--intimate  {--cover-bg:#F7EFEE;--cover-line:#E0C9C6;--cover-accent:#9C5B54;}
.cover--mixology  {--cover-bg:#F5F0E4;--cover-line:#DCCDB0;--cover-accent:#8A6A2F;}
html[data-theme="dark"] .cover--adhd      {--cover-bg:#251D14;--cover-line:#4A3927;--cover-accent:#D8935C;}
html[data-theme="dark"] .cover--style     {--cover-bg:#221F24;--cover-line:#443B44;--cover-accent:#B698AC;}
html[data-theme="dark"] .cover--intimate  {--cover-bg:#271D1D;--cover-line:#4C3836;--cover-accent:#D19A92;}
html[data-theme="dark"] .cover--mixology  {--cover-bg:#241F14;--cover-line:#4A4028;--cover-accent:#C9A868;}

/* ---------- 底纹 · scanline（2026-10-08：替代矿石底纹；细线只加质感，不改配色） ---------- */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:repeating-linear-gradient(0deg,var(--scanline) 0 1px,transparent 1px 3px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
body{
  margin:0;
  background-color:var(--bg);
  color:var(--ink);
  /* ArtCraft 正文为无衬线；中文走 Noto Sans SC（4A 口径），
     作者柜页仍可用页内 --body-font 覆盖为汇文正楷 */
  font-family:var(--body-font,var(--font-sans-cn));
  font-size:16px;
  line-height:1.7;
  transition:background-color 200ms ease,color 200ms ease;
}
img,svg{max-width:100%}

/* 全站中文标题统一宋体家族；英文展示体由 .wordmark/.page-title/.track__en 等类覆盖 */
h1,h2,h3,h4{font-family:var(--font-serif-cn)}

a{color:inherit;text-decoration:none;text-underline-offset:3px}
a:hover{text-decoration:underline;text-decoration-thickness:1px}
p{margin:0 0 12px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--bg)}

.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:10px 16px;font-family:var(--font-ui);font-size:14px;z-index:100}
.skip-link:focus{left:8px;top:8px}

/* ---------- 布局 ---------- */
.wrap{max-width:var(--page-max);margin:0 auto;padding:0 var(--gutter)}
.section{padding:56px 0}
.section--line{border-top:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin:0 0 24px}
.section-title{font-size:clamp(22px,3vw,28px);font-weight:600;letter-spacing:.02em;line-height:1.45;margin:0}
.note{font-family:var(--font-sans-cn);font-size:13.5px;color:var(--soft);line-height:1.65}
.meta{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.02em;color:var(--soft)}
.is-pending{color:var(--soft)}
.star{width:12px;height:12px;flex:0 0 auto;vertical-align:-1px}

/* ---------- 页头与导航（SiteHeader） ---------- */
.site-header{border-bottom:1px solid var(--line);background:transparent;position:relative;z-index:20;transition:background-color 200ms ease,border-color 200ms ease}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px}
.wordmark{font-family:var(--font-display);font-weight:600;letter-spacing:.01em;line-height:1;margin:0}
.site-header .wordmark{font-size:22px}
.header-right{display:flex;align-items:center;gap:10px;margin-left:auto}
.nav-actions{display:flex;align-items:center;gap:8px}
.site-nav{display:flex;align-items:center;gap:2px}
.site-nav a{
  font-family:var(--font-ui);font-size:13.5px;letter-spacing:.02em;color:var(--soft);
  display:inline-flex;align-items:center;min-height:44px;padding:10px 12px;
}
.site-nav a:hover{color:var(--ink);text-decoration:none}
.site-nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
.nav-cn{
  font-family:var(--font-sans-cn);font-size:11.5px;color:var(--soft);
  margin-left:6px;letter-spacing:.06em;
}
.site-nav a:hover .nav-cn{color:var(--ink)}
.site-nav a[aria-current="page"] .nav-cn{color:var(--accent)}
.nav-toggle{
  display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;
  background:transparent;border:1px solid var(--line);border-radius:var(--radius);
  color:var(--ink);font-family:var(--font-ui);font-size:13px;cursor:pointer;padding:0 12px;
}

/* 夜间模式切换 */
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;padding:0 12px;
  background:transparent;border:1px solid var(--line);border-radius:var(--radius);
  color:var(--soft);cursor:pointer;
  transition:border-color var(--tr),color var(--tr);
}
.theme-toggle:hover{border-color:var(--accent);color:var(--ink)}
.theme-toggle svg{width:16px;height:16px;display:block}
.theme-toggle .t-sun{display:none}
.theme-toggle .t-moon{display:block}
html[data-theme="dark"] .theme-toggle .t-sun{display:block}
html[data-theme="dark"] .theme-toggle .t-moon{display:none}

/* ---------- 页首说明块 ---------- */
.page-head{padding:64px 0 40px}
.page-title{font-family:var(--font-display);font-size:clamp(34px,5vw,54px);font-weight:600;letter-spacing:-.012em;line-height:1.08;margin:0 0 14px}
.page-title__cn{font-family:var(--font-serif-cn);font-size:.46em;font-weight:500;letter-spacing:.16em;margin-left:14px;white-space:nowrap;color:var(--accent);vertical-align:.14em}
.page-explain{font-family:var(--font-sans-cn);font-size:15.5px;color:var(--soft);margin:0}

/* ---------- 按钮与链接 ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-ui);font-size:14.5px;line-height:1;letter-spacing:.01em;
  min-height:44px;padding:14px 20px;border:1px solid var(--ink);border-radius:var(--radius);
  background:transparent;color:var(--ink);
  transition:background-color var(--tr),color var(--tr);
  cursor:pointer;
}
.btn:hover{background:var(--ink);color:var(--bg);text-decoration:none}
.btn--primary{background:var(--ink);color:var(--bg)}
.btn--primary:hover{opacity:.9;color:var(--bg)}
.btn[aria-disabled="true"],.btn:disabled{opacity:.45;cursor:not-allowed}
.link-arrow{font-family:var(--font-ui);font-size:14.5px;color:var(--accent);display:inline-flex;align-items:center;min-height:44px}
.link-arrow:hover{text-decoration:underline}

/* ---------- 入口页：题词与双轨面板 ---------- */
.hero{padding:72px 0 52px}
.wordmark--hero{font-size:clamp(56px,9vw,88px);letter-spacing:.06em;font-weight:500}
.hero__tagline{margin:24px 0 0;display:flex;flex-direction:column;gap:9px}
.hero__tagline-de{
  font-family:var(--font-ge);
  font-style:italic;
  font-size:clamp(19px,2.6vw,25px);
  line-height:1.6;letter-spacing:.01em;color:var(--ink);
}
.hero__tagline-zh{
  font-family:var(--font-serif-cn);
  font-size:clamp(15px,1.9vw,18px);
  color:var(--soft);letter-spacing:.04em;line-height:1.9;
}
.tracks{padding:0 0 8px}
.track-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.track{padding:40px 36px 44px;background:var(--card);display:flex;flex-direction:column;gap:0;transition:background-color 200ms ease}
.track + .track{border-left:1px solid var(--line);background:var(--panel)}
.track__en{font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:.03em;margin:0 0 6px}
.track__title{font-size:17px;font-weight:600;letter-spacing:.06em;margin:0 0 14px}
.track__line{font-family:var(--font-sans-cn);font-size:14.5px;color:var(--soft);line-height:1.8;margin:0 0 26px}
.track__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:auto}

/* ---------- 展陈卡（首页近期展陈 / 作品卡） ---------- */
.exhibit-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}
.exhibit-col{display:grid;gap:24px;align-content:start}
.exhibit-card{border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;transition:background-color 200ms ease}
.exhibit-card__body{padding:20px 22px 24px}
.exhibit-card__title{font-size:clamp(19px,2.2vw,24px);font-weight:500;line-height:1.4;margin:8px 0 8px}
.exhibit-card--main .exhibit-card__title{font-size:clamp(22px,2.8vw,30px)}
.exhibit-card__line{font-family:var(--font-sans-cn);font-size:14.5px;color:var(--soft);margin:0 0 14px}
.exhibit-card__link{margin-top:auto}

.placeholder-frame{
  border:1px dashed var(--line);border-radius:var(--radius);
  background:transparent;min-height:200px;display:flex;align-items:center;justify-content:center;
  color:var(--soft);font-family:var(--font-sans-cn);font-size:13.5px;text-align:center;padding:24px;
}
.placeholder-frame--tall{min-height:340px}
.placeholder-frame--wide{min-height:240px}

/* ---------- 展签（ExhibitionLabel） ---------- */
.exhibition-label{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-family:var(--font-ui);font-size:12.5px;letter-spacing:.08em;color:var(--soft);
  margin:0 0 4px;
}
.exhibition-label .star{color:var(--accent);opacity:.75}

/* ---------- 馆藏索引 ---------- */
.index-row{list-style:none;display:flex;flex-wrap:wrap;gap:14px 48px;margin:0;padding:22px 0 0;border-top:1px solid var(--line)}
.index-item{display:flex;align-items:baseline;gap:10px}
.index-name{font-size:17px;letter-spacing:.03em}
.index-status{font-family:var(--font-mono);font-size:12px;color:var(--soft)}

/* ---------- 作品卡（WorkCard） ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.work-card{border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;transition:transform var(--tr),border-color var(--tr),background-color 200ms ease}
.work-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.work-card__visual{border-bottom:1px solid var(--line)}
.work-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.work-card__title{font-size:20px;font-weight:500;line-height:1.4;margin:2px 0 0}
.work-card__line{font-family:var(--font-sans-cn);font-size:14px;color:var(--soft);margin:0}
.work-card__foot{margin-top:auto;padding-top:10px}

/* ---------- 专题封面（CollectionCover；专刊属作品体系，陈列于展厅） ---------- */
.covers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.collection-cover{
  border:1px solid var(--cover-line,var(--line));border-left:3px solid var(--cover-accent,var(--accent));
  background:var(--cover-bg,var(--card));
  padding:26px 24px 24px;min-height:230px;display:flex;flex-direction:column;gap:10px;
  transition:background-color 200ms ease;
}
.collection-cover__en{font-family:var(--font-display);font-size:15px;letter-spacing:.12em;color:var(--cover-accent,var(--accent));margin:0}
.collection-cover__title{font-size:24px;font-weight:500;margin:0}
.collection-cover__line{font-family:var(--font-sans-cn);font-size:13.5px;color:var(--soft);margin:0}
.collection-cover__foot{margin-top:auto;padding-top:12px}
.collection-cover--text{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--card)}

/* ---------- 档案（ArchiveEntry） ---------- */
.archive-layout{display:grid;grid-template-columns:170px minmax(0,1fr) 210px;gap:44px;padding:48px 0 8px}
.archive-rail{position:sticky;top:88px;align-self:start}
.archive-rail__title{font-family:var(--font-ui);font-size:12px;letter-spacing:.12em;color:var(--soft);margin:0 0 12px}
.archive-rail ul{list-style:none;margin:0;padding:0}
.archive-rail a{display:block;padding:9px 0;font-size:14px;color:var(--soft);border-bottom:1px dotted transparent}
.archive-rail a:hover{color:var(--ink);text-decoration:none}
.archive-notes{font-family:var(--font-sans-cn);font-size:13px;color:var(--soft);line-height:1.75}
.archive-notes h3{font-size:13px;letter-spacing:.1em;color:var(--soft);font-weight:600;margin:0 0 10px}
.archive-select{display:none}
.archive-select select{
  width:100%;min-height:44px;padding:10px 12px;
  font-family:var(--font-sans-cn);font-size:14px;color:var(--ink);
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
}

.entry{border-bottom:1px solid var(--line)}
.entry summary{
  list-style:none;cursor:pointer;padding:22px 0;
  display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:20px;align-items:baseline;
}
.entry summary::-webkit-details-marker{display:none}
.entry__date{font-family:var(--font-mono);font-size:12.5px;color:var(--soft)}
.entry__title{font-size:19px;font-weight:500;line-height:1.45;margin:0}
.entry summary::after{content:"＋";font-family:var(--font-ui);font-size:14px;color:var(--soft)}
.entry[open] summary::after{content:"－"}
.entry__body{padding:0 0 28px 170px}
.field{margin:0 0 14px}
.field__label{font-family:var(--font-ui);font-size:12px;letter-spacing:.08em;color:var(--soft);margin:0 0 3px}
.field__value{margin:0}

/* ---------- 证据签（EvidenceBlock） ---------- */
.evidence-block{border:1px dashed var(--line);padding:22px 24px;border-radius:var(--radius);background:transparent}
.evidence-block__label{font-family:var(--font-ui);font-size:12px;letter-spacing:.12em;color:var(--soft);margin:0 0 14px}
.proof-list{list-style:none;display:flex;flex-wrap:wrap;gap:12px 22px;margin:0;padding:0}
.proof{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12.5px;color:var(--soft)}
.proof::before{content:"○";font-size:11px}
.proof.is-on::before{content:"●";color:var(--accent)}

/* ---------- 关联（RelatedItems） ---------- */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related__item{border:1px solid var(--line);padding:18px 20px;background:var(--card);min-height:120px;display:flex;flex-direction:column;gap:6px}
.related__label{font-family:var(--font-ui);font-size:12px;letter-spacing:.08em;color:var(--soft);margin:0}

/* ---------- 空状态（EmptyState） ---------- */
.empty-state{
  border:1px dashed var(--line);padding:38px 28px;text-align:center;
  font-family:var(--font-sans-cn);font-size:14px;color:var(--soft);line-height:1.8;
}
.empty-state .star{color:var(--accent);opacity:.7;margin:0 auto 10px;display:block;width:14px;height:14px}

/* ---------- 筛选条 ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:16px 32px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0 36px}
.filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filter-group__label{font-family:var(--font-ui);font-size:12px;letter-spacing:.1em;color:var(--soft);margin-right:2px}
.chip{
  font-family:var(--font-ui);font-size:13px;color:var(--soft);cursor:pointer;
  background:transparent;border:1px solid var(--line);border-radius:var(--radius);
  padding:9px 14px;min-height:38px;
  transition:border-color var(--tr),background-color var(--tr),color var(--tr);
}
.chip:hover{border-color:var(--accent);color:var(--ink)}
.chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--bg)}

/* ---------- 正文排印 ---------- */
.prose{max-width:var(--reading-max);font-size:18px;line-height:1.9}
.prose h2{font-size:22px;font-weight:600;margin:40px 0 14px}
.prose h3{font-size:18px;font-weight:600;margin:28px 0 10px}
.prose blockquote{margin:20px 0;padding:2px 0 2px 20px;border-left:2px solid var(--accent);color:var(--soft)}

/* Cabinet 版式（左 8 右 4；移动端单列且成果优先） */
.cabinet-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:56px;padding:44px 0 8px}
.cabinet-side{display:flex;flex-direction:column;gap:36px}
.slot-box{border:1px dashed var(--line);padding:18px 20px;font-family:var(--font-sans-cn);font-size:13.5px;color:var(--soft);line-height:1.7}
.exp-list{list-style:none;margin:0;padding:0}
.exp-item{padding:20px 0;border-bottom:1px solid var(--line)}
.exp-item:first-child{border-top:1px solid var(--line)}
.exp-item h3{font-size:18px;font-weight:500;margin:6px 0 6px}

/* ---------- 页脚 ---------- */
.site-footer{border-top:1px solid var(--line);margin-top:96px;transition:background-color 200ms ease}
.site-footer__inner{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:32px 0 48px}
.author-mark{font-family:"Nebulas WenKai Greek",var(--font-display);font-size:20px;letter-spacing:.1em;margin:0 0 8px}
.site-footer .note{margin:0}

/* ---------- 小工具 ---------- */
.block{margin:0 0 40px}
.dev-banner{border:1px dashed var(--line);padding:12px 16px;font-family:var(--font-sans-cn);font-size:13px;color:var(--soft);margin:0 0 28px;border-radius:var(--radius)}
.q-list{list-style:none;margin:0;padding:0}
.q-list li{padding:14px 0;border-bottom:1px solid var(--line)}
.statement{font-size:clamp(18px,2.4vw,22px);color:var(--soft);letter-spacing:.03em;line-height:1.7;margin:0 0 10px}
.work-card[hidden]{display:none}

/* ---------- 专刊封架（双列） ---------- */
.covers--two{grid-template-columns:repeat(2,1fr)}
@media (max-width:560px){.covers--two{grid-template-columns:1fr}}

/* ---------- 写作（文本作品卡） ---------- */
.work-card--text .work-card__body{padding:22px 22px 24px;min-height:170px}
.work-card--text .work-card__title{font-size:21px}

/* ---------- 工作台（Skill 展位） ---------- */
.bench{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 36px}
.bench-col__title{font-family:var(--font-sans-cn);font-size:13px;letter-spacing:.08em;color:var(--soft);margin:0 0 14px;font-weight:600}
.bench-list{list-style:none;margin:0;padding:0}
.bench-item{padding:11px 0;border-bottom:1px solid var(--line)}
.bench-item:last-child{border-bottom:0}
.bench-name{font-family:var(--font-mono);font-size:13px;display:block;margin:0 0 3px}
.bench-src{font-family:var(--font-sans-cn);font-size:11px;color:var(--accent);margin-left:6px}
.bench-desc{font-family:var(--font-sans-cn);font-size:12.5px;color:var(--soft);display:block;line-height:1.6}
@media (max-width:1024px){.bench{grid-template-columns:repeat(2,1fr);gap:20px 32px}}
@media (max-width:560px){.bench{grid-template-columns:1fr}}

/* ---------- 书目页（暖纸阅读页，纯净无底纹；「推介＋引文」排版）
   2026-10-08：原独立纸色已并入全局令牌，保留排版规则 ---------- */
.biblio{max-width:720px;margin:0 auto}
.biblio-meta{display:flex;flex-wrap:wrap;gap:6px 30px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--soft);border-top:1px solid var(--line);padding-top:12px;margin:34px 0 6px}
.biblio-entry{border-top:1px solid var(--line);padding:34px 0 6px}
.biblio-entry:first-of-type{border-top:0;padding-top:6px}
.biblio-date{font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;color:var(--soft);margin:0 0 14px}
.biblio-quote{font-family:var(--font-wenkai);font-size:19px;line-height:2.12;letter-spacing:.02em;text-align:justify;margin:0}
.biblio-books{margin-top:20px}
.biblio-books__label{font-family:var(--font-ui);font-size:11.5px;font-weight:600;letter-spacing:.42em;color:var(--soft);margin:0 0 10px}
.biblio-list{list-style:none;margin:0;padding:0}
.biblio-item{font-size:13.5px;line-height:1.95;color:var(--ink);padding-left:1.1em;text-indent:-1.1em;margin:0 0 9px}
.biblio-note{color:var(--soft)}
/* 引文（原文＋双语对照）：组件就位，待内容填入 */
.biblio-cite{margin:16px 0 2px;padding:2px 0 2px 18px;border-left:2px solid var(--line)}
.biblio-cite__src{font-family:var(--font-ge);font-style:italic;font-size:15.5px;line-height:1.85;margin:0 0 4px;color:var(--ink)}
.biblio-cite__zh{font-family:var(--font-wenkai);font-size:15px;line-height:1.95;margin:0;color:var(--soft)}
.biblio-divider{display:flex;align-items:center;gap:18px;margin:46px 0 0;font-size:12px;letter-spacing:.2em;color:var(--soft)}
.biblio-divider::before,.biblio-divider::after{content:"";flex:1;border-top:1px solid var(--line)}
.biblio-colophon{margin-top:60px;border-top:1px solid var(--line);padding-top:18px;text-align:center;font-family:var(--font-sans-cn);font-size:12.5px;color:var(--soft);line-height:2.1}
.biblio-colophon p{margin:0 0 6px}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  :root{--gutter:28px}
  .archive-layout{grid-template-columns:150px minmax(0,1fr);gap:36px}
  .archive-notes{display:none}
}
@media (max-width:860px){
  .site-nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg);border-bottom:1px solid var(--line);padding:6px 24px 14px;
  }
  .site-nav.is-open{display:flex}
  .site-nav a{min-height:48px;padding:12px 4px;border-bottom:1px solid var(--line)}
  .site-nav a[aria-current="page"]{box-shadow:inset 2px 0 0 var(--accent);padding-left:12px}
  .nav-toggle{display:inline-flex}
  .track-grid{grid-template-columns:1fr}
  .track + .track{border-left:0;border-top:1px solid var(--line)}
  .exhibit-grid{grid-template-columns:1fr}
  .card-grid,.covers,.related{grid-template-columns:1fr 1fr}
  .cabinet-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:768px){
  :root{--gutter:24px}
  .page-head{padding:48px 0 32px}
  .hero{padding:52px 0 40px}
  .section{padding:44px 0}
  .prose{font-size:17px;line-height:1.85}
  .section-head{flex-direction:column;gap:8px}
  .archive-layout{grid-template-columns:1fr;gap:24px;padding-top:32px}
  .archive-rail{display:none}
  .archive-select{display:block}
  .entry summary{grid-template-columns:1fr auto;gap:6px 16px}
  .entry__date{grid-column:1 / -1;order:2}
  .entry summary::after{grid-column:2;grid-row:1}
  .entry__body{padding-left:0}
  .site-footer__inner{flex-direction:column;align-items:flex-start;gap:14px}
}
@media (max-width:560px){
  .card-grid,.covers,.related{grid-template-columns:1fr}
  .track{padding:30px 22px 34px}
  .hero{padding:40px 0 30px}
  .page-title__cn{display:block;margin:8px 0 0}
}

/* ---------- 打印（简历页干净输出；策划 §6.1；打印一律强制浅色） ---------- */
@media print{
  html[data-theme] [class*="theme-"]{--bg:#fff;--ink:#000;--soft:#555;--line:#bbb;--card:#fff;--panel:#f6f6f6;--accent:#222}
  :root{--gutter:0}
  body{background:#fff;color:#000}
  .site-header,.site-footer,.skip-link,.btn,.link-arrow,.nav-toggle,.theme-toggle,.nav-actions,.placeholder-frame{display:none!important}
  .wrap{max-width:none;padding:0}
  a{text-decoration:none;color:#000}
  .cabinet-grid{display:block}
  .slot-box{border-color:#999}
}

/* ---------- 写作阅读页（writing/）2026-09-17 ---------- */
.article{max-width:720px;margin:0 auto}
.article-head{padding:56px 0 10px}
.article-title{font-family:var(--font-serif-cn);font-size:clamp(23px,3.4vw,31px);font-weight:600;line-height:1.55;margin:0 0 8px;letter-spacing:.01em}
.article-sub{font-family:var(--font-serif-cn);font-size:16.5px;color:var(--soft);margin:0 0 16px}
.article-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-family:var(--font-mono);font-size:12.5px;color:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin:0 0 20px}
.article-note{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;font-size:14.5px;font-family:var(--font-sans-cn);color:var(--soft);margin:0 0 26px}
.abstract{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin:0 0 30px}
.abstract h3{font-size:14px;letter-spacing:.16em;margin:0 0 10px;color:var(--accent);font-weight:600}
.abstract p{font-size:14.5px;line-height:1.85;text-indent:0;margin:0 0 .7em;font-family:var(--font-sans-cn)}
.abstract p:last-child{margin-bottom:0}
.article-body{font-size:16.5px}
.article-body p{margin:0 0 .9em;line-height:1.95;text-indent:2em;text-align:justify}
.article-body h2{font-size:19px;font-weight:600;margin:1.9em 0 .7em;letter-spacing:.06em}
.article-body h3{font-size:16px;font-weight:600;margin:1.6em 0 .5em;color:var(--accent);letter-spacing:.1em}
.article-body .verse{text-indent:0;padding-left:1.6em;line-height:2.05;margin:0 0 1.1em}
.article-body .dlg{text-indent:0;margin:0 0 .55em;line-height:1.9}
.article-body .dlg b{font-weight:600}
.article-body .ref{text-indent:0;font-size:13.5px;line-height:1.85;font-family:var(--font-sans-cn);color:var(--soft);margin:0 0 .45em}
.article-body .pen{font-family:var(--font-serif-cn);font-size:14.5px;color:var(--soft);text-indent:0;line-height:1.85}
sup.fn{font-family:var(--font-mono);font-size:10px;color:var(--accent);padding:0 1px;line-height:0}
sup.fn a{text-decoration:none}
.endnotes{margin:38px 0 0;border-top:1px solid var(--line);padding-top:18px}
.endnotes h2{font-size:14px;font-weight:600;letter-spacing:.18em;color:var(--soft);margin:0 0 12px}
.endnotes ol{margin:0;padding-left:1.6em}
.endnotes li{font-size:13px;color:var(--soft);line-height:1.85;font-family:var(--font-sans-cn);margin:0 0 8px}
.fnback{font-size:11px;color:var(--soft);text-decoration:none;margin-left:5px}

/* ---------- 动效层 v0.3（2026-09-17）：进场 / 悬停 / 主题过渡 / 筛选弹出 ---------- */
@view-transition{navigation:auto}
.js-anim [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1)}
.js-anim [data-reveal].rev-in{opacity:1;transform:none}
.theme-fade,.theme-fade *{transition:background-color .4s ease,color .4s ease,border-color .4s ease !important}
@keyframes cardPop{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.card-pop{animation:cardPop .38s cubic-bezier(.22,.61,.36,1) both}
.work-card,.exhibit-card,.collection-cover,.track,.btn,.chip{transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease,background-color .25s ease}
.work-card:hover,.exhibit-card:hover,.collection-cover:hover,.track:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(0,0,0,.38)}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px -10px rgba(0,0,0,.35)}
.chip:hover{transform:translateY(-1px)}
.collection-cover:hover{border-color:var(--cover-accent,var(--accent))}
.link-arrow{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size .32s ease}
.link-arrow:hover{background-size:100% 1px;text-decoration:none}

@keyframes heroUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.js-anim .hero > *{animation:heroUp .8s cubic-bezier(.22,.61,.36,1) both}
.js-anim .hero > *:nth-child(2){animation-delay:.12s}

.visual-shot{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top left;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.visual-shot--tall{aspect-ratio:3/4}.visual-shot--wide{aspect-ratio:16/9}

/* 刊架第三批（2026-09-17）：硕论／中国 */
.cover--shuolun   {--cover-bg:#F2F0ED;--cover-line:#D5D1C9;--cover-accent:#4A5568;}
.cover--zhongguo  {--cover-bg:#F7EFE9;--cover-line:#E3CDC0;--cover-accent:#A0432C;}
html[data-theme="dark"] .cover--shuolun  {--cover-bg:#1E2124;--cover-line:#3A3F45;--cover-accent:#9AA7B8;}
html[data-theme="dark"] .cover--zhongguo {--cover-bg:#241A15;--cover-line:#4A3428;--cover-accent:#CE8163;}

/* ---------- 写作阅读页 v2（2026-09-17）：小标宋／汇文正楷／Georgia 组合＋字号优化 ---------- */
.article-title,.article-sub{font-family:"方正小标宋简体","FZXiaoBiaoSong-B05S","方正小标宋_GBK","汇文正楷","Huiwen-Zhengkai",Georgia,"Noto Serif SC","Songti SC",serif}
.article-body{font-size:17.5px;font-family:"汇文正楷","Huiwen-Zhengkai",Georgia,"Noto Serif SC","Songti SC",serif}
.article-body p{line-height:2.05}
/* 长链接不撑破版心（2026-10-13：修 writing/01-cain.html 横向溢出 34px） */
.article-body,.article-body *,.prose,.endnotes{overflow-wrap:break-word}
.article-body h2{font-family:"方正小标宋简体","FZXiaoBiaoSong-B05S","汇文正楷",Georgia,"Noto Serif SC",serif;font-size:21px}
.article-body h3{font-family:"汇文正楷","Huiwen-Zhengkai",Georgia,"Noto Serif SC",serif;font-size:18px}
.abstract p{font-size:15.5px;line-height:1.95}
.article-note{font-size:15.5px}
.article-meta{font-size:13px}
.endnotes li{font-size:14px;line-height:1.9}

/* 收藏癖（2026-09-18） */
.tag-chip{display:inline-block;font-family:var(--font-ui);font-size:11.5px;letter-spacing:.06em;border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--soft);margin-left:8px;vertical-align:2px}

/* ---------- 移动端视觉优化 v1（2026-09-20）：留白节奏与小字号 ---------- */
@media (max-width:768px){
  .page-head{padding:44px 0 28px}
  .hero{padding:44px 0 32px}
  .cabinet-grid{padding:30px 0 8px}
  .block{margin:0 0 32px}
  .filter-bar{gap:10px 24px;padding:14px 0;margin:22px 0 30px}
  .filter-group{gap:7px}
  .note{font-size:14px}
  .meta{font-size:13px}
  .bench-desc{font-size:13px}
  .shot-cap{font-size:12.5px}
  .site-footer{margin-top:64px}
}
@media (max-width:560px){
  .page-head{padding:38px 0 24px}
  .hero{padding:36px 0 26px}
}

/* ---------- 全局滚动条（2026-09-20：自动匹配当前页面配色；日/夜、各页面 accent 均适用） ---------- */
html{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 56%, transparent) transparent}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 56%, transparent);border:3px solid transparent;border-radius:999px;background-clip:content-box;min-height:44px}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--accent) 88%, transparent);background-clip:content-box}
::-webkit-scrollbar-corner{background:transparent}

/* 收藏癖 · 列表版式（2026-10-01 主页直列全部藏品，与 collection.html 共用） */
.col-list{list-style:none;margin:0;padding:0}
.col-list li{padding:22px 0;border-bottom:1px solid var(--line)}
.col-list li:first-child{padding-top:4px}
.col-list li:last-child{border-bottom:0}
.cl-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cl-tag{font-family:var(--font-ui);font-size:12.5px;letter-spacing:.08em;color:var(--accent);white-space:nowrap}
.cl-name{font-family:var(--font-serif-cn);font-size:19px;font-weight:600;margin:0;letter-spacing:.01em}
.cl-line{margin:8px 0 0;font-family:var(--font-sans-cn);font-size:14px;line-height:1.8;color:var(--soft);max-width:72ch}
.cl-foot{margin:10px 0 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cl-domain{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.02em;color:var(--soft)}
.cl-foot .link-arrow{min-height:30px;font-size:13.5px}

/* ============================================================
   v1.0 · ArtCraft 动效与质感（2026-10-08）
   与 site.js v0.4 配套；prefers-reduced-motion 时全局已关闭动画。
   ============================================================ */

/* ---------- HUD 标签（等宽大写、宽字距——ArtCraft 的标志性小标签） ---------- */
.hud{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--soft)}
.exhibition-label,.field__label,.archive-rail__title,.filter-group__label,
.related__label,.biblio-books__label,.cl-tag{
  text-transform:uppercase;letter-spacing:.14em;
}

/* ---------- 反相悬停（invert-block） ---------- */
.site-nav a:hover{background:var(--ink);color:var(--bg);text-decoration:none}
.site-nav a:hover .nav-cn,.site-nav a:hover .nav-cta{color:var(--bg)}
.chip:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.theme-toggle:hover,.nav-toggle:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.entry summary:hover .entry__title{color:var(--accent)}
.btn:active{transform:translateY(1px) scale(.99)}

/* ---------- 指针聚光（卡片跟随光标的柔光） ---------- */
@media (pointer:fine){
  .js-anim .work-card,.js-anim .exhibit-card,.js-anim .track,.js-anim .collection-cover{position:relative}
  .js-anim .work-card::after,.js-anim .exhibit-card::after,
  .js-anim .track::after,.js-anim .collection-cover::after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
    background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),
      color-mix(in srgb,var(--accent) 15%,transparent),transparent 72%);
    transition:opacity .4s ease;
  }
  .js-anim .work-card:hover::after,.js-anim .exhibit-card:hover::after,
  .js-anim .track:hover::after,.js-anim .collection-cover:hover::after{opacity:1}
}

/* ---------- 顶部滚动进度条 ---------- */
body::before{
  content:"";position:fixed;left:0;top:0;height:2px;width:100%;z-index:60;
  transform:scaleX(var(--p,0));transform-origin:0 50%;
  background:var(--accent-pop);pointer-events:none;
}

/* ---------- 跑马灯（供横条用；CSS 自带，reduced-motion 下自动停） ---------- */
.marquee{display:flex;overflow:hidden}
.marquee-track{display:flex;flex-shrink:0;min-width:100%;animation:marquee-scroll 36s linear infinite}
@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* ---------- 标题逐行揭幕（配合 [data-reveal] 的错落节奏） ---------- */
@keyframes lineMask{from{opacity:0;transform:translateY(.5em);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
.js-anim .page-title,.js-anim .section-title{animation:lineMask .7s cubic-bezier(.22,.61,.36,1) both}
.js-anim .section-title{animation-delay:.06s}