@charset "UTF-8";
:root{--ink:#171312;--paper:#eee4d4;--muted:#c7b6a2;--red:#b65d48;--line:rgba(238,228,212,.22);color-scheme:dark;font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--paper);outline-offset:7px}button{border:0;background:none}::selection{background:#9a443e;color:#fff}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;padding:14px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:20px}
.site-header{position:fixed;z-index:30;top:0;left:0;right:0;padding:30px 4.5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(#17131280,transparent)}.wordmark{font:500 17px/1 Georgia,serif;letter-spacing:.22em;display:flex;gap:16px;align-items:center}.wordmark-line{width:32px;height:1px;background:#b65d48}.header-description{font-size:10px;letter-spacing:.24em;color:var(--muted)}.header-actions{display:flex;gap:30px}.text-button{padding:8px 0;font-size:11px;letter-spacing:.1em;white-space:nowrap}.text-button span{margin-left:8px;color:var(--muted)}.text-button:hover{color:white}.text-button:after{content:"";height:1px;background:var(--red);display:block;transform:scaleX(0);transform-origin:left;transition:transform .3s;margin-top:5px}.text-button:hover:after{transform:scaleX(1)}
.stage{position:fixed;inset:0;overflow:hidden;background:#171312;z-index:0}.scene{position:absolute;inset:0;display:none;opacity:0;overflow:hidden;perspective:1100px;perspective-origin:50% 50%}.scene.active{display:block;opacity:1;animation:scene-enter .35s ease}.scene-bg{position:absolute;inset:-8%;background-size:cover;background-position:center;transform:scale(1.08)}.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#171312be 0%,#1713124d 33%,transparent 65%),linear-gradient(0deg,#171312ad,transparent 25%,transparent 75%,#17131220);pointer-events:none}.world{position:absolute;left:50%;top:50%;transform-style:preserve-3d;will-change:transform;width:var(--art-width);height:var(--art-height);margin-left:calc(var(--art-width) / -2);margin-top:calc(var(--art-height) / -2)}.plane{position:absolute;inset:0;backface-visibility:hidden;transform-origin:center}.base-art{width:100%;height:100%;object-fit:fill;display:block}.scene.has-layers .original-plane{opacity:var(--original-opacity,1)}.layer-plane{opacity:var(--layer-opacity,0)}.grain{display:none}
.chapter{position:relative}.journey{height:340svh;position:relative}.chapter-intro{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:120px 8vw 135px;pointer-events:none;opacity:var(--title-opacity,1);transform:translateY(var(--title-offset,0px));z-index:3}.eyebrow{display:block;font-size:9px;letter-spacing:.26em;color:var(--muted);line-height:1.8}.chapter-intro h1,.chapter-intro h2{font-family:Georgia,"Songti SC","STSong",serif;font-weight:400;white-space:pre-line;margin:25px 0 24px;line-height:1.48;font-size:clamp(32px,4.3vw,66px);letter-spacing:.04em;text-shadow:0 2px 26px #17131266}.chapter-intro h1{font-size:clamp(76px,10.5vw,170px);font-style:italic;line-height:1.05;letter-spacing:-.065em;margin-left:-7px}.chapter-subtitle{font-family:"Songti SC","STSong",serif;font-size:clamp(16px,1.7vw,25px);letter-spacing:.18em;margin:0;color:#e5d4bf}.intro-line{height:1px;width:46px;background:var(--red);margin-top:37px}.chapter-intro .small-description{font-size:11px;line-height:2;letter-spacing:.14em;color:var(--muted);margin-top:22px;max-width:230px}.scene-caption{position:absolute;left:20%;right:20%;bottom:13vh;text-align:center;font:400 clamp(15px,1.5vw,21px)/2 "Songti SC","STSong",serif;letter-spacing:.12em;opacity:var(--caption-opacity,0);text-shadow:0 2px 18px #000;transform:translateY(var(--caption-offset,12px))}
.chapter-nav{position:fixed;z-index:31;right:3.2vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:17px}.chapter-link{display:flex;align-items:center;justify-content:flex-end;gap:13px;min-width:36px;min-height:27px;font:10px/1 Georgia,serif;color:#e3cdb288}.chapter-link .nav-label{font:9px/1.4 "PingFang SC",sans-serif;letter-spacing:.1em;opacity:0;transition:opacity .25s;pointer-events:none}.chapter-link .nav-dot{width:4px;height:4px;border-radius:50%;background:#e3cdb277;transition:all .3s}.chapter-link[aria-current="step"]{color:var(--paper)}.chapter-link[aria-current="step"] .nav-dot{background:var(--paper);box-shadow:0 0 0 4px #e3cdb219}.chapter-link:hover .nav-label,.chapter-link:focus-visible .nav-label{opacity:1}.journey-status{position:fixed;z-index:20;left:4.5vw;bottom:36px;display:flex;align-items:center;gap:17px;font-size:9px;letter-spacing:.16em;color:var(--muted)}#status-number{font-family:Georgia,serif}.status-rule{width:38px;height:1px;background:var(--line)}.scroll-cue{position:fixed;right:4.5vw;bottom:33px;z-index:20;display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.14em;color:var(--muted)}.scroll-line{height:34px;width:1px;background:linear-gradient(transparent,var(--paper));transform-origin:top;animation:breathe 2s ease-in-out infinite}.reading-progress{position:fixed;bottom:0;left:0;width:100%;height:2px;z-index:35;background:#eadac30b}.reading-progress span{display:block;width:0;height:100%;background:#b65d48}.journey-status,.scroll-cue{transition:opacity .3s}body.in-notes .scroll-cue{opacity:0;pointer-events:none}
.artwork-notes{position:relative;z-index:4;background:#211b18;padding:110px 9vw 100px;border-top:1px solid #d9bfa814;min-height:95svh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.75fr);gap:7vw;align-items:center}.artwork-notes:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 25% 50%,#82634710,transparent 70%)}.artwork-figure{margin:0;position:relative;min-width:0}.artwork-image-button{display:block;width:100%;padding:0;cursor:zoom-in}.artwork-image-button img{display:block;width:100%;height:auto;max-height:72svh;object-fit:contain;background:#191514;box-shadow:0 16px 55px #0003}.figure-caption{display:flex;align-items:center;justify-content:space-between;margin-top:17px;color:#c4b09a;font-size:9px;letter-spacing:.12em}.figure-caption span:last-child{font-size:10px}.note-copy{position:relative}.note-index{font:italic 54px/1 Georgia,serif;color:#937a6177;display:block;margin-bottom:25px}.note-copy h2{font-family:"Songti SC","STSong",serif;font-weight:400;font-size:clamp(24px,2.4vw,36px);letter-spacing:.06em;margin:14px 0 30px}.note-field{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.field-label{font-size:9px;letter-spacing:.18em;color:#ba9f85}.field-value{font-size:12px;line-height:2.2;color:#d4c4b3;margin:14px 0 0;white-space:pre-line}.placeholder{color:#9a8675;font-size:11px}.note-next{display:inline-flex;align-items:center;gap:35px;margin-top:35px;padding-bottom:10px;border-bottom:1px solid #b65d4888;font-size:10px;letter-spacing:.12em}.note-next span{font-size:19px;color:#b65d48}.book-ending{position:relative;z-index:5;background:#171312;min-height:80svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:110px 26px 100px}.ending-mark{width:1px;height:65px;background:linear-gradient(#b65d48,transparent);margin-bottom:40px}.book-ending h2{font:italic 400 clamp(47px,7vw,100px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:22px 0}.book-ending p{font:16px/2 "Songti SC","STSong",serif;letter-spacing:.13em;color:var(--muted);margin:15px 0 30px}.book-ending .ending-foot{margin-top:85px;font:8px/1.8 sans-serif;letter-spacing:.22em;color:#8d7a6c}
dialog{color:var(--paper);border:1px solid #dec6ac33;background:#1c1715;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#0e0b0aec;backdrop-filter:blur(10px)}.image-dialog{width:96vw;max-width:1600px;height:94svh;max-height:94svh;padding:25px 30px;overflow:hidden}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-top h2{font:400 13px/1.5 "Songti SC",serif;letter-spacing:.1em;margin:0}.close-button{font-size:10px;letter-spacing:.12em;padding:10px 0;display:flex;gap:16px;align-items:center}.close-button span{font-size:26px;line-height:.7;font-weight:200}.original-viewport{height:calc(100% - 95px);display:flex;justify-content:center;align-items:center;padding:18px 0}.original-viewport img{max-width:100%;max-height:100%;object-fit:contain}.dialog-caption{font-size:9px;letter-spacing:.13em;color:var(--muted);margin:15px 0 0;display:flex;justify-content:space-between}.about-dialog{max-width:600px;width:calc(100% - 36px);padding:70px 55px 35px}.about-dialog>.close-button{position:absolute;right:28px;top:20px}.about-dialog h2{font:400 28px/1.8 "Songti SC",serif;margin:23px 0}.about-dialog p{font-size:12px;line-height:2.3;color:#c4b09a}.about-foot{border-top:1px solid var(--line);padding-top:24px;margin-top:38px;font-size:9px;letter-spacing:.09em;display:flex;justify-content:space-between;gap:18px}.about-foot span{font-family:Georgia,serif;letter-spacing:.12em}.no-script{position:fixed;z-index:200;inset:0;background:var(--ink);padding:20vh 12vw;line-height:2}.no-script a{text-decoration:underline}
@keyframes breathe{0%,100%{opacity:.4;transform:scaleY(.75)}50%{opacity:1;transform:scaleY(1)}}
@media(min-width:1500px){.chapter-intro{padding-left:10vw}.artwork-notes{padding-left:12vw;padding-right:12vw}}
@media(max-width:760px){.site-header{padding:23px 23px;gap:15px}.wordmark{font-size:14px;letter-spacing:.16em;gap:10px}.wordmark-line{width:18px}.header-description{display:none}.header-actions{gap:19px}.text-button{font-size:10px}.about-button{display:none}.chapter-nav{right:16px;gap:14px}.chapter-link{gap:9px;font-size:9px;min-height:30px}.nav-label{display:none}.chapter-intro{padding:115px 28px 130px;justify-content:flex-end;min-height:100svh}.chapter-intro h1{font-size:clamp(68px,18vw,115px);margin:18px 0;letter-spacing:-.06em}.chapter-intro h2{font-size:clamp(29px,7vw,42px);line-height:1.55;margin:19px 0}.chapter-subtitle{font-size:17px;letter-spacing:.13em}.eyebrow{font-size:8px;letter-spacing:.2em}.intro-line{margin-top:23px;width:32px}.chapter-intro .small-description{font-size:10px;margin-top:15px;max-width:190px}.scene-shade{background:linear-gradient(0deg,#171312e0,transparent 73%),linear-gradient(90deg,#17131222,transparent)}.scene-caption{left:12%;right:12%;bottom:17svh;font-size:15px;line-height:2.2}.journey{height:300svh}.journey-status{left:24px;bottom:26px;font-size:8px;gap:11px}.status-rule{width:22px}.scroll-cue{right:23px;bottom:23px;font-size:8px;gap:12px}.scroll-line{height:26px}.artwork-notes{padding:95px 28px 85px;grid-template-columns:1fr;gap:45px;min-height:0}.artwork-image-button img{max-height:65svh}.note-index{font-size:36px;margin-bottom:18px}.note-copy h2{font-size:27px;margin-bottom:25px}.field-value{font-size:12px}.figure-caption{font-size:8px;gap:10px}.note-next{margin-top:28px}.image-dialog{width:100vw;height:100svh;max-height:100svh;max-width:100vw;padding:20px 18px;border:0}.original-viewport{height:calc(100% - 105px)}.dialog-caption{font-size:8px}.dialog-caption span{display:none}.about-dialog{padding:65px 28px 30px}.about-dialog h2{font-size:25px}.book-ending{min-height:75svh}.book-ending p{font-size:14px;letter-spacing:.07em}.book-ending .ending-foot{margin-top:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-line{animation:none}.scene{transition:none}.journey{height:100svh}.chapter-intro{opacity:1!important;transform:none!important}.scene-caption{display:none}.world{will-change:auto}.layer-plane{display:none}.scene.has-layers .original-plane{opacity:1}.scroll-cue{display:none}.chapter-link,.text-button:after{transition:none}}

.layer-plane{mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}

.chapter-intro .small-description{white-space:pre-line}
html{scroll-padding-top:0;scroll-behavior:auto}
@media(max-width:760px){.chapter:first-child .chapter-intro{justify-content:flex-start;padding-top:15svh}}
.reduced-motion{scroll-behavior:auto}.reduced-motion .scroll-line{animation:none}.reduced-motion .scene{transition:none}.reduced-motion .journey{height:100svh}.reduced-motion .chapter-intro{opacity:1!important;transform:none!important}.reduced-motion .scene-caption{display:none}.reduced-motion .world{will-change:auto}.reduced-motion .layer-plane{display:none}.reduced-motion .scene.has-layers .original-plane{opacity:1}.reduced-motion .scroll-cue{display:none}.motion-button[aria-pressed="true"]{color:#e1a991}.motion-button:disabled{cursor:default}
.artist-credit{margin:24px 0 0;font:11px/1.8 Georgia,"Songti SC",serif;letter-spacing:.08em;color:#d7bea5}.draft-note{font-size:10px;line-height:1.8;letter-spacing:.08em;color:#c89577;margin:0 0 23px}.note-copy .field-value{font-size:13px;line-height:2.05;letter-spacing:.015em}.artwork-notes{align-items:start}.artwork-figure{position:sticky;top:110px}.about-dialog{max-height:calc(100svh - 36px);overflow-y:auto}.statement-signature{font-family:Georgia,serif!important;font-style:italic;font-size:19px!important;color:var(--paper)!important;margin-top:27px!important}
@media(max-width:760px){.artwork-figure{position:relative;top:auto}.artist-credit{font-size:10px;margin-top:17px}.note-copy .field-value{font-size:13px;line-height:2.1}.draft-note{font-size:9px}.about-dialog{padding-top:65px}}
.note-copy .field-value{font-size:14px;line-height:2}.note-copy .field-label{font-size:11px}.about-dialog #artist-statement p{font-size:14px;line-height:2.1}
@media(max-width:760px){.note-copy .field-value{font-size:15px;line-height:1.95}.about-dialog #artist-statement p{font-size:14px}}
.field-value{white-space:normal}.field-paragraph{margin:0 0 1.1em;white-space:pre-line}.field-paragraph:last-child{margin-bottom:0}
.about-dialog{padding:0;overflow:hidden}.about-dialog[open]{display:flex;flex-direction:column}.about-dialog-controls{flex:none;display:flex;justify-content:flex-end;padding:16px 28px 0;background:#1c1715}.about-dialog-body{min-height:0;overflow-y:auto;padding:18px 55px 35px;overscroll-behavior:contain}.about-dialog #artist-statement p{margin:0 0 1.25em}.about-dialog .statement-signature{margin-bottom:0!important}
@media(max-width:1000px){.artwork-notes{grid-template-columns:1fr;gap:45px}.artwork-figure{position:relative;top:auto;width:100%;max-width:700px;margin:0 auto}.note-copy{width:100%;max-width:700px;margin:0 auto}}
@media(max-width:760px){.about-dialog{padding:0}.about-dialog-controls{padding:14px 22px 0}.about-dialog-body{padding:18px 28px 30px}}
@media(max-width:760px){.about-button{display:inline-block}.header-actions{gap:14px}}
@media(max-width:380px){.site-header{padding-left:18px;padding-right:18px;gap:12px}.wordmark{font-size:12px;letter-spacing:.12em}.wordmark-line{display:none}.header-actions{gap:10px}.text-button{font-size:9px}}
body.in-notes .site-header{background:#211b18;border-bottom:1px solid #d9bfa814}
@media(max-width:760px){.note-copy{padding-right:28px}body.in-notes .journey-status{opacity:0}}

@keyframes scene-enter{from{opacity:.5}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.scene.active{animation:none}}
.reduced-motion .scene.active{animation:none}
/* Keep chapter geometry stable as the iPhone Safari toolbar opens/closes. */
@media(max-width:760px){.journey{height:calc(var(--reader-height,100svh) * 3)}.chapter-intro{min-height:var(--reader-height,100svh)}.reduced-motion .journey{height:var(--reader-height,100svh)}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.journey{height:var(--reader-height,100svh)}}
