:root{--night:#071b1e;--night-ink:#e6eee6;--green:#b3c4b6;--paper:#f2f1e9;--ink:#263d35;--serif:'Songti SC','STSong','Noto Serif SC','SimSun',serif;--sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem;scrollbar-gutter:stable;background:var(--night)}
body{margin:0;background:var(--night);color:var(--night-ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
button{border:0;background:none}
img{display:block;max-width:100%}
::selection{background:#bbcfb8;color:#102b24}
[hidden]{display:none!important}
.skip{position:fixed;z-index:100;top:-6rem;left:1rem;padding:1rem;background:var(--paper);color:var(--ink);font-family:var(--sans)}
.skip:focus{top:1rem}
.masthead{--header-ink:#e6eee6;position:fixed;z-index:40;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 4vw;color:var(--header-ink);transition:color .5s,background .5s,backdrop-filter .5s;font-family:var(--sans)}
.masthead.scrolled{background:#071b1ee6;backdrop-filter:blur(20px)}
.masthead.light{--header-ink:#263d35;background:#f2f1e9e8;backdrop-filter:blur(20px)}
.wordmark{display:inline-flex;align-items:baseline;gap:1.15rem;min-height:2.75rem;padding-top:.6rem}
.wordmark>span:first-child{font-family:var(--serif);font-size:1.25rem;letter-spacing:.3em}
.wordmark>span:last-child{font-family:var(--sans);font-size:.75rem;letter-spacing:.3em;opacity:.65}
.header-actions{display:flex;gap:2.3rem;align-items:center;font-size:.875rem;letter-spacing:.12em}
.header-actions button,.header-actions a{min-height:2.75rem;padding:.5rem 0;display:inline-flex;align-items:center;gap:.7rem}
.focus-glyph{width:13px;height:13px;border:1px solid currentColor;border-radius:50%;position:relative}
.focus-glyph:before{content:'';position:absolute;left:3px;top:3px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:0;transition:opacity .25s}
[aria-pressed=true] .focus-glyph:before{opacity:1}
.menu-glyph{position:relative;width:20px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(1px)}
.hero{position:relative;isolation:isolate;min-height:900px;min-height:max(800px,100svh);overflow:hidden}
.hero-picture,.hero-shade{position:absolute;inset:0;z-index:-1}
.hero-picture{overflow:hidden;background:#071b1e}
.hero-picture>img,.hero-picture canvas{position:absolute;width:100%;height:100%;object-fit:cover;object-position:65% 50%;inset:0}
.hero-picture>img{transform:scale(1.04);will-change:transform}
.hero-picture canvas{opacity:0;transition:opacity 1.2s;pointer-events:none}
.hero-picture canvas.ready{opacity:1}
.hero-shade{z-index:0;pointer-events:none;background:linear-gradient(90deg,#061b20a8,transparent 65%),linear-gradient(0deg,#071b1e 0%,#071b1e0a 45%)}
.hero-inner{position:relative;z-index:1;padding:10rem 8vw 5.5rem;display:flex;flex-direction:column;min-height:900px;min-height:max(800px,100svh);pointer-events:none}
.hero-inner a{pointer-events:auto}
.hero-kicker{font:400 .75rem/1.8 var(--sans);letter-spacing:.35em;opacity:.75;margin:0 0 2.5rem}
.hero h1{display:flex;align-items:center;gap:1.2rem;margin:0 0 2rem -.06em;font-weight:400;font-size:clamp(9.5rem,16vw,17rem);line-height:1.1;letter-spacing:.025em;color:#ebf2e9}
.title-char{display:inline-block;will-change:transform;transition:filter .2s}
.title-char:nth-child(2){transform:translateY(32px)}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-top:auto;padding-top:5rem}
.hero-opening{font-size:clamp(1.0625rem,1.35vw,1.35rem);line-height:2.1;letter-spacing:.055em;margin:0;max-width:31em;color:#dce7df}
.enter{display:inline-flex;align-items:center;gap:1.1rem;margin-top:2.5rem;font:400 .8125rem/1.6 var(--sans);letter-spacing:.2em}
.enter-circle{display:grid;place-items:center;width:3.5rem;height:3.5rem;border:1px solid #dce7df66;border-radius:50%;transition:background .3s,transform .3s}
.enter svg{width:1.2rem;height:1.2rem;transition:transform .3s}
.enter:hover .enter-circle{background:#dce7df18;transform:scale(1.06)}
.enter:hover svg{transform:translateY(3px)}
.water-hint{font:400 .75rem/1.8 var(--sans);letter-spacing:.13em;color:#c7d6cf;opacity:.7;text-align:right;padding-bottom:.8rem}
.hero-edge{position:absolute;right:4vw;top:50%;writing-mode:vertical-rl;font:400 .75rem/1.8 var(--sans);letter-spacing:.2em;opacity:.5}
.movement{position:relative;padding:5rem 7vw 7rem;--surface:#071b1e;--text:#dbe5dd;--muted:#a6b7ad;background:var(--surface);color:var(--text)}
.movement-intro{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid #9bafa544;padding-top:1.8rem;margin-bottom:5rem;font:400 .75rem/1.8 var(--sans);letter-spacing:.23em;color:var(--muted)}
.movement-layout{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);column-gap:8vw;align-items:start}
.reading-flow{min-width:0}
.chapter{position:relative;margin-bottom:9.5rem;scroll-margin-top:8rem}
.chapter:last-child{margin-bottom:0}
.chapter-heading{display:flex;align-items:center;gap:1.3rem;margin-bottom:3rem}
.chapter-num{font:400 2.75rem/1.2 Georgia,'Times New Roman',serif;color:var(--muted);opacity:.67;font-style:italic}
.chapter-line{width:2rem;height:1px;background:currentColor;opacity:.3}
.chapter-heading h2{font-size:1rem;font-weight:400;letter-spacing:.32em;margin:0;color:var(--muted)}
.prose{font-size:clamp(1.0625rem,1.22vw,1.25rem);line-height:2.12;letter-spacing:.045em;overflow-wrap:anywhere}
.prose p{margin:0 0 1.05rem}
.prose strong{font-weight:500}
.prose p.pause-before{margin-top:2.8rem}
.prose .statement{font-size:clamp(1.65rem,2.5vw,2.5rem);line-height:1.8;letter-spacing:.035em;margin:3.75rem 0;color:var(--text);font-weight:400}
.prose .statement-small{font-size:1.25rem}
.prose .statement:last-child{margin-bottom:0}
.prose .diverge{font-size:1.5rem;margin:2rem 0;transition:transform .3s}
.prose .diverge:nth-of-type(even){padding-left:2.5rem}
.drift{display:inline-block;will-change:transform;margin-inline:.2em}
.four-words{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:3.2rem 0;padding:2rem 0;border-top:1px solid #9bafa52f;border-bottom:1px solid #9bafa52f}
.four-words p{font-size:1.9rem;letter-spacing:.05em;margin:0;color:var(--muted);line-height:1.8}
.scene-panel{position:sticky;top:9rem;padding-top:1rem;align-self:start}
.scene-frame{position:relative;margin:0;width:100%;height:65svh;min-height:390px;max-height:800px;overflow:hidden;isolation:isolate;background:#183332}
.scene-frame:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#071b1e44,transparent 65%)}
.scene-frame img{height:116%;width:100%;max-width:none;object-fit:cover;object-position:58% 50%;transform:translateY(-5%);will-change:transform;transition:filter .6s}
.scene-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;color:var(--muted);font:400 .75rem/1.8 var(--sans);letter-spacing:.2em}
.scene-caption>span:first-child{font-family:var(--serif);font-size:1rem;letter-spacing:.3em}
.scene-track{width:100%;height:1px;margin-top:1.5rem;background:#9bafa522}
.scene-track i{display:block;height:1px;width:100%;background:var(--muted);transform:scaleX(0);transform-origin:left}
.movement-dawn{--surface:#dbe1d6;--text:#273e35;--muted:#607165;padding-top:12rem;background:linear-gradient(180deg,#071b1e 0,#dbe1d6 10rem)}
.movement-dawn .scene-frame img{object-position:67% 50%}
.movement-day{--surface:#f2f1e9;--text:#293e34;--muted:#667769;background:linear-gradient(180deg,#dbe1d6 0,#f2f1e9 5rem)}
.movement-day .scene-frame{height:auto;min-height:0;aspect-ratio:1.15}.movement-day .scene-frame img{position:absolute;inset:0;object-position:100% 50%}
.afterword{position:relative;--text:#293e34;color:var(--text);background:#f2f1e9;padding:7rem 2rem 8rem;text-align:center}
.afterword-line{display:block;width:1px;height:6rem;background:linear-gradient(transparent,#96a28f);margin:0 auto 5rem}
.afterword .prose{max-width:45rem;margin:0 auto;font-size:1.125rem;line-height:2.2;letter-spacing:.08em}
.afterword .prose p{margin-bottom:1.1rem}
.afterword .prose .final-line{font-size:clamp(2.3rem,4.5vw,4.4rem);line-height:1.7;letter-spacing:.06em;margin:5rem auto 1rem;color:#203c2c}
.final-line strong{font-weight:400}.final-line span{display:block}
.colophon{padding:2.5rem 7vw 7rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#f2f1e9;color:#526653;border-top:1px solid #59705e22;font-family:var(--sans)}
.return-top{display:inline-flex;gap:1rem;align-items:center;min-height:2.75rem;font-size:.8125rem;letter-spacing:.1em}
.reading-dock{position:fixed;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:.25rem;background:#132b27e8;color:#e8eee3;border:1px solid #aabeb82a;border-radius:50px;box-shadow:0 8px 35px #02151124;backdrop-filter:blur(22px);padding:.25rem .5rem;font-family:var(--sans);overflow:hidden;transition:background .5s,color .5s}
.reading-dock.light{background:#eeeee5ed;color:#304a37;border-color:#455e372d;box-shadow:0 8px 35px #28302218}
.reading-dock>a{width:2.6rem;min-height:2.75rem;display:grid;place-items:center;font-size:1rem;opacity:.7;border-radius:50%}
.reading-dock>a:hover{background:#91ab9322;opacity:1}
.reading-dock button{min-height:2.75rem;display:flex;align-items:center;gap:.75rem;padding:0 1rem;font-size:.8125rem;letter-spacing:.1em}
.dock-slash{opacity:.3}.dock-chevron{font-size:.875rem;opacity:.7;margin-left:.3rem}
.dock-progress{position:absolute;left:0;bottom:0;right:0;height:2px;background:#a0b59917}
.dock-progress i{display:block;height:100%;background:#9eb791;transform:scaleX(0);transform-origin:left}
#chapter-dialog{padding:0;border:1px solid #aabeb826;background:#0c211f;color:#e5eadf;max-width:1160px;width:90vw;max-height:90svh;overflow:auto;overscroll-behavior:contain}
#chapter-dialog::backdrop{background:#061b1de0;backdrop-filter:blur(15px)}
.menu-shell{padding:3rem 4rem 2rem}
.menu-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}
.menu-header>div>span{font:400 .75rem/1.6 var(--sans);letter-spacing:.26em;color:#a7b6a7}
.menu-header h2{font-size:2.6rem;font-weight:400;letter-spacing:.2em;margin:1rem 0 0}
#close-menu{font-family:var(--sans);font-size:2rem;line-height:1;min-width:2.75rem;min-height:2.75rem;color:#bbc8b6}
.menu-layout{display:grid;grid-template-columns:1fr .85fr;gap:5rem}
.menu-layout ol,.no-js-contents ol{list-style:none;margin:0;padding:0}
.menu-layout li{border-bottom:1px solid #aabeb81c}
.menu-layout a{display:flex;align-items:center;gap:1.5rem;padding:.85rem .6rem .85rem 0;min-height:2.9rem;transition:padding .2s,color .2s;color:#b4c3b4}
.menu-layout a>span:first-child{font:400 .75rem/1.8 var(--sans);letter-spacing:.12em;opacity:.65}
.menu-layout b{font-weight:400;font-size:1.25rem;letter-spacing:.17em}
.menu-arrow{margin-left:auto;opacity:0;transition:opacity .2s}
.menu-layout a:hover,.menu-layout a:focus-visible,.menu-layout a[aria-current=location]{color:#f0f2e9;padding-left:.7rem}
.menu-layout a:hover .menu-arrow,.menu-layout a:focus-visible .menu-arrow,.menu-layout a[aria-current=location] .menu-arrow{opacity:.7}
.menu-preview{align-self:center;position:sticky;top:2rem}
#menu-preview-number{display:block;font:400 7rem/1 Georgia,serif;font-style:italic;color:#8fa38b;opacity:.4;margin-bottom:2rem}
#menu-preview-text{font-size:1.65rem;line-height:1.9;letter-spacing:.08em;margin:0 0 3rem}
.menu-preview-note{font:400 .75rem/1.6 var(--sans);letter-spacing:.16em;color:#8fa38b}
.menu-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #aabeb81c;font:400 .75rem/1.6 var(--sans);letter-spacing:.18em;color:#8fa38b}
.no-js-contents{padding:2rem 7vw;color:var(--night-ink)}
.no-js-contents ol{display:flex;flex-wrap:wrap;gap:1rem 2rem}
.no-js-contents li a{display:flex;align-items:center;gap:.5rem;min-height:2.75rem}
.no-js-contents .menu-arrow{display:none}.js .no-js-contents{display:none}
.emerging{animation:emerge .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes emerge{from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
body.focus .scene-panel,body.focus .hero-picture,body.focus .hero-shade,body.focus .hero-edge,body.focus .water-hint{display:none!important}
body.focus .hero,body.focus .movement,body.focus .afterword,body.focus .colophon{background:#f2f1e9;--text:#293e34;--muted:#667769;color:#293e34}
body.focus .hero-inner{min-height:0;padding-top:10rem;padding-bottom:4rem;max-width:52rem;margin:auto}
body.focus .hero{min-height:0}
body.focus .hero h1{font-size:5rem;color:#293e34;gap:1rem}
body.focus .title-char{transform:none!important;opacity:1!important}
body.focus .hero-kicker,body.focus .hero-opening{color:#293e34}
body.focus .hero-bottom{padding-top:1rem}
body.focus .enter-circle{border-color:#293e3466}
body.focus .movement{padding-top:4rem;padding-bottom:4rem}
body.focus .movement-layout{display:block;max-width:42rem}
body.focus .movement-intro{max-width:42rem;margin:0 auto 4rem}
body.focus .chapter{margin-bottom:6rem}
body.focus .emerging{animation:none}
body.focus .drift{transform:none!important}
@media(min-width:1700px){.hero-inner{padding-left:calc((100vw - 1400px)/2)}.hero h1{font-size:17rem}.movement{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}.movement-layout{column-gap:8rem}.prose{font-size:1.25rem}}
@media(max-width:1100px){.hero h1{font-size:14rem}.hero-inner{padding-left:6vw;padding-right:6vw}.movement{padding-left:6vw;padding-right:6vw}.movement-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:5vw}.scene-frame{height:55svh;min-height:330px}.prose{font-size:1.125rem}.prose .statement{font-size:1.85rem}.menu-shell{padding:2rem 2.5rem}.menu-layout{gap:3rem}}
@media(max-width:760px){
 .masthead{padding:.9rem 1.3rem;gap:1rem}.wordmark{gap:.7rem}.wordmark>span:first-child{font-size:1.05rem}.wordmark>span:last-child{font-size:.75rem}.header-actions{gap:1.3rem;font-size:.8125rem}.menu-glyph{width:17px;height:10px}
 .hero,.hero-inner{min-height:800px;min-height:max(760px,100svh)}.hero-inner{padding:8.7rem 1.65rem 4.5rem}.hero-picture>img,.hero-picture canvas{object-position:75% 50%}.hero-shade{background:linear-gradient(0deg,#071b1e 0%,#071b1e30 70%),linear-gradient(90deg,#061b2070,transparent)}
 .hero-kicker{font-size:.75rem;letter-spacing:.18em;margin-bottom:2rem}.hero h1{font-size:clamp(6.6rem,24vw,11rem);gap:.2rem;line-height:1.2;margin-left:-.05em}.title-char:nth-child(2){transform:translateY(22px)}
 .hero-bottom{display:block;padding-top:6rem}.hero-opening{font-size:1.0625rem;max-width:24em;line-height:2.15;letter-spacing:.02em}.hero-opening br{display:none}.enter{margin-top:1.7rem}.enter-circle{width:3rem;height:3rem}.water-hint{display:none!important}.hero-edge{right:1rem;top:45%;font-size:.75rem}
 .movement{padding:3.5rem 1.65rem 5rem}.movement-intro{margin-bottom:3rem;padding-top:1.3rem;font-size:.75rem;letter-spacing:.15em}.movement-layout{display:flex;flex-direction:column}.reading-flow{width:100%}.scene-panel{position:relative;top:auto;width:100%;order:-1;padding:0;margin-bottom:5rem}.scene-frame{height:auto;min-height:0;max-height:none;aspect-ratio:1.28}.scene-frame img{position:absolute;inset:0;width:100%;height:112%;object-position:60% 50%}.scene-caption{margin-top:1rem;font-size:.75rem}.scene-track{display:none}
 .chapter{margin-bottom:6rem;scroll-margin-top:6.5rem}.chapter-heading{margin-bottom:2.2rem;gap:1rem}.chapter-num{font-size:2.4rem}.chapter-heading h2{font-size:.9375rem}.chapter-line{width:1.5rem}.prose{font-size:1.0625rem;line-height:2.18;letter-spacing:.035em}.prose p{margin-bottom:1rem}.prose .statement{font-size:1.65rem;line-height:1.85;margin:3rem 0}.prose .statement-small{font-size:1.1rem}.prose .diverge{font-size:1.3rem}.prose .diverge:nth-of-type(even){padding-left:1rem}.four-words{gap:.5rem;margin:2.5rem 0;padding:1.7rem 0}.four-words p{font-size:1.45rem}
 .movement-dawn{padding-top:9rem;background:linear-gradient(180deg,#071b1e 0,#dbe1d6 7rem)}.movement-day{background:linear-gradient(180deg,#dbe1d6 0,#f2f1e9 3rem)}
 .afterword{padding:2rem 1.65rem 5rem}.afterword-line{height:4rem;margin-bottom:3rem}.afterword .prose{font-size:1.0625rem;letter-spacing:.03em}.afterword .prose .final-line{font-size:2rem;margin-top:4rem;line-height:1.9;letter-spacing:.035em}
 .colophon{padding:2rem 1.65rem 7rem;gap:1rem}.return-top{font-size:.8125rem}.reading-dock{bottom:1.1rem}
 #chapter-dialog{width:calc(100vw - 1.5rem);max-height:90svh}.menu-shell{padding:1.5rem}.menu-header{margin-bottom:1.5rem}.menu-header h2{font-size:2rem;margin-top:.7rem}.menu-layout{display:block}.menu-preview{display:none}.menu-layout a{padding:.75rem .1rem .75rem 0;min-height:2.75rem}.menu-layout b{font-size:1.1rem}.menu-footer{font-size:.75rem;letter-spacing:.08em;margin-top:2rem}
 body.focus .hero-inner{padding-left:1.65rem;padding-right:1.65rem}body.focus .hero h1{font-size:5rem}body.focus .movement{padding-top:3rem}.prose .drift{transform:none!important}
}
@media(max-width:360px){.hero-inner,.movement,.afterword{padding-left:1.3rem;padding-right:1.3rem}.hero h1{font-size:6.7rem}.hero-opening{font-size:1rem}.prose{font-size:1rem}.prose .statement{font-size:1.5rem}.header-actions{gap:1rem}.wordmark>span:last-child{display:none}.four-words p{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-picture canvas{display:none!important}.hero-picture>img,.title-char,.scene-frame img,.drift{transform:none!important}.water-hint{display:none!important}}
@media print{html,body{background:white;color:black}.masthead,.hero-picture,.hero-shade,.hero-edge,.enter,.water-hint,.reading-dock,.scene-panel,.movement-intro,.chapter-heading,.colophon,.no-js-contents,.afterword-line{display:none!important}.hero,.hero-inner{min-height:0;padding:0;background:white}.hero h1{font-size:32pt;color:black;gap:1rem;margin:0 0 1rem}.title-char{transform:none!important}.hero-kicker{display:none}.hero-bottom{padding:0}.hero-opening{font-size:12pt;color:black;margin-bottom:20pt}.movement,.afterword{background:white;color:black;--text:black;padding:0}.movement-layout{display:block}.chapter{margin-bottom:20pt}.prose,.afterword .prose{font-size:12pt;line-height:1.8;letter-spacing:0}.prose p{margin-bottom:6pt}.prose .statement,.afterword .prose .final-line{font-size:14pt;margin:12pt 0}.afterword{text-align:left}.afterword .prose{max-width:none}.final-line span{display:inline}.emerging{animation:none}.four-words{margin:12pt 0;padding:0;border:0}.four-words p{font-size:12pt}}
