@charset "UTF-8";
:root{--paper:#f3efe5;--ink:#243c34;--muted:#65746a;--dark:#162723;--line:#d6d9ca;--red:#9f5647;--gold:#cfb38a;--serif:"Noto Serif TC","Songti TC","PMingLiU",serif;--sans:"Microsoft JhengHei","PingFang TC",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.8}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b36e42;outline-offset:5px}button{border:0}img{max-width:100%;display:block}a{text-decoration:none}p{margin:0 0 1em}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.45;margin:0}h2{font-size:clamp(30px,3.4vw,47px);letter-spacing:.08em}h3{font-size:23px}section[id]{scroll-margin-top:80px}[hidden]{display:none!important}.skip{position:fixed;left:12px;top:-90px;z-index:20;background:white;padding:10px}.skip:focus{top:12px}.topbar{height:86px;background:var(--dark);color:#e9e8db;display:flex;align-items:center;gap:30px;padding:0 5.5%;border-bottom:1px solid #ffffff20}.brand{display:flex;gap:14px;align-items:center;font-family:var(--serif);font-size:24px;letter-spacing:.12em}.seal{border:1px solid #b88a73;font-size:15px;color:#dcaa91;writing-mode:vertical-rl;padding:7px 3px;line-height:1.2}.brand-note{font-family:var(--sans);font-size:11px;letter-spacing:.18em;display:block;color:#a6b7ac}.topbar nav{display:flex;gap:28px;margin-left:auto;font-size:13px}.topbar nav a:hover{color:var(--gold)}.edition{font-size:11px;letter-spacing:.15em;color:#b0bfb1;border-left:1px solid #ffffff30;padding-left:24px}.hero{background:var(--dark);color:#f2eedf;display:grid;grid-template-columns:1.1fr 1fr;min-height:690px}.hero-text{padding:65px 5% 45px 12%;position:relative}.eyebrow{font-size:10px;letter-spacing:.25em;font-weight:600;color:var(--muted);margin-bottom:19px}.hero .eyebrow{color:#afc2ad}.hero h1{font-size:clamp(95px,10.5vw,154px);line-height:1.18;letter-spacing:.12em;display:flex;gap:25px;align-items:center}.title-mark{font-size:12px;letter-spacing:.23em;writing-mode:vertical-rl;border:1px solid #b09a74;padding:12px 6px;color:#d6bb93}.hero-line{font-family:var(--serif);font-size:30px;letter-spacing:.1em;margin:25px 0 20px}.hero-copy{font-size:14px;line-height:2.15;color:#c0cbbb}.hero-actions{display:flex;gap:27px;align-items:center;margin:31px 0}.button{display:inline-flex;padding:13px 25px;align-items:center;gap:30px;font-size:13px;letter-spacing:.08em;transition:background .2s}.button.light{background:#e4e4cf;color:#243a2f}.button.light:hover{background:#fff7df}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#3b5946}.text-link{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-foot{font-size:10px;color:#9eaf9f;letter-spacing:.12em;margin:36px 0 0}.hero-art{margin:0;position:relative;overflow:hidden;min-height:690px}.hero-art img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 25%}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#16272322,transparent 35%),linear-gradient(0deg,#162723c9,transparent 20%);pointer-events:none}.hero-art figcaption{position:absolute;bottom:20px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;z-index:1}.chapter-strip{display:flex;align-items:center;gap:27px;background:#dfe1d1;padding:20px 6%;font-family:var(--serif);font-size:15px;letter-spacing:.2em}.chapter-strip i{height:1px;width:40px;background:#a3af99}.strip-note{margin-left:auto;font-size:11px;letter-spacing:.1em;color:#60745d}.section{max-width:1320px;margin:auto;padding:96px 6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px;gap:25px}.side-note{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.progress-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.progress-note h3{font-size:25px;margin:20px 0}.progress-note>p{font-size:14px;color:var(--muted)}.badge{display:inline-block;font-size:10px;letter-spacing:.09em;border:1px solid #9fac91;background:#edf0df;color:#435e39;padding:2px 10px;border-radius:2px;vertical-align:middle}.badge.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.badge.provisional{background:#efe3d5;border-color:#bb9878;color:#7c5135}.badge.open{background:transparent;color:#726956;border-color:#c1b79e}.counts{display:flex;gap:36px;border-top:1px solid var(--line);padding-top:20px;margin:28px 0 20px}.counts strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:43px;line-height:1.3}.counts span{font-size:11px;color:var(--muted)}.progress-note .snapshot{font-size:10px;line-height:1.9}.milestones{list-style:none;padding:0;margin:0}.milestones li{display:flex;gap:20px;padding:0 0 24px}.milestones li+li{border-top:1px solid var(--line);padding-top:24px}.step{font-family:var(--serif);font-size:20px;color:#9a927b;min-width:25px}.milestones h3{font-size:20px;margin:7px 0}.milestones p{font-size:13px;color:var(--muted);margin:0}.question-row{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding-top:22px;margin-top:35px;font-size:12px}.question-row>span{color:var(--red);white-space:nowrap}.question-row p{margin:0}.plain-button{padding:0;border:0;background:none;color:var(--ink);font-size:13px;border-bottom:1px solid #b1baa7}.question-row button{margin-left:auto;white-space:nowrap}.characters-section{border-top:1px solid var(--line)}.character-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{background:transparent;color:var(--muted);padding:9px 13px;font-size:12px;border:1px solid transparent}.filter.active{background:var(--ink);color:var(--paper)}.filter:hover{border-color:var(--ink)}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #98a58f;min-width:230px}.search>span{font-size:25px}.search input{border:0;background:transparent;min-width:0;width:100%;padding:8px 0;color:var(--ink);font-size:12px}.results{font-size:11px;color:var(--muted);margin:17px 0}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.character-card{text-align:left;background:#eeeade;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);padding:26px;min-height:250px;position:relative;transition:background .2s}.character-card:hover{background:#e1e4d2}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.card-index{font-size:11px;letter-spacing:.1em;color:#8d927c}.card-group{font-size:10px;color:var(--muted)}.character-card h3{font-size:25px;margin-bottom:10px}.character-card .alias{font-size:12px;display:block;color:#7f654f;margin-top:3px}.character-card p{font-size:12px;color:#617263;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.9;margin-bottom:28px}.card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#73816e}.card-arrow{font-size:20px}.character-card.featured{background:#dce2d0}.empty{padding:55px;text-align:center;color:var(--muted)}.relations{border-bottom:1px solid var(--line);margin-top:28px;padding:15px 0}.relations summary{cursor:pointer;font-family:var(--serif);font-size:20px;list-style:none;display:flex;justify-content:space-between}.relations summary::-webkit-details-marker{display:none}.relations .prose{font-size:14px;margin-top:20px}.relation-note{font-size:12px;color:var(--muted)}.manuscript{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#e2e4d5;max-width:none;padding-left:max(6%,calc((100vw - 1160px)/2));padding-right:max(6%,calc((100vw - 1160px)/2))}.manuscript-title h2{font-size:43px;line-height:1.7;margin-bottom:25px}.manuscript-excerpt{padding-top:12px;font-family:var(--serif);font-size:17px;line-height:2.1}.manuscript-excerpt .button{margin:15px 0}.fine-print{font-family:var(--sans);font-size:11px!important;line-height:1.9!important;color:var(--muted);margin-top:18px}.art-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.art-layout>a{background:#ddd6c5;display:block;max-height:680px;overflow:hidden}.art-layout img{max-height:680px;margin:auto;width:100%;object-fit:contain}.art-description h3{font-size:43px;line-height:1.6;margin:25px 0}.art-description>p{font-size:14px;color:var(--muted);max-width:390px}.art-switch{display:flex;margin:30px 0 12px}.art-switch button{font-size:12px;border:1px solid #899983;background:none;padding:12px 18px;color:var(--ink)}.art-switch button.active{background:var(--ink);color:var(--paper)}#art-caption{font-size:11px}.art-description .plain-button{margin:15px 0}.closing{background:var(--dark);color:var(--paper);padding:80px 20px;text-align:center}.closing p{font-family:var(--serif);color:#aaba9e;font-size:14px;letter-spacing:.1em}.closing h2{font-size:31px;margin-bottom:28px}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 6%;font-size:10px;color:var(--muted)}dialog{border:1px solid #a3ae99;background:var(--paper);color:var(--ink);width:min(850px,94vw);max-height:90dvh;padding:0;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#10241ed9;backdrop-filter:blur(5px)}body.reading{overflow:hidden}.reader-bar{position:sticky;top:0;background:var(--paper);z-index:2;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 24px;font-size:11px;letter-spacing:.12em}.reader-bar button{background:transparent;color:var(--ink);padding:7px 12px}.reader-bar button span{font-size:23px;margin-left:10px}.reader-content{padding:35px 55px 60px}.reader-content>h2{font-size:36px;margin-bottom:25px}.reader-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:28px}.reader-filters button{padding:5px 11px;font-size:12px;border:1px solid var(--line);background:transparent;color:var(--ink)}.reader-filters button.active{background:var(--ink);color:var(--paper)}.prose{font-size:15px;line-height:2;overflow-wrap:anywhere}.prose h2{font-size:24px;letter-spacing:.02em;border-top:1px solid var(--line);padding-top:25px;margin:35px 0 15px}.prose h3{font-size:19px;margin:25px 0 12px}.prose p{margin:0 0 18px}.prose a{color:#8c5142;text-decoration:underline;text-underline-offset:3px}.prose blockquote{margin:20px 0;padding:10px 20px;background:#e6e8db;border-left:2px solid #a48f6b;font-family:var(--serif)}.prose blockquote p{margin:5px 0}.prose ul,.prose ol{padding-left:22px}.prose .table-wrap{overflow:auto}.prose table{border-collapse:collapse;width:100%;font-size:12px}.prose th,.prose td{border:1px solid var(--line);padding:9px;min-width:100px;vertical-align:top}.prose th{background:#e2e6d7}.prose img{max-height:500px;margin:20px auto}.load-error{position:fixed;bottom:10px;left:5%;right:5%;padding:20px;background:#fff2de;color:#703d2e;z-index:30;box-shadow:0 2px 20px #0002}.load-error button{margin-left:20px;padding:5px 15px}.reader-section[data-kind="provisional"]>h2{color:#8b5c3e}.reader-section[data-kind="open"]>h2{color:#817052}
@media(min-width:1500px){.hero{min-height:760px}.hero-art{min-height:760px}.hero-text{padding-left:max(12%,calc((100vw - 1200px)/2))}}
@media(max-width:1000px){.edition{display:none}.hero-text{padding:50px 7%}.hero h1{font-size:100px}.hero-line{font-size:26px}.hero{min-height:620px}.hero-art{min-height:620px}.hero-actions{gap:16px;flex-wrap:wrap}.progress-layout,.art-layout{gap:40px}.character-toolbar{align-items:stretch;flex-direction:column}.search{max-width:350px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-row{flex-wrap:wrap}.question-row button{margin-left:0}}
@media(max-width:640px){.topbar{height:auto;min-height:100px;padding:15px 6%;flex-wrap:wrap;gap:12px}.brand{font-size:21px}.brand-note{display:inline;font-size:10px;margin-left:10px}.seal{font-size:12px}.topbar nav{width:100%;margin:0;justify-content:space-between;gap:12px;font-size:11px}.hero{grid-template-columns:1fr}.hero-text{padding:42px 7% 35px}.hero h1{font-size:105px}.hero .eyebrow{font-size:9px}.hero-line{font-size:27px}.hero-copy{font-size:13px}.hero-art{min-height:470px;max-height:470px}.hero-art img{object-position:50% 27%}.hero-foot{margin-top:25px}.chapter-strip{padding:17px 6%;gap:16px;font-size:12px}.chapter-strip i{width:18px}.strip-note{display:none}.section{padding:60px 6%}.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:30px}.side-note{font-size:12px}.progress-layout,.art-layout,.manuscript{grid-template-columns:1fr;gap:30px}.progress-note h3{font-size:23px}.counts{gap:45px}.question-row{gap:12px}.question-row p{font-size:11px}.character-grid{grid-template-columns:1fr}.character-card{min-height:210px;padding:23px}.card-top{margin-bottom:14px}.character-card h3{font-size:26px}.filter{padding:8px 9px;font-size:11px}.reader-content{padding:25px 22px 45px}.reader-content>h2{font-size:28px}.prose{font-size:14px}.reader-bar{padding:8px 15px}.manuscript-title h2,.art-description h3{font-size:34px}.art-layout>a,.art-layout img{max-height:610px}.closing{padding:60px 6%}.closing h2{font-size:25px}.closing p{font-size:12px}footer{flex-wrap:wrap;font-size:9px}footer span:nth-child(2){order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-art img{object-position:50% 0%}@media(max-width:640px){.hero-art img{object-position:50% 0%}}

.meng-po-study{margin-top:64px;padding-top:64px;border-top:1px solid var(--line)}
.meng-po-study img{height:auto}
.reader-portrait{margin:0 0 32px;text-align:center}
.reader-portrait img{width:100%;height:auto;max-height:580px;object-fit:contain;margin:auto}
.reader-portrait figcaption{font-size:11px;color:var(--muted);margin-top:10px}
