/* 篆书印面字体 · 源文件 quanziku-shuowen.ttf · 子集 18 字 */
@font-face{font-family:'COZSeal';font-style:normal;font-weight:400;font-display:block;src:url(data:font/woff2;charset=utf-8;base64,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) format('woff2')}
/* COZLABS 舆图集 · 视觉系统
   纸本（浅色）/ 拓本（深色）两套色板，章节版式、全屏工具、详情抽屉、时间轴、可信度徽标。所有专题共用。 */
:root{
  --paper:#F1E9D8;--paper2:#E8DFC9;--hill:#E4D9C1;--ink:#2A231E;--ink2:#564A40;--mute:#877A6C;--line:#CFC2A9;--line2:#B9A98E;
  --water:#C2D3CB;--wave:#3E5B6E;--cinn:#B23A2A;--cinn2:#8E2E22;--indigo:#3E5B6E;--pale:#A69684;--soft:rgba(178,58,42,.09);
  --shadow:0 1px 2px rgba(42,35,30,.08),0 10px 30px -14px rgba(42,35,30,.35);
  /* 印记：纸本作朱文（阳刻，字朱底白），拓本作白文（阴刻，底朱字白） */
  --seal-plate:var(--paper);--seal-ink:var(--cinn);--seal-edge:var(--cinn);--seal-wt:400;
  /* 一律系统字体：不引外部字体，国内外首屏都不等下载 */
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","HarmonyOS Sans SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
}
/* 纸色写在 data-paper（light / dark），不与宿主注入的 data-theme 抢同一个属性；默认纸本，不看系统 */
:root[data-paper="dark"]{
  --paper:#161311;--paper2:#1E1A17;--hill:#1B1715;--ink:#E9E0D0;--ink2:#C7BBA8;--mute:#8F8274;--line:#352E28;--line2:#4A413A;
  --water:#233231;--wave:#8FB1C4;--cinn:#DE7A66;--cinn2:#EFA08C;--indigo:#8FB1C4;--pale:#6A5F55;--soft:rgba(222,122,102,.14);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -14px rgba(0,0,0,.8);
  --seal-plate:#C24B33;--seal-ink:#F1E4D2;--seal-hover:#F3E7DF;--seal-edge:#D9634C;--seal-wt:500;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:60px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75;padding-inline:20px;padding-block:0 72px;transition:background .3s,color .3s}
button{font:inherit;color:inherit}
button:focus-visible,a:focus-visible,.pt:focus-visible,input:focus-visible{outline:2px solid var(--cinn);outline-offset:2px;border-radius:3px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
a{color:var(--cinn)}
/* ---- top bar ---- */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;margin-inline:-20px;padding:8px 20px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar-in{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{font-weight:900;letter-spacing:.14em;font-size:15px;display:flex;align-items:center;gap:9px;margin-right:auto;color:var(--ink);text-decoration:none}
.brand-t{display:grid;line-height:1.2}
.brand-t small{font-size:10px;font-weight:500;letter-spacing:.24em;color:var(--mute)}
/* 两行字对齐：一字一格，窄的那行摊开到与宽的那行同宽（COZLABS 七个字母对舆图集三个字） */
.brand-t.fit{justify-items:stretch}
.brand-t.fit small,.brand-t.fit b{display:flex;justify-content:space-between;letter-spacing:0}
.brand-t.fit b{font-weight:900;font-size:15px;line-height:1.15}
.brand-t.fit i{font-style:normal}
.brand:hover .seal{background:var(--cinn);color:var(--seal-hover,var(--paper))}
.seal{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--seal-edge);background:var(--seal-plate);color:var(--seal-ink);font-size:13px;font-weight:var(--seal-wt);line-height:1;letter-spacing:0;border-radius:1px;transform:rotate(-4deg)}
.nav{display:flex;gap:2px}
.nav a{color:var(--ink2);text-decoration:none;font-size:13px;padding:4px 9px;border-radius:4px}
.nav a:hover{background:var(--paper2)}
.nav a b{font-weight:900;margin-right:3px}
.seg{display:inline-flex;background:var(--paper2);border:1px solid var(--line);border-radius:6px;padding:2px}
.seg button{border:0;background:transparent;padding:3px 9px;font-size:12px;border-radius:4px;cursor:pointer;color:var(--mute)}
.seg button[aria-pressed="true"]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}
.btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:5px 14px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;letter-spacing:.04em}
.btn:hover{background:var(--cinn);border-color:var(--cinn)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--paper2);color:var(--ink)}
@media (max-width:640px){.nav{display:none}}
/* ---- hero ---- */
.wrap{max-width:1280px;margin:0 auto;display:grid;gap:64px;padding-top:28px}
.hero{display:grid;grid-template-columns:auto 1fr;gap:8px 48px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:22px}
@media (max-width:860px){.hero{grid-template-columns:1fr}}
.poem{font-size:12px;letter-spacing:.32em;color:var(--mute);grid-column:1/-1}
h1{margin:0;font-size:clamp(30px,4vw,46px);font-weight:900;letter-spacing:.1em;line-height:1.1;white-space:nowrap}
.hero .lede{font-size:14px;color:var(--ink2);max-width:62ch;margin:0}
.stats{display:flex;flex-wrap:wrap;gap:6px 26px;grid-column:1/-1;margin-top:6px}
.stat b{display:block;font-size:22px;font-weight:900;line-height:1.1}
.stat span{font-size:11px;color:var(--mute);letter-spacing:.08em}
.stat.o b{color:var(--cinn2)}.stat.c b{color:var(--cinn)}.stat.r b{color:var(--indigo)}
/* ---- chapters ---- */
.ch{display:grid;grid-template-columns:minmax(280px,34ch) minmax(0,1fr);gap:28px 44px;align-items:start}
@media (max-width:900px){.ch{grid-template-columns:1fr}}
.ch-num{font-size:44px;font-weight:900;line-height:1;color:var(--cinn);letter-spacing:.05em}
.ch-head{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}
.ch-head h2{margin:0;font-size:clamp(20px,2.4vw,26px);font-weight:900;letter-spacing:.06em;line-height:1.3}
.ch-head small{font-size:12px;letter-spacing:.2em;color:var(--mute)}
.ch p{margin:0 0 12px;color:var(--ink2)}
.ch p b{color:var(--ink);font-weight:700}
.ch .cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.fig{position:relative;border:1px solid var(--line2);background:var(--paper);box-shadow:var(--shadow);overflow:hidden}
.fig svg{display:block;width:100%;height:auto}
.fig .cap{position:absolute;left:12px;bottom:8px;font-size:11px;color:var(--mute);letter-spacing:.06em;background:color-mix(in srgb,var(--paper) 75%,transparent);padding:1px 6px}
.fig .open{position:absolute;right:10px;top:10px}
/* 窄屏上插图本来就矮，图说不再压在图上，落到图下 */
@media (max-width:640px){.fig .cap{position:static;display:block;background:transparent;padding:6px 10px 7px;border-top:1px solid var(--line);font-size:11px;line-height:1.5}}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12.5px;border:1px solid var(--line2);background:transparent;padding:2px 10px;border-radius:999px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.chip:hover{background:var(--paper2)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chip .n{font-size:11px;opacity:.7}
.mini-tl{display:grid;gap:4px;margin-top:8px}
.mini-tl div{display:grid;grid-template-columns:44px 1fr;gap:10px;font-size:13px;color:var(--ink2)}
.mini-tl time{color:var(--cinn);font-weight:700}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--mute)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.dot.o{background:var(--cinn2);box-shadow:0 0 0 1.5px var(--paper),0 0 0 3px var(--cinn2)}.dot.c{background:var(--cinn)}.dot.r{border:1.8px solid var(--indigo);background:var(--paper)}.dot.l{background:var(--pale);width:8px;height:8px;margin-inline:1px}.dot.n{background:var(--indigo)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
@media (max-width:640px){.grid2{grid-template-columns:1fr}}
.facts div{border-top:2px solid var(--ink);padding-top:8px;margin-bottom:12px}
.facts b{display:block;font-weight:900;font-size:14px}
.facts span{font-size:13px;color:var(--ink2)}
.names{columns:2;column-gap:28px;font-size:13.5px;margin:0;padding:0;list-style:none}
@media (max-width:640px){.names{columns:1}}
.names li{break-inside:avoid;padding:6px 0;border-bottom:1px solid var(--line)}
.names li b{font-weight:700}
.names li span{display:block;font-size:12.5px;color:var(--mute)}
.note{font-size:13px;color:var(--mute);max-width:86ch;margin:0}
/* ---- svg common ---- */
svg .gl{fill:var(--ink);letter-spacing:.2em;paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}
svg .zn{fill:var(--mute);paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}
svg .city{fill:var(--ink);font-weight:700}
svg .ref circle{fill:var(--mute)}
.pt{cursor:pointer;transition:opacity .25s}
.pt text{font-weight:500;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}
.pt text.old{font-weight:400;fill:var(--mute)}
.pt .halo{fill:var(--cinn);opacity:0;transition:opacity .2s}
.pt:hover .halo{opacity:.16}
.pt.sel .halo{opacity:.26}
.pt.sel text.nm{font-weight:900;fill:var(--cinn)}
.pt.dim{opacity:.12}
.pt.gone circle.m{fill:var(--paper)!important;stroke:var(--mute)!important;stroke-dasharray:2 2}
.cart rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.1}
.cart.sel rect{stroke:var(--cinn);stroke-width:1.8}
.cart text{fill:var(--ink);font-weight:700;pointer-events:none}
.cart .cnt{fill:var(--paper)}
.cart .cntbg{fill:var(--cinn)}
svg.near .cityL{opacity:0;pointer-events:none}
svg:not(.near) .templeL{opacity:0;pointer-events:none}
.templeL,.cityL{transition:opacity .3s}
.route{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.route.alt{stroke:var(--indigo)}
.route.dim{opacity:.18}
.stop circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.4}
.stop.alt circle{stroke:var(--indigo)}
.stop text{font-size:11px;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3px}
.stop.tmpl circle{fill:var(--cinn);stroke:var(--paper)}
.area circle{fill:none;stroke:var(--ink);stroke-dasharray:4 3;stroke-width:1;opacity:.75}
.area.sel circle{stroke:var(--cinn);stroke-width:1.8;opacity:1}
.area:hover circle{opacity:1}
.grey{filter:grayscale(.85) contrast(.85);transition:filter .5s}
/* ---- tool ---- */
#tool{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;grid-template-columns:60px minmax(0,1fr) minmax(320px,400px);grid-template-rows:100%;padding-top:env(safe-area-inset-top,0px)}
#tool[hidden]{display:none!important}
@media (max-width:900px){#tool{grid-template-columns:52px minmax(0,1fr);grid-template-rows:55% 45%}#tool .drawer{grid-column:1/-1}}
.rail{border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;background:var(--paper2)}
.rail button{width:44px;height:44px;border:1px solid transparent;background:transparent;border-radius:6px;cursor:pointer;display:grid;place-items:center;gap:0;font-size:18px;font-weight:900;line-height:1;color:var(--mute)}
.rail button small{font-size:10px;font-weight:500;letter-spacing:.05em}
.rail button[aria-pressed="true"]{background:var(--paper);border-color:var(--line2);color:var(--cinn);box-shadow:var(--shadow)}
.rail .sp{flex:1}
.rail .x{font-size:16px;font-weight:400}
.stage{position:relative;min-width:0;min-height:0;overflow:hidden}
.stage svg.map{display:block;width:100%;height:100%;touch-action:pan-y}
.stage .cursor-grab{cursor:grab}.stage.drag{cursor:grabbing}
.hud{position:absolute;left:12px;top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:calc(100% - 100px)}
.hud .chip{background:color-mix(in srgb,var(--paper) 85%,transparent)}
.hud .chip[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.hud .chips{gap:5px}
.zoom{position:absolute;right:12px;top:10px;display:grid;gap:4px}
.zoom button{width:32px;height:32px;border-radius:4px;border:1px solid var(--line2);background:var(--paper);cursor:pointer;font-size:16px;line-height:1;box-shadow:var(--shadow)}
.zoom button:hover{background:var(--paper2)}
.hint{position:absolute;left:12px;bottom:10px;font-size:11px;color:var(--mute);background:color-mix(in srgb,var(--paper) 80%,transparent);padding:2px 8px;pointer-events:none}
.tip{position:absolute;z-index:5;pointer-events:none;background:var(--ink);color:var(--paper);font-size:12px;line-height:1.45;padding:6px 10px;border-radius:3px;white-space:nowrap;transform:translate(-50%,calc(-100% - 14px));opacity:0;transition:opacity .12s}
.tip.on{opacity:1}
.tip b{font-size:13px}
.drawer{border-left:1px solid var(--line);overflow:auto;background:var(--paper);min-height:0}
@media (max-width:900px){.drawer{border-left:0;border-top:1px solid var(--line)}}
.dbody{padding:18px 20px 28px;display:grid;gap:14px}
.dbody h3{margin:0;font-size:24px;font-weight:900;line-height:1.25}
.dbody h4{margin:0;font-size:11.5px;letter-spacing:.2em;color:var(--mute);font-weight:500}
.dbody p{margin:0}
.eyebrow{font-size:11.5px;letter-spacing:.18em;color:var(--mute)}
.tagline{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tag{font-size:11.5px;font-weight:500;padding:1px 8px;border-radius:999px;border:1px solid currentColor;display:inline-flex;gap:5px;align-items:center}
.tag.o{color:var(--cinn2)}.tag.c{color:var(--cinn)}.tag.r{color:var(--indigo)}.tag.l{color:var(--pale)}.tag.plain{color:var(--mute);border-color:var(--line2)}
.nowline{color:var(--mute);font-size:13.5px;margin-top:-8px}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:0}
.meta div{background:var(--paper);padding:7px 11px}
.meta dt{font-size:10.5px;letter-spacing:.12em;color:var(--mute)}
.meta dd{margin:0;font-size:13px;line-height:1.5}
.story{line-height:1.85}
.tl{list-style:none;margin:0;padding:0;display:grid}
.tl li{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:4px 0;position:relative;font-size:13.5px}
.tl li::before{content:"";position:absolute;left:94px;top:12px;width:6px;height:6px;border-radius:50%;background:var(--paper);border:1.4px solid var(--cinn)}
.tl li::after{content:"";position:absolute;left:97px;top:20px;bottom:-8px;width:1px;background:var(--line2)}
.tl li:last-child::after{display:none}
.tl time{font-size:12px;color:var(--ink2);text-align:right;padding-top:1px}
.tl span{padding-left:18px}
.g{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:2px;font-size:10px;font-weight:700;line-height:1;margin-left:5px;vertical-align:1px;cursor:help;border:1px solid currentColor;font-family:var(--mono)}
.g.A{color:var(--cinn2)}.g.B{color:var(--indigo)}.g.C{color:var(--mute)}.g.D{color:var(--pale);border-style:dashed}
.pop{position:fixed;z-index:200;max-width:320px;background:var(--ink);color:var(--paper);font-size:12px;line-height:1.5;padding:8px 11px;border-radius:3px;box-shadow:var(--shadow)}
.pop b{display:block;font-size:11px;letter-spacing:.1em;opacity:.7;margin-bottom:2px}
.pop q{display:block;margin-top:4px;opacity:.85}
.pop a{color:var(--paper);text-decoration:underline;opacity:.85}
.see{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.see li{font-size:12.5px;background:var(--paper2);border:1px solid var(--line);padding:2px 9px}
.caveat{font-size:12.5px;color:var(--mute);border-left:2px solid var(--line2);padding-left:10px}
.refs{font-size:12px;color:var(--mute);display:grid;gap:3px}
.refs a{color:var(--ink2)}
.rows{display:grid;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:14px 1fr auto;gap:3px 10px;align-items:start;padding:9px 4px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;width:100%}
.row:hover{background:var(--paper2)}
.row .dot{margin-top:7px}
.row .nm{font-weight:700}
.row .nm small{font-weight:400;color:var(--mute);font-size:12.5px;margin-left:6px}
.row .era{grid-column:2;font-size:12px;color:var(--mute)}
.row .go{color:var(--mute);font-size:16px;align-self:center}
.row[aria-current="true"]{background:var(--soft)}
.row[aria-current="true"] .nm{color:var(--cinn)}
.back{justify-self:start;border:0;background:none;color:var(--cinn);cursor:pointer;padding:0;font-size:13px}
.pager{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.pager button{border:1px solid var(--line2);background:none;border-radius:3px;padding:4px 10px;cursor:pointer;font-size:12.5px;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pager button:disabled{opacity:.35;cursor:default}
.namegrid{columns:2;column-gap:16px;font-size:13px}
.namegrid div{break-inside:avoid;padding:3px 0;border-bottom:1px dotted var(--line)}
.namegrid div span{color:var(--mute);font-size:11.5px;margin-left:6px}
/* timeline bar */
.tbar{position:absolute;left:12px;right:12px;bottom:12px;background:color-mix(in srgb,var(--paper) 92%,transparent);border:1px solid var(--line2);box-shadow:var(--shadow);padding:10px 14px 8px;display:grid;gap:4px}
.tbar[hidden]{display:none}
.tbar .top{display:flex;align-items:center;gap:10px}
.tbar .yr{font-size:26px;font-weight:900;min-width:64px;font-variant-numeric:tabular-nums}
.tbar .dyn{font-size:12px;color:var(--mute);letter-spacing:.1em}
.tbar .ev{font-size:13px;color:var(--ink2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbar .play{width:30px;height:30px;border-radius:50%;border:1px solid var(--ink);background:var(--paper);cursor:pointer;display:grid;place-items:center;font-size:12px}
.tbar .play[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.tbar .track{position:relative;height:30px}
.tbar input[type=range]{position:absolute;inset:0;width:100%;margin:0;-webkit-appearance:none;appearance:none;background:transparent;z-index:2}
.tbar input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--line2)}
.tbar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--cinn);border:2px solid var(--paper);margin-top:-7px;box-shadow:0 0 0 1px var(--cinn)}
.tbar input[type=range]::-moz-range-track{height:2px;background:var(--line2)}
.tbar input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--cinn);border:2px solid var(--paper)}
.tbar .ticks{position:absolute;left:8px;right:8px;top:0;height:30px;pointer-events:none}
.tbar .ticks i{position:absolute;top:19px;width:1px;height:8px;background:var(--mute);opacity:.6}
.tbar .ticks i.big{background:var(--cinn);height:10px;top:18px;opacity:.9}
.tbar .dyns{position:absolute;left:8px;right:8px;top:0;height:14px;pointer-events:none}
.tbar .dyns span{position:absolute;top:0;font-size:9.5px;letter-spacing:.12em;color:var(--mute);border-left:1px solid var(--line2);padding-left:3px;line-height:1;white-space:nowrap}
.ev-list{display:grid;gap:0;border-top:1px solid var(--line)}
.ev-list button{display:grid;grid-template-columns:40px 1fr;gap:8px;padding:7px 2px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;font-size:13px}
.ev-list button time{color:var(--cinn);font-weight:700}
.ev-list button[aria-current="true"]{background:var(--soft)}
.ev-list button.past{opacity:.55}
.people{display:grid;gap:4px}
.people button{display:grid;grid-template-columns:1fr auto;gap:8px;padding:6px 8px;border:1px solid var(--line);background:none;text-align:left;cursor:pointer;font-size:13px;border-radius:3px}
.people button b{font-weight:700}
.people button small{color:var(--mute)}
.people button[aria-pressed="true"]{border-color:var(--ink);background:var(--paper2)}
.people button[data-alt="true"]{border-color:var(--indigo)}
.stops{list-style:none;margin:0;padding:0;display:grid}
.stops li{display:grid;grid-template-columns:52px 1fr;gap:8px;font-size:13px;padding:5px 0;border-bottom:1px solid var(--line);cursor:pointer}
.stops li:hover{background:var(--paper2)}
.stops li time{color:var(--cinn);font-weight:700;font-size:12px}
.stops li span{color:var(--ink2)}
.stops li b{display:block;font-weight:700}
.ns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ns div{border-top:2px solid currentColor;padding-top:6px;font-size:13px}
.ns .s{color:var(--cinn)}.ns .n{color:var(--indigo)}
.ns b{display:block;font-size:22px;font-weight:900}

svg.deep .mts{opacity:.35;transition:opacity .3s}
.mts{transition:opacity .3s}
.grain{mix-blend-mode:multiply}
:root[data-paper="dark"] .grain{mix-blend-mode:screen;opacity:.5}

.colophon{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;margin-top:-28px;font-size:11.5px;color:var(--mute);letter-spacing:.14em}
.colophon .by{font-family:var(--mono);font-size:10.5px;letter-spacing:.32em;color:var(--mute)}
/* ---- 章节翻页（桌面宽屏） ---- */
.paged .wrap > section.ch{min-height:calc(100svh - var(--bar,60px));align-content:center;align-items:center;padding-block:28px;scroll-margin-top:var(--bar,60px)}
.paged .wrap > section.ch .fig{width:100%;max-width:calc((100svh - var(--bar,60px) - 56px) * var(--ar,1.1));justify-self:end;
  /* 章节比一屏长时，图钉在视野里跟着文字走，不会掉到章末 */
  align-self:start;position:sticky;top:calc(var(--bar,60px) + 24px)}
.paged .wrap{gap:0}
.paged .wrap > .hero{margin-bottom:40px}
.wrap > section.ch > *{transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.wrap > section.ch.ch-dim > *{opacity:.18}
.wrap > section.ch.ch-dim .fig{transform:scale(.985)}
@media (prefers-reduced-motion:reduce){.wrap > section.ch > *{transition:none}.wrap > section.ch.ch-dim > *{opacity:1}}

/* ---- 白话 ---- */
.pop .plain{display:block;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);color:var(--ink2)}
.pop .cnote{display:block;margin-top:4px;font-size:11.5px;color:var(--mute);letter-spacing:.04em}
.poem-plain{grid-column:1/-1;font-size:12.5px;color:var(--mute);letter-spacing:.04em;margin-top:-2px;max-width:70ch}

/* 标签避让：被 declutter 隐藏的文字 */
svg text.hid{visibility:hidden}

/* ── 印面刻法（rule 11）。默认 data-seal="xi" 细朱文：细边、细字、繁体黑体。
      data-seal="zhuan" 换成《说文》小篆（字体已内联，见 build/seal-font.css）。 ── */
html[data-seal="zhuan"] .seal{font-family:'COZSeal',var(--sans);font-size:15px}

/* 页脚中间的社交号（小红书）。未填 url 时只显示文字，不做成死链 */
.colophon .mid{color:var(--mute);display:flex;gap:14px;flex-wrap:wrap;align-items:baseline}
.colophon a{color:var(--mute);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px}
.colophon a:hover{color:var(--cinn);border-bottom-color:var(--cinn)}
/* 页脚两段：左边「舆图集 by COZLABS」，右边年表／存疑／刊记／来信 */
.colophon .by{display:flex;gap:12px;align-items:baseline}
.colophon .by .nm{font-family:var(--sans);font-size:11.5px;letter-spacing:.14em}
.colophon .by i{font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:.1em;color:var(--pale);margin-right:-6px}
.colophon .mid .mail{font-family:var(--sans);cursor:pointer}
.colophon .mail em{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--mute);margin-left:7px}
.colophon .mail:hover em{color:var(--cinn)}

/* ── 来信：点页脚那两个字弹出来的一张便笺 ─────────────── */
.say-ov{position:fixed;inset:0;z-index:95;background:color-mix(in srgb,var(--ink) 52%,transparent);
  display:grid;place-items:center;padding:20px;overflow:auto}
.say{background:var(--paper);border:1px solid var(--line2);box-shadow:0 18px 60px rgba(0,0,0,.28);
  width:min(560px,100%);padding:26px 26px 22px;display:grid;gap:14px;
  font-family:var(--sans);color:var(--ink)}
.say h3{margin:0;font-size:19px;letter-spacing:.2em;font-weight:900}
.say .say-lede{margin:0;font-size:13px;line-height:1.85;color:var(--ink2)}
.say-f{display:grid;gap:5px}
.say-f>span{font-size:11.5px;letter-spacing:.16em;color:var(--mute)}
.say-f>span em{font-style:normal;color:var(--pale);letter-spacing:.1em}
.say textarea,.say input{font-family:inherit;font-size:13.5px;line-height:1.8;color:var(--ink);
  background:var(--paper2);border:1px solid var(--line);border-radius:3px;padding:9px 11px;width:100%;
  resize:vertical}
.say textarea:focus,.say input:focus{outline:none;border-color:var(--cinn);background:var(--paper)}
.say textarea::placeholder,.say input::placeholder{color:var(--pale)}
.say-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.say-act{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.say-go,.say-no{font-family:inherit;font-size:13px;letter-spacing:.2em;border-radius:3px;cursor:pointer;padding:7px 20px}
.say-go{border:1px solid var(--seal-edge);background:var(--seal-plate);color:var(--seal-ink);font-weight:var(--seal-wt)}
.say-go:hover{background:var(--cinn);color:var(--paper);border-color:var(--cinn)}
.say-go[disabled]{opacity:.5;cursor:default}
.say-no{border:1px solid var(--line2);background:transparent;color:var(--mute)}
.say-no:hover{color:var(--ink);border-color:var(--ink2)}
.say-msg{font-size:12px;color:var(--cinn);letter-spacing:.1em}
.say-alt{margin:0;font-size:12px;color:var(--mute);border-top:1px solid var(--line);padding-top:12px}
.say-alt a{color:var(--cinn);text-decoration:none;border-bottom:1px solid var(--line2);font-family:var(--mono)}
@media(max-width:520px){.say{padding:20px 18px 18px}}

/* 引用此页：页脚上方一格，默认收起。三种写法各一行，右边一个复制。 */
.cite-this{border-top:1px solid var(--line);margin-top:40px;padding-top:10px;font-size:11.5px;color:var(--mute);letter-spacing:.1em}
.cite-this>summary{cursor:pointer;list-style:none;display:inline-block;padding:2px 0;border-bottom:1px solid transparent}
.cite-this>summary::-webkit-details-marker{display:none}
.cite-this>summary::before{content:"引";display:inline-block;width:15px;height:15px;line-height:15px;text-align:center;
  border:1px solid var(--line2);color:var(--mute);margin-right:8px;font-size:10px;vertical-align:1px}
.cite-this>summary:hover{color:var(--cinn);border-bottom-color:var(--cinn)}
.cite-this[open]>summary{color:var(--ink2)}
.cite-this .ct{margin:10px 0 2px;display:grid;gap:8px}
.cite-this .ct-r{display:grid;grid-template-columns:4em minmax(0,1fr) 3.4em;gap:10px;align-items:start}
.cite-this .ct-k{color:var(--mute);letter-spacing:.18em;padding-top:3px}
.cite-this code{font-family:var(--mono);font-size:11px;line-height:1.75;letter-spacing:0;color:var(--ink2);
  background:var(--paper2);border:1px solid var(--line);padding:6px 9px;white-space:pre-wrap;word-break:break-all;display:block}
.cite-this .ct-c{font:inherit;font-size:10.5px;letter-spacing:.14em;color:var(--mute);background:transparent;
  border:1px solid var(--line2);padding:5px 0;cursor:pointer}
.cite-this .ct-c:hover{color:var(--cinn);border-color:var(--cinn)}
.cite-this .ct-n{margin:2px 0 0;color:var(--mute);font-size:11px;letter-spacing:.1em}
.cite-this .ct-n a{color:var(--mute);border-bottom:1px solid var(--line2);text-decoration:none}
.cite-this .ct-n a:hover{color:var(--cinn);border-color:var(--cinn)}
/* 期页的页脚本来往上收 28px（贴着正文），前面多了这一格就不能再收，否则压字 */
.cite-this+.colophon{margin-top:16px}
@media (max-width:640px){.cite-this .ct-r{grid-template-columns:1fr;gap:4px}.cite-this .ct-c{justify-self:start;padding:5px 14px}}
body{overflow-x:clip}   /* 栅格取整偶尔会多出一两个像素，不让它变成横向滚动条 */

/* 交叉索引各页（地点、人物、纪年、存疑、年表）共用的版面。
   色板、字体、印记全部沿用 core/atlas.css，这里只加版面。 */
.x-bar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.x-bar-in{max-width:1080px;margin:0 auto;padding:9px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.x-bar .home{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;flex:none}
.x-bar .home .seal{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--seal-edge);
  background:var(--seal-plate);color:var(--seal-ink);font-size:14px;font-weight:var(--seal-wt)}
.x-bar .home b{font-size:14.5px;letter-spacing:.2em;font-weight:900}
.x-nav{display:flex;gap:16px;font-size:12.5px;letter-spacing:.14em;margin-left:auto;flex-wrap:wrap}
.x-nav a{color:var(--mute);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px}
.x-nav a:hover{color:var(--cinn);border-bottom-color:var(--cinn)}
.x-nav a[aria-current]{color:var(--ink);border-bottom-color:var(--cinn)}

.x-wrap{max-width:1080px;margin:0 auto;padding:0 20px 90px}
.x-narrow{max-width:62em}   /* 没有右栏地图的页，正文不要拉满一屏宽 */
.x-head{padding:40px 0 6px;border-bottom:1px solid var(--line)}
.x-head .eyebrow{font-size:11.5px;letter-spacing:.3em;color:var(--mute);margin-bottom:8px}
/* atlas.css 给 h1 定了 white-space:nowrap（期页的大标题要求不折行），这里要折 */
.x-head h1{font-size:30px;letter-spacing:.1em;margin:0 0 8px;font-weight:900;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
.x-head h1 small{font-size:14px;letter-spacing:.12em;color:var(--mute);font-weight:500;margin-left:12px}
.x-head .x-meta{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:12.5px;color:var(--ink2);margin:0 0 16px;overflow-wrap:anywhere}
.x-head .x-meta i{font-style:normal;color:var(--mute);margin-right:6px;letter-spacing:.14em}
.x-head .x-lede{font-size:13.5px;color:var(--ink2);line-height:1.9;max-width:46em;margin:0 0 16px;overflow-wrap:anywhere}

.x-sec{margin-top:30px}
.x-sec>h2{font-size:13px;letter-spacing:.26em;margin:0 0 10px;font-weight:900;border-bottom:1px solid var(--line);padding-bottom:6px}
.x-sec>h2 small{float:right;font-size:11px;letter-spacing:.14em;color:var(--mute);font-weight:500}
.x-none{color:var(--mute);font-size:12.5px;letter-spacing:.12em;padding:4px 0}

/* 期号朱印 + 题名，到处都用 */
.x-issues{display:flex;flex-wrap:wrap;gap:8px}
.x-iss{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--line);
  border-radius:3px;text-decoration:none;color:var(--ink);font-size:13px;background:var(--paper)}
.x-iss:hover{border-color:var(--cinn);color:var(--cinn)}
.x-iss i{font-style:normal;min-width:22px;height:22px;display:grid;place-items:center;font-size:11.5px;
  border:1px solid var(--seal-edge);background:var(--seal-plate);color:var(--seal-ink);font-weight:var(--seal-wt)}
.x-iss.plan{color:var(--mute)}
.x-iss.plan i{background:transparent;border-color:var(--line2);color:var(--mute);font-weight:500}
.x-iss em{font-style:normal;font-size:11px;color:var(--mute);letter-spacing:.1em}

/* 界栏式条目表 */
.x-rows{border-top:1px solid var(--line)}
.x-row{display:grid;grid-template-columns:7.5em 1fr;gap:2px 18px;padding:9px 0;border-bottom:1px solid var(--line);align-items:baseline}
.x-row>.k{font-size:11.5px;color:var(--mute);letter-spacing:.1em;font-variant-numeric:tabular-nums}
.x-row>.v{font-size:13.5px;color:var(--ink2);line-height:1.8;min-width:0;overflow-wrap:anywhere}
.x-row>.v b{color:var(--ink);font-weight:700}
.x-row>.v a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line2)}
.x-row>.v a:hover{color:var(--cinn);border-bottom-color:var(--cinn)}
.x-row>.v .src{display:block;font-size:11.5px;color:var(--mute);margin-top:2px;letter-spacing:.04em}
@media(max-width:620px){.x-row{grid-template-columns:1fr;gap:1px}.x-head h1{font-size:25px}}

/* 小图 */
.x-map{border:1px solid var(--line2);background:var(--paper);box-shadow:var(--shadow);margin-top:6px;position:relative;overflow:hidden;contain:paint}
.x-map svg{display:block;width:100%;height:auto;overflow:hidden}
.x-map .x-cap{padding:6px 10px 7px;border-top:1px solid var(--line);font-size:11px;color:var(--mute);letter-spacing:.06em;
  display:flex;justify-content:space-between;gap:12px}
.x-map.can-zoom{cursor:zoom-in}
.x-map.can-zoom .x-cap::after{content:"点图放大";color:var(--pale);white-space:nowrap}
.x-map.can-zoom:hover{border-color:var(--line2);box-shadow:0 0 0 2px var(--paper2)}
.x-map:focus-visible{outline:2px solid var(--cinn);outline-offset:2px}

/* 放大后的那张纸 */
.x-zoom{position:fixed;inset:0;z-index:90;background:color-mix(in srgb,var(--ink) 55%,transparent);
  display:grid;place-items:center;padding:24px;cursor:zoom-out}
.x-zoom-sheet{background:var(--paper);border:1px solid var(--line2);box-shadow:0 18px 60px rgba(0,0,0,.3);
  max-width:min(1700px,96vw);max-height:92vh;overflow:auto;cursor:default}
.x-zoom-sheet svg{display:block;width:min(1700px,96vw);height:auto;max-height:86vh}
.x-zoom-cap{margin:0;padding:8px 14px 10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mute);letter-spacing:.06em}
.x-zoom-x{position:fixed;top:18px;right:20px;border:1px solid var(--line2);background:var(--paper);color:var(--ink2);
  border-radius:3px;padding:5px 14px;font-size:12.5px;font-family:inherit;letter-spacing:.14em;cursor:pointer}
.x-zoom-x:hover{color:var(--cinn);border-color:var(--cinn)}
.x-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px 32px;align-items:start}
/* 行迹长的人物动辄上万像素，图要钉在视野里，不然一滑就没了 */
@media(min-width:821px){.x-two>div:last-child{position:sticky;top:62px;align-self:start}}
@media(max-width:820px){.x-two{grid-template-columns:1fr}}

/* 词条索引（地点、人物、纪年的名录页） */
.x-alpha{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 6px}
.x-alpha button,.x-alpha a{border:1px solid var(--line);background:var(--paper2);color:var(--mute);
  border-radius:3px;padding:3px 10px;font-size:12px;cursor:pointer;font-family:inherit;text-decoration:none;letter-spacing:.1em}
.x-alpha button[aria-pressed="true"]{background:var(--paper);color:var(--ink);border-color:var(--line2)}
.x-alpha button:hover,.x-alpha a:hover{color:var(--cinn);border-color:var(--cinn)}
.x-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 22px;min-width:0}
.x-grid.wide{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.x-ent.col{grid-template-columns:1fr}
.x-grid>*{min-width:0}
.x-ent{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:6px 0 7px;border-bottom:1px solid var(--line);
  text-decoration:none;color:inherit;align-items:baseline}
.x-ent:hover b{color:var(--cinn)}
.x-ent .x-tag{font-size:10.5px;color:var(--mute);border:1px solid var(--line);border-radius:2px;padding:0 4px;letter-spacing:.06em;white-space:nowrap}
.x-ent>span{min-width:0}
.x-ent b{font-size:13.5px;font-weight:700;letter-spacing:.04em;overflow-wrap:anywhere}
.x-ent small{display:block;font-size:11px;color:var(--mute);letter-spacing:.04em;overflow-wrap:anywhere}
.x-ent.hot b{color:var(--ink)}
.x-cnt{font-size:11px;color:var(--cinn);margin-left:5px;font-variant-numeric:tabular-nums}

/* 前后翻 */
.x-pager{display:flex;justify-content:space-between;gap:16px;margin-top:34px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px}
.x-pager a{color:var(--mute);text-decoration:none;letter-spacing:.1em}
.x-pager a:hover{color:var(--cinn)}

/* 存疑总目 */
.x-doubt h3{font-size:14.5px;margin:26px 0 4px;font-weight:900;letter-spacing:.06em}
.x-doubt h3 a{color:inherit;text-decoration:none}.x-doubt h3 a:hover{color:var(--cinn)}
.x-doubt h3 span{font-size:11px;color:var(--mute);font-weight:500;letter-spacing:.14em;margin-left:10px}
.x-q{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:start}
.x-q .mk{flex:none;min-width:20px;height:20px;display:grid;place-items:center;font-size:11px;border-radius:2px;
  border:1px solid var(--cinn);color:var(--cinn);font-family:var(--mono);margin-top:2px}
.x-q .mk.soft{border-color:var(--line2);color:var(--mute)}
.x-q .t{font-size:13.5px;color:var(--ink2);line-height:1.85;min-width:0;overflow-wrap:anywhere}
.x-q .t b{color:var(--ink);font-weight:700}
.x-q .t .src{display:block;font-size:11.5px;color:var(--mute);margin-top:3px}
.x-q .t a{color:inherit;border-bottom:1px solid var(--line2);text-decoration:none}
.x-q .t a:hover{color:var(--cinn);border-bottom-color:var(--cinn)}

/* 总年表 */
/* 年表要横着铺开才看得清，所以挣脱正文宽度，向两边各借一点 */
.x-chrono{border:1px solid var(--line2);background:var(--paper);box-shadow:var(--shadow);margin-top:10px;
  overflow:hidden;contain:paint;width:min(1680px,calc(100vw - 40px));
  margin-left:calc(50% - min(840px,calc(50vw - 20px)));margin-right:0}
.x-chrono svg{display:block;width:100%;height:auto}
.x-chrono .roll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
/* 窄屏塞不下就让它横着拖，不要挤成看不清的一团 */
@media(max-width:900px){.x-chrono{width:auto;margin-left:0}
  .x-chrono .roll svg{width:1180px;max-width:none}}
.x-chrono .x-cap{padding:7px 12px 8px;border-top:1px solid var(--line);font-size:11.5px;color:var(--mute);letter-spacing:.06em}
.ch-bar{cursor:pointer}
.ch-bar rect{stroke-width:1}
.ch-bar.pub rect{fill:var(--seal-plate);stroke:var(--seal-edge)}
.ch-bar.plan rect{fill:transparent;stroke:var(--line2);stroke-dasharray:3 2.5}
.ch-bar text{font-size:12.5px;fill:var(--ink2);letter-spacing:.04em;pointer-events:none}
.ch-bar.pub text{fill:var(--ink);font-weight:700}
.ch-bar:hover rect{stroke:var(--cinn);stroke-width:1.6}
.ch-bar:hover text{fill:var(--cinn)}
.ch-lane{font-size:13px;fill:var(--mute);letter-spacing:.2em}
.ch-axis line{stroke:var(--line)}
.ch-axis text{font-size:12px;fill:var(--mute);font-family:var(--mono)}
.ch-era{fill:var(--paper2)}
.ch-era.alt{fill:transparent}
.ch-era-t{font-size:12.5px;fill:var(--mute);letter-spacing:.24em}
.ch-dens{fill:var(--cinn);opacity:.5}
.ch-dens.now{opacity:.9}

/* 各页页脚：与期页同一套，靠 atlas.css 的 .colophon */
.x-wrap .colophon{margin-top:46px}
.x-wrap .colophon span:first-child a{border-bottom:0;letter-spacing:.14em}
.x-head .x-meta .mail{border-bottom:1px solid var(--line2);text-decoration:none;color:var(--cinn)}
.x-head .x-meta .mail em{font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.04em;margin-left:8px}
.x-head .x-meta .mail:hover{border-bottom-color:var(--cinn)}

/* 纪年页的年，点一下现出干支；共和元年以前不排，也就没得点 */
.x-head h1 .gz{display:inline-block;margin-left:.5em;font-style:normal;font-weight:600;font-size:.56em;letter-spacing:.14em;color:var(--cinn);
  opacity:0;transform:translateY(.12em);transition:opacity .34s,transform .34s;vertical-align:.18em}
.x-head h1.gz-on .gz{opacity:1;transform:none}
/* 出处后面的小注（一条里几件事分级不同时） */
.src i{font-style:normal;margin-left:.8em;color:var(--pale)}

/* 所引之书：一条引文一行——原文、白话、出处各占一段 */
.wq,.wp,.wc{display:block;font-style:normal}
.wq{margin-top:3px;color:var(--ink)}
.wp{margin-top:2px;color:var(--ink2)}
.wc{margin-top:4px;color:var(--mute);font-size:11.5px;letter-spacing:.06em}
.wc .g{margin-right:6px}
.x-rows .k .yr{font-variant-numeric:tabular-nums}
