@charset "UTF-8";
:root{color-scheme:light;--paper:#f7f4ec;--surface:#fffcf5;--ink:#263a39;--muted:#677573;--line:#d9ddd4;--accent:#956a34;--reader-size:21px;--body-font:"Noto Serif CJK SC","Source Han Serif SC","Songti SC","SimSun",serif;--ui:system-ui,"Microsoft YaHei",sans-serif}
@media(prefers-color-scheme:dark){:root:not([data-theme="paper"]):not([data-theme="warm"]){color-scheme:dark;--paper:#192625;--surface:#20302f;--ink:#e2e8dd;--muted:#aab8b0;--line:#394b46;--accent:#d3b279}}
:root[data-theme="night"]{color-scheme:dark;--paper:#192625;--surface:#20302f;--ink:#e2e8dd;--muted:#aab8b0;--line:#394b46;--accent:#d3b279}
:root[data-theme="paper"]{color-scheme:light;--paper:#fafaf7;--surface:#fff;--ink:#253a39;--muted:#62706b;--line:#dce0da;--accent:#946735}
:root[data-theme="warm"]{color-scheme:light;--paper:#f4ecdb;--surface:#fbf5e9;--ink:#3d3931;--muted:#756b5c;--line:#daceb8;--accent:#8e6236}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}[hidden]{display:none!important}::selection{background:#d7b66d66}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;z-index:50;top:-100px;left:18px;background:var(--surface);padding:15px}.skip:focus{top:10px}
.topbar{height:92px;max-width:1280px;margin:auto;padding:0 60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-family:var(--ui);gap:30px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.16em;font-size:12px;font-weight:600;white-space:nowrap}.brand svg{width:22px;height:30px;color:var(--accent)}.topbar nav{display:flex;align-items:center;gap:30px;font-size:13px}.hero{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;gap:90px;padding:90px 30px 100px;align-items:center}.eyebrow{font:11px/1.6 var(--ui);letter-spacing:.2em;color:var(--accent);margin:0 0 25px}.hero h1{font-weight:500;letter-spacing:.12em;font-size:72px;line-height:1.1;margin:0 0 36px}.hero h1 span{display:block;font-size:25px;letter-spacing:.2em;margin-top:20px}.hero-intro{font-size:26px;line-height:1.8;margin:0 0 18px}.hero-description{font-size:15px;line-height:2;color:var(--muted);margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{font:14px/1.4 var(--ui);display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:13px 23px;border:1px solid var(--line);border-radius:3px}.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.primary:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.secondary{background:transparent}.resume-link{font:13px/1.8 var(--ui);text-decoration:underline;text-underline-offset:4px;flex-basis:100%;margin-top:8px}.book-meta{font:11px/1.8 var(--ui);color:var(--muted);letter-spacing:.08em;margin-top:22px}.book-meta span{padding:0 10px;color:var(--line)}
.book-cover{container-type:inline-size;position:relative;width:100%;aspect-ratio:.72;max-width:385px;justify-self:center;background:linear-gradient(145deg,#38514e,#172f32 62%,#11282c);color:#f0dfbb;box-shadow:9px 15px 28px #142c2922,4px 0 #b9b6a9,7px 0 #e5dfcf;overflow:hidden;border-radius:2px 4px 4px 2px}.book-cover:before{content:"";position:absolute;inset:0;border:1px solid #adab8260;margin:17px;z-index:3;pointer-events:none}.cover-type{position:relative;z-index:2;padding:49px 40px;letter-spacing:.09em;line-height:.97;font-family:Georgia,serif;font-size:9.5cqw}.cover-type small{font:14px/1.6 var(--body-font);display:block;letter-spacing:.3em;margin-top:22px}.cover-tower{position:absolute;bottom:74px;left:50%;transform:translateX(-50%);width:78px;height:130px;color:#e4d4ac;z-index:2}.cover-tower svg{width:100%;height:100%;--paper:#334c4b}.cover-sea{position:absolute;bottom:0;height:155px;width:100%;background:repeating-linear-gradient(-7deg,transparent 0,transparent 14px,#a6b3a519 15px,#a6b3a519 16px);border-top:1px solid #a4b3a52b;transform:skewY(-5deg);transform-origin:left}.light-beam{position:absolute;left:0;right:0;bottom:176px;height:100px;background:#e7c884;opacity:.19;clip-path:polygon(0 0,52% 70%,100% 25%,100% 100%,52% 76%,0 100%)}.cover-stars{position:absolute;inset:0;background:radial-gradient(circle at 84% 22%,#ecd5a7 1px,transparent 2px),radial-gradient(circle at 18% 53%,#ecd5a7 1px,transparent 2px),radial-gradient(circle at 73% 45%,#ecd5a7 1px,transparent 2px);opacity:.5}.cover-bottom{position:absolute;bottom:35px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.12em;z-index:3}
.opening{max-width:1000px;margin:auto;padding:56px 100px 65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.opening blockquote{font-size:27px;line-height:1.8;margin:15px 0 24px}.opening>p{font-size:16px;line-height:2;max-width:580px;margin:0 auto 24px;color:var(--muted)}.text-link{font:13px var(--ui);border-bottom:1px solid var(--accent);padding-bottom:5px}.contents-section{max-width:1160px;padding:80px 30px 60px;margin:auto;scroll-margin-top:25px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:35px}.section-heading h2{font-weight:500;font-size:29px;margin:0}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{font:12px/1.8 var(--ui);color:var(--muted)}.contents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.arc h3{font-weight:500;font-size:19px;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.arc h3>span{font:11px var(--ui);color:var(--accent);margin-right:14px}.arc ol{margin:0;padding:0;list-style:none}.arc li a{display:flex;align-items:baseline;gap:12px;padding:12px 0;font-size:14px;line-height:1.6}.chapter-index{font:10px var(--ui);color:var(--muted);min-width:16px}.chapter-length{font:10px var(--ui);margin-left:auto;color:var(--muted);white-space:nowrap}.edition-note{max-width:1100px;margin:0 auto 75px;padding:20px 25px;border-top:1px solid var(--line);font:12px/1.9 var(--ui);color:var(--muted);display:flex;align-items:center;gap:14px}.edition-note p{margin:0}.edition-note a{text-decoration:underline;text-underline-offset:4px;margin-left:8px}.edition-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.footer{max-width:1160px;padding:25px 30px 35px;margin:auto;border-top:1px solid var(--line);display:flex;gap:25px;justify-content:space-between;font:11px/1.8 var(--ui);color:var(--muted)}
.reading .topbar{position:sticky;top:0;z-index:10;background:var(--paper);height:72px;max-width:none;padding:0 45px}.reading-progress{height:2px;position:fixed;top:71px;left:0;right:0;z-index:11;background:transparent}.reading-progress i{height:100%;width:0;display:block;background:var(--accent)}.settings{position:relative}.settings summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center;padding:8px;font-family:Georgia,serif;font-size:20px}.settings summary::-webkit-details-marker{display:none}.settings summary>span{font:12px var(--ui)}.settings-panel{position:absolute;right:0;top:44px;min-width:220px;padding:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 26px #142c2910;border-radius:5px;font-family:var(--ui);font-size:13px}.settings-panel label{display:block;margin:0 0 8px;color:var(--muted)}.settings-panel select{display:block;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:9px;width:100%;margin-bottom:18px}.settings-panel select:last-child{margin-bottom:0}.reader-layout{max-width:1220px;margin:auto;display:grid;grid-template-columns:230px minmax(0,740px);gap:70px;padding:0 35px 60px}.reader-sidebar{padding-top:50px}.reader-toc{position:sticky;top:105px;max-height:calc(100vh - 140px);overflow:auto;scrollbar-width:thin;padding-right:15px}.reader-toc summary{font:12px var(--ui);cursor:pointer;display:flex;justify-content:space-between;color:var(--muted);padding-bottom:25px}.reader-toc summary span{font-size:10px}.reader-toc .arc{margin-bottom:26px}.reader-toc .arc h3{font-size:14px;margin-bottom:8px;padding-bottom:10px}.reader-toc .arc li a{font-size:12px;padding:8px 0;gap:8px}.reader-toc .chapter-length{display:none}.reader-toc a[aria-current="page"]{color:var(--accent);font-weight:700}.reader-toc a[aria-current="page"]:after{content:"·";margin-left:auto}.chapter-heading{padding:65px 0 43px;border-bottom:1px solid var(--line);margin-bottom:46px}.chapter-heading h1{font-size:38px;font-weight:500;line-height:1.4;margin:0 0 20px;letter-spacing:.04em}.chapter-heading .eyebrow{margin-bottom:18px}.chapter-heading>p:last-child{font:12px var(--ui);color:var(--muted)}.chapter-heading>p:last-child span{padding:0 12px}.prose{font-size:var(--reader-size);line-height:2.05;letter-spacing:.035em;overflow-wrap:break-word}.prose p{margin:0 0 1.15em;scroll-margin-top:100px}.chapter-navigation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;padding:30px 0;margin-top:60px}.chapter-navigation a{max-width:48%;display:flex;flex-direction:column;gap:10px}.chapter-navigation small{font:11px var(--ui);color:var(--muted)}.chapter-navigation span{font-size:17px;line-height:1.6}.chapter-navigation .next{text-align:right;margin-left:auto}.reader-note{display:flex;gap:18px;flex-wrap:wrap;margin:25px 0;font:11px/1.8 var(--ui);color:var(--muted)}.reader-note button{font:inherit;border:0;padding:0;background:none;text-decoration:underline;text-underline-offset:4px}.reader-note a{margin-left:auto}.about-page{max-width:820px;margin:auto;padding:80px 35px 100px}.about-page h1{font-weight:500;font-size:43px;line-height:1.6;margin:0 0 30px}.about-lede{font-size:21px;line-height:1.9;color:var(--muted)}.about-page section{padding:30px 0;border-bottom:1px solid var(--line);margin-bottom:30px}.about-page h2{font-size:24px;font-weight:500}.about-page p{font-size:17px;line-height:2}.about-page .fine-print{font-size:13px;color:var(--muted)}
@media(max-width:1000px){.hero{gap:45px;padding:65px 45px}.hero h1{font-size:58px}.book-cover{max-width:320px}.cover-type{padding:40px 30px}.contents-grid{gap:25px}.reader-layout{grid-template-columns:180px minmax(0,1fr);gap:35px}.reading .topbar{padding:0 30px}.reader-toc .arc li a{font-size:11px}.chapter-heading h1{font-size:33px}}
@media(max-width:720px){.topbar{height:72px;padding:0 22px;gap:12px}.topbar nav{gap:18px;font-size:12px}.brand{letter-spacing:.08em;font-size:10px;gap:8px}.brand svg{width:18px;height:25px}.hero{grid-template-columns:1fr;padding:48px 25px 55px;gap:45px}.hero h1{font-size:57px;margin-bottom:27px}.hero h1 span{font-size:22px}.hero-intro{font-size:23px}.hero-description{font-size:14px}.book-cover{width:65%;max-width:290px;justify-self:center}.cover-type{padding:34px 27px}.cover-type small{font-size:12px}.cover-tower{width:55px;height:95px;bottom:55px}.light-beam{bottom:126px;height:85px}.cover-sea{height:115px}.cover-bottom{font-size:9px;bottom:29px}.opening{padding:40px 26px;margin:0 25px}.opening blockquote{font-size:23px}.opening>p{font-size:15px}.contents-section{padding:55px 25px 30px}.section-heading{display:block}.section-heading h2{font-size:26px}.section-heading>p{margin-top:18px}.contents-grid{grid-template-columns:1fr;gap:28px}.arc li a{font-size:16px;padding:13px 0}.arc h3{font-size:20px}.edition-note{margin:0 25px 40px;padding:20px 0}.footer{padding:25px;flex-wrap:wrap;gap:12px 22px}.footer>span:last-child{flex-basis:100%}.reading .topbar{height:66px;padding:0 18px}.reading .topbar nav{gap:13px}.reading .topbar nav>a:nth-child(2){display:none}.settings summary>span{display:none}.settings-panel{right:-5px}.reading-progress{top:65px}.reader-layout{display:block;padding:0 23px 35px}.reader-sidebar{padding-top:22px}.reader-toc{position:static;max-height:none;padding-right:0;border-bottom:1px solid var(--line)}.reader-toc summary{padding-bottom:18px;font-size:12px}.reader-toc nav{max-height:50vh;overflow:auto;padding-bottom:10px}.reader-toc .arc li a{font-size:14px;padding:10px 0}.chapter-heading{padding:33px 0 24px;margin-bottom:30px}.chapter-heading h1{font-size:29px}.chapter-heading .eyebrow{font-size:10px}.prose{font-size:calc(var(--reader-size) - 1px);line-height:2}.prose p{margin-bottom:1.05em;scroll-margin-top:90px}.chapter-navigation{margin-top:40px;gap:20px}.chapter-navigation span{font-size:16px}.reader-note{font-size:10px;gap:14px}.about-page{padding:48px 24px 65px}.about-page h1{font-size:31px}.about-page p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.topbar,.reader-sidebar,.reader-note,.reading-progress,.settings,.chapter-navigation,.footer{display:none}.reader-layout{display:block;max-width:none;padding:0}.chapter-heading{padding:0 0 20px}.prose{font-size:11pt;line-height:1.8}body{background:white;color:black}p{orphans:3;widows:3}}

/* Three complete reading modes. Without JavaScript the parallel edition is visible. */
.ui-en{display:none}html[data-language="en"] .ui-en{display:inline}html[data-language="en"] .ui-zh{display:none!important}
html[data-language="zh"] .lang-en,html[data-language="en"] .lang-zh{display:none!important}
.language-bar{position:sticky;top:0;z-index:9;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:24px;padding:8px 16px;font:12px/1.4 var(--ui)}
.language-bar nav{display:flex;gap:4px}.language-bar nav a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:9px 17px;border-radius:4px;border:1px solid transparent}
.language-bar a[aria-current="true"]{color:var(--paper);background:var(--ink)}
.reading .language-bar{top:72px}.reading .reading-progress{top:132px}
html{scroll-padding-top:160px;overflow-anchor:none}.passage{scroll-margin-top:0}
.passage [lang="en"]{font-family:Georgia,"Times New Roman",serif;letter-spacing:0;line-height:1.75;hyphens:auto}
html[data-language="bi"] .passage{padding:0 0 1.2em;margin:0 0 1.2em;border-bottom:1px solid var(--line)}
html[data-language="bi"] .passage p{margin:0 0 .55em}html[data-language="bi"] .passage p:last-child{margin-bottom:0}
.chapter-heading .lang-en{display:block;font-family:Georgia,serif;letter-spacing:0}
html[data-language="bi"] .chapter-heading .lang-en{font-size:.68em;margin-top:12px;color:var(--muted)}
html[data-language="bi"] .arc .lang-en{display:block;font-size:.85em;line-height:1.6;color:var(--muted)}
.parallel-hint{display:none;font:12px/1.6 var(--ui)!important;color:var(--muted)}html[data-language="bi"] .parallel-hint{display:block}
.arc h3>.lang-zh,.arc h3>.lang-en{font:inherit;margin:0;color:inherit}
.hero h1>.ui-zh,.hero h1>.ui-en{font:inherit;letter-spacing:inherit;margin:0}
.chapter-heading h1,.about-page h1{overflow-wrap:break-word}
html[data-language="en"] .hero h1{font-size:52px;letter-spacing:-.03em;line-height:1.12}
html[data-language="en"] .hero h1>span:not(.ui-en):not(.ui-zh){font-size:23px;letter-spacing:0;line-height:1.4}
.reader-column{min-width:0}.reader-note button,.reader-note>a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:720px){.language-bar{gap:0;justify-content:center;padding:5px 10px}.language-bar>span{display:none}.language-bar nav{width:100%;max-width:380px}.language-bar nav a{flex:1;padding:8px 7px}.reading .language-bar{top:66px}.reading .reading-progress{top:120px}.passage{scroll-margin-top:0}html{scroll-padding-top:146px}.reader-layout{padding-bottom:calc(35px + env(safe-area-inset-bottom))!important}.reading .brand{font-size:9px;letter-spacing:.04em}.reading .topbar nav{gap:9px!important}.reading .topbar nav>a:nth-child(2){display:none}html[data-language="en"] .hero h1{font-size:43px}.hero h1>.ui-en{font:inherit}.chapter-heading .lang-en{line-height:1.3}.settings-panel{max-width:calc(100vw - 36px)}.reader-toc summary{min-height:44px}}
@media(min-width:721px){.reader-toc{top:165px!important;max-height:calc(100vh - 190px)!important}}
@media print{.language-bar{display:none!important}}

.book-meta .ui-zh,.book-meta .ui-en,.chapter-heading>p:last-child .ui-zh,.chapter-heading>p:last-child .ui-en{padding:0;color:inherit}
