:root{--bg:#f8f4ea;--paper:#fffdf7;--ink:#2a2622;--muted:#7a7064;--line:#e4dccb;--accent:#8a3324;--person:#f6dfb0;--place:#d3e8cc;--office:#d8e2f3;--term:#eadcf0;--know:#f4d3d3;--word:#b4533f;--pop-bg:#fffdf7;--serif:"Songti TC", "Songti SC", "STSong", "Noto Serif CJK TC", "Noto Serif TC", "Source Han Serif TC", "Noto Serif CJK SC", serif;--sans:-apple-system, "PingFang TC", "PingFang SC", "Noto Sans CJK TC", "Microsoft JhengHei", sans-serif;--size:1.25rem}@media (prefers-color-scheme:dark){:root{--bg:#1b1a18;--paper:#232120;--ink:#e8e2d6;--muted:#9c9385;--line:#3a3632;--accent:#e0907a;--person:#5a4424;--place:#2f4a2b;--office:#2d3c57;--term:#4a3553;--know:#5a3030;--word:#e0907a;--pop-bg:#2c2a27}}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{font-family:var(--sans);margin:0;line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header.site{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:.9rem max(1rem,50vw - 23rem);font-size:.95rem;display:flex}header.site .home{font-family:var(--serif);color:var(--ink);font-size:1.1rem;font-weight:700}header.site .crumb:before{content:"›";color:var(--line);margin-right:.6rem}main{max-width:46rem;margin:0 auto;padding:0 1rem 6rem}h1{font-family:var(--serif);margin:1.2rem 0 .3rem;font-size:1.9rem}.lede{color:var(--muted);margin:0 0 1.5rem}ul.toc{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}ul.toc li{border-bottom:1px solid var(--line)}ul.toc a{color:var(--ink);justify-content:space-between;gap:1rem;padding:.8rem .2rem;display:flex}ul.toc a:hover{background:var(--paper);text-decoration:none}ul.toc .title{font-family:var(--serif);font-size:1.1rem}ul.toc .meta{color:var(--muted);white-space:nowrap;font-size:.85rem}.toolbar{z-index:10;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding:.55rem 1rem;position:sticky;top:0}.toolbar .inner{flex-wrap:wrap;align-items:center;gap:.4rem;max-width:46rem;margin:0 auto;display:flex}.toolbar button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:.2rem .75rem;font-size:.85rem}.toolbar button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.toolbar .sep{background:var(--line);width:1px;height:1.2rem;margin:0 .2rem}.toolbar .preset{border-style:dashed}.legend{color:var(--muted);gap:.5rem;margin-left:auto;font-size:.75rem;display:none}.show-hl .legend{display:flex}.legend i{border-radius:3px;padding:0 .3rem;font-style:normal}h2.era{font-family:var(--serif);color:var(--accent);margin:2.4rem 0 .8rem;font-size:1.15rem;font-weight:600}article.para{margin:1.6rem 0 2.4rem;scroll-margin-top:4rem;position:relative}.para .pid{color:var(--muted);font-size:.75rem;font-family:var(--sans)}.para .badge{color:var(--accent);border:1px solid;border-radius:3px;margin-left:.4rem;padding:0 .3rem;font-size:.7rem}.para .tags{color:var(--muted);margin-left:.4rem;font-size:.75rem}p.yuan{font-family:var(--serif);font-size:var(--size);text-align:justify;margin:.3rem 0 0;line-height:2.1}.show-py p.yuan{line-height:2.6}.n{border-radius:3px}.show-hl .n{cursor:pointer}.show-hl .n.person{background:var(--person)}.show-hl .n.place{background:var(--place)}.show-hl .n.office{background:var(--office)}.show-hl .n.term{background:var(--term)}.show-hl .n.know{background:var(--know)}.show-hl .n.word{text-decoration:underline dotted var(--word);text-underline-offset:.28em;text-decoration-thickness:2px}.show-hl .n:hover,.show-hl .n:focus-visible,.n.active{outline:2px solid var(--accent);outline-offset:1px}.legend .person{background:var(--person)}.legend .place{background:var(--place)}.legend .office{background:var(--office)}.legend .term{background:var(--term)}.legend .know{background:var(--know)}.legend .word{text-decoration:underline dotted var(--word);text-decoration-thickness:2px}rt{font-family:var(--sans);color:var(--muted);font-size:.5em;display:none}.show-py rt{display:ruby-text}.s-yi{display:none}.show-sent p.yuan .s{margin-top:.9rem;display:block}.show-sent p.yuan .s:first-child{margin-top:0}.show-sent p.yuan .s-yi{font-family:var(--sans);color:var(--muted);border-left:2px solid var(--line);margin:.2rem 0 0;padding-left:.7rem;font-size:.82em;line-height:1.8;display:block}.layer{background:var(--paper);border:1px solid var(--line);border-radius:6px;margin-top:1rem;padding:.9rem 1.1rem;font-size:.95rem;display:none}.show-zhu .layer.zhu,.show-yi .layer.yi,.show-jie .layer.jie,.show-zs .layer.zs{display:block}.layer h3{letter-spacing:.1em;color:var(--accent);margin:0 0 .4rem;font-size:.8rem;font-weight:600}.layer>:last-child{margin-bottom:0}.layer p{margin:.4rem 0}.layer.yi{font-family:var(--serif);font-size:1.02rem;line-height:1.9}.zhu .group{margin:0 0 .7rem}.zhu .head{font-family:var(--serif);color:var(--muted);font-size:.85rem}.zhu dl{grid-template-columns:max-content 1fr;gap:.15rem .8rem;margin:.2rem 0 0;display:grid}.zhu dt{font-family:var(--serif);font-weight:600}.zhu dt small{font-family:var(--sans);color:var(--muted);margin-left:.3rem;font-weight:400}.zhu dd{margin:0}.zhu .remark{color:var(--muted);font-size:.9rem}.jie+.jie{margin-top:.6rem}.layer.zs h4,.layer.zs h5{margin:.8rem 0 .2rem;font-size:.95rem}.layer.zs.open{display:block}.layer.zs{scroll-margin-top:calc(var(--bar-h,4rem) + .8rem)}.layer.zs h3{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.layer.zs .kback{letter-spacing:0;white-space:nowrap;font-size:.8rem;font-weight:400}.layer.zs .kback-end{text-align:right;margin:.8rem 0 0}.layer.zs:focus{outline:none}.layer.zs.flash{animation:1.6s ease-out kflash}@keyframes kflash{0%,30%{box-shadow:0 0 0 3px var(--accent)}to{box-shadow:0 0 0 3px #0000}}sup.cm{font-size:.62em;font-family:var(--sans);color:#fff;background:var(--accent);cursor:pointer;vertical-align:super;border-radius:3px;margin:0 .1em;padding:0 .22em;line-height:1;display:none}.show-pz sup.cm{display:inline}sup.cm:hover,sup.cm:focus-visible,sup.cm.active{outline:2px solid var(--accent);outline-offset:1px}.show-pz .layer.pz{display:block}.layer.pz dl{grid-template-columns:max-content 1fr;gap:.3rem .8rem;margin:.2rem 0 0;display:grid}.layer.pz dt button{font:inherit;font-family:var(--serif);color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;max-width:12em;padding:0;font-weight:600}.layer.pz dd{margin:0}::highlight(comment){background-color:color-mix(in srgb, var(--accent) 22%, transparent)}#pop .kmore{margin-top:.45rem;font-size:.85rem;display:inline-block}.show-hl .n.know:after{content:"↓";vertical-align:super;color:var(--accent);margin-left:1px;font-size:.55em}#pop{z-index:20;background:var(--pop-bg);max-width:min(22rem,100vw - 2rem);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem;font-size:.92rem;line-height:1.65;position:absolute;box-shadow:0 6px 24px #00000026}#pop[hidden]{display:none}#pop .w{font-family:var(--serif);font-size:1.15rem;font-weight:700}#pop .py{color:var(--muted);margin-left:.4rem}#pop .cat{float:right;color:var(--muted);border:1px solid var(--line);border-radius:3px;margin-left:.5rem;padding:0 .3rem;font-size:.7rem}#pop .note{margin-top:.25rem}#pop .note p{margin:0}@media (width<=560px){:root{--size:1.15rem}.legend{display:none!important}}.toolbar .maplink{white-space:nowrap;margin-left:.2rem;font-size:.85rem}.show-dt .layer.dt{display:block}figure.map{margin:1rem 0 0;padding:.9rem 1.1rem 1rem}figure.map figcaption{flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;margin-bottom:.5rem;display:flex}figure.map figcaption h3{margin:0}figure.map figcaption .paras a{color:var(--muted);margin-right:.3rem;font-size:.75rem}figure.map figcaption .open{margin-left:auto;font-size:.8rem}figure.map .leaflet{border:1px solid var(--line);background:var(--paper);height:22rem;max-height:60vh;font-family:var(--sans);border-radius:6px}figure.map .desc{margin-top:.6rem;font-size:.9rem}figure.map .desc p{margin:.3rem 0}figure.map ul.places{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.15rem .9rem;margin:.6rem 0 0;padding:0;font-size:.85rem;list-style:none;display:grid}figure.map ul.places li{line-height:1.5}figure.map ul.places button.pl{font:inherit;font-family:var(--serif);cursor:pointer;background:var(--place);color:var(--ink);border:0;border-radius:3px;padding:0 .3rem;font-weight:600}figure.map ul.places button.pl:hover{outline:2px solid var(--accent)}figure.map ul.places small{color:var(--muted);margin:0 .3rem}.layer.mapref{padding:.5rem 1rem;font-size:.9rem}.layer.mapref small{color:var(--muted);margin-left:.3rem}.show-hl .n[data-geo]:after{content:"◦";vertical-align:super;color:var(--accent);margin-left:1px;font-size:.55em}.n.flash{animation:1.6s ease-out flash}@keyframes flash{0%,30%{outline:3px solid var(--accent);outline-offset:2px;background:var(--person)}to{outline-color:#0000}}#pop .minimap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);height:8.5rem;margin:.5rem -.9rem 0}#pop .geo{flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem;margin-top:.45rem;font-size:.82rem;display:flex}#pop .geo .modern{color:var(--muted)}#pop .geo .tomap{white-space:nowrap}.place-marker{width:16px;height:16px;position:relative}.place-marker:before{content:"";box-sizing:border-box;background:#8a3324;border:2px solid #fff;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 1.5px #8a3324,0 1px 4px #0006}.place-marker.region:before{background:#8a6d3b;box-shadow:0 0 0 1.5px #8a6d3b}.place-marker.battle:before{background:#b4533f;box-shadow:0 0 0 1.5px #b4533f,0 1px 4px #0006}.place-marker.camp:before,.place-marker.pass:before{background:#4a6b2a;box-shadow:0 0 0 1.5px #4a6b2a,0 1px 4px #0006}.place-marker.river:before,.place-marker.mountain:before{background:#2d5a8c;box-shadow:0 0 0 1.5px #2d5a8c,0 1px 4px #0006}.place-marker i{color:#2a2622;text-shadow:0 0 3px #fff,0 0 3px #fff;font-size:13px;font-style:normal;line-height:16px;position:absolute;top:0;left:19px}.place-marker b{white-space:nowrap;color:#2a2622;background:#fffdf7e0;border-radius:3px;padding:0 5px;font-family:Songti TC,Songti SC,Noto Serif CJK TC,serif;font-size:14px;font-weight:700;line-height:20px;position:absolute;top:-2px;left:19px;box-shadow:0 0 0 1px #8a332459,0 1px 3px #00000040}.place-marker i+b{left:34px}.place-marker.region b{color:#6b5323;background:#fffdf7b3;font-weight:500;box-shadow:0 0 0 1px #8a6d3b59}.place-marker.selected:before{background:#e0a000;transform:scale(1.4)}.place-marker.selected b{color:#fff;background:#8a3324}.route-arrow span{text-align:center;transform-origin:50%;font-size:15px;line-height:16px;display:block}.leaflet-tooltip.route-label{font-family:var(--serif)}.place-popup .leaflet-popup-content{font-family:var(--sans);margin:.6rem .9rem;font-size:.88rem;line-height:1.6}.place-popup .w{font-family:var(--serif);font-size:1.05rem}.place-popup .py{color:#7a7064;margin-left:.4rem}.place-popup .modern{color:#7a7064}.place-popup .note p{margin:.2rem 0}.place-popup .back{margin-top:.3rem}.place-popup .back a{margin-right:.3rem}@media (prefers-color-scheme:dark){.leaflet-container .leaflet-tile-pane{filter:brightness(.82)contrast(1.05)}}html:not([lang^=zh]):not([lang=ja]){--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Songti SC", serif;--size:1.15rem}html:not([lang^=zh]):not([lang=ja]) p.yuan{text-align:left;hyphens:auto;line-height:1.75}html:not([lang^=zh]):not([lang=ja]).show-py p.yuan{line-height:2.4}.layer .alt,#pop .alt,.learn .alt{color:var(--muted);margin-top:.15rem;font-style:italic;display:block}.show-sent p.yuan .s-yi.s-alt{margin-top:.2rem;font-style:italic}.show-hl .n.gram{text-decoration:underline wavy var(--accent);text-underline-offset:.3em;text-decoration-thickness:1px}.legend .gram{text-decoration:underline wavy var(--accent);text-decoration-thickness:1px}.show-gr .layer.gr{display:block}.layer.gr dl,.layer.zhu dl{margin:.2rem 0 0}.layer.gr dt{font-family:var(--serif);font-weight:600}.layer.gr dt small{color:var(--muted);margin-left:.4rem;font-style:italic;font-weight:400}.layer.gr dd{margin:0 0 .5rem}main.play .para{margin-top:.9rem}main.play .para .spk{font-family:var(--sans);letter-spacing:.08em;color:var(--accent);margin-top:.2rem;font-size:.78rem;display:block}main.play .para .spk i{letter-spacing:0;color:var(--muted);text-transform:none;margin-left:.5rem}main.play .para.stage p.yuan{color:var(--muted);padding-left:1.5rem;font-size:1rem;font-style:italic}main.play .para.cont p.yuan{padding-left:0}p.yuan .sd,p.yuan .n.sd{color:var(--muted);font-style:italic}main.play h2.era{font-variant:small-caps;letter-spacing:.04em}ul.toc .title small.private{color:var(--accent);border:1px solid;border-radius:3px;margin-left:.5rem;padding:0 .3rem;font-size:.7rem}.learnlink{margin:.2rem 0 1rem}.learn .filter{width:100%;font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;margin:.4rem 0 1rem;padding:.4rem .6rem}.learn .tabs{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.learn .tabs a{font-size:.9rem}.learn .stats{color:var(--muted);font-size:.9rem}.learn .entry{border-top:1px solid var(--line);padding:.7rem 0}.learn .entry h3{font-family:var(--serif);margin:0 0 .2rem;font-size:1.1rem}.learn .entry h3 small{font-family:var(--sans);color:var(--muted);margin-left:.4rem;font-size:.8rem;font-weight:400}.learn .occ{margin:.35rem 0 0 .2rem;font-size:.95rem}.learn .occ .info{color:var(--muted);margin:0 .5rem 0 .3rem;font-size:.85rem}.learn .occ .def{display:block}.learn .occ .ex{font-family:var(--serif);color:var(--muted);margin-top:.1rem;font-size:.92rem;display:block}.learn .occ .ex mark{background:var(--term);color:inherit;border-radius:2px;padding:0 .1em}.learn .occ .src{margin-left:.4rem;font-size:.75rem}.learn .letter{font-family:var(--serif);color:var(--accent);margin:1.4rem 0 .2rem;font-size:1.3rem}.learn section[hidden],.learn .entry[hidden],.learn .letter[hidden]{display:none}html[lang=ja]{--serif:"Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", "Noto Serif CJK JP", "Source Han Serif JP", serif;--sans:-apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif}html[lang=ja] p.yuan{line-height:2.2}html[lang=ja].show-py p.yuan{line-height:2.8}html[lang=ja] rt{font-size:.55em}.pitch{white-space:nowrap;font-family:var(--sans)}.pitch .m{border-top:1.5px solid #0000;padding-top:2px;line-height:1.25;display:inline-block}.pitch .m.h{border-top-color:currentColor}.pitch .m.d{border-right:1.5px solid}.pitch small{color:var(--muted);margin-left:.15em;font-size:.8em}.lede .author{color:var(--ink)}
