:root{--accent:#d85b49;--glow:#ffb27c;--paper:#f3ead8;--muted:#b7b4aa;--focal:54% 46%;--mobile-focal:59% 42%;--px:0;--py:0}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#17140f;color:var(--paper);font-family:"Helvetica Neue","Noto Sans SC","Microsoft YaHei",sans-serif}button,a{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--glow);outline-offset:5px}[hidden]{display:none!important}#atmosphere{position:fixed;z-index:8;inset:0;width:100%;height:100%;pointer-events:none}.grain{position:fixed;z-index:30;inset:0;pointer-events:none;opacity:.045;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.74' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* prologue */
.prologue{position:fixed;z-index:40;inset:0;overflow:hidden;background:#16120e;transition:opacity 1.3s cubic-bezier(.2,.7,.1,1),visibility 1.3s}.prologue.is-leaving{opacity:0;visibility:hidden}.memory-strips{position:absolute;inset:-2%;display:grid;grid-template-columns:repeat(7,1fr);gap:3px;transform:scale(1.04)}.memory-strip{position:relative;overflow:hidden;opacity:.72;filter:saturate(.72) contrast(1.08);transform:translateY(var(--shift));animation:stripIn 1.4s cubic-bezier(.15,.8,.15,1) both;animation-delay:calc(var(--i)*.06s)}.memory-strip img{position:absolute;width:100%;height:100%;left:0;object-fit:cover;object-position:center;transform:scale(1.08);transition:transform 8s ease,filter 1.2s}.memory-strip:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#17130f44,transparent,#17130f77)}.prologue.is-awake .memory-strip img{transform:scale(1.18)}.prologue.is-awake .memory-strip{filter:saturate(1.02) contrast(1.08) brightness(1.08)}.prologue-shade{position:absolute;inset:0;background:radial-gradient(circle at 72% 46%,transparent 0 18%,#15110d55 48%,#100d0be8 100%),linear-gradient(90deg,#110e0cd9 0 34%,transparent 72%),linear-gradient(0deg,#0b0908cc,transparent 40%)}.prologue-copy{position:absolute;z-index:2;left:7vw;top:50%;transform:translateY(-47%);max-width:min(760px,65vw)}.eyebrow{margin:0 0 25px;color:#d2c9b8;font:600 9px/1.4 monospace;letter-spacing:.34em}.prologue h1{margin:0;font:400 clamp(55px,7vw,116px)/.91 "Songti SC","STSong","Noto Serif SC",serif;letter-spacing:-.08em;text-shadow:0 8px 40px #000}.prologue h1 em{font-style:normal;color:var(--glow);text-shadow:0 0 35px color-mix(in srgb,var(--accent) 45%,transparent)}.prologue button{display:flex;align-items:center;gap:28px;margin-top:48px;padding:0 0 12px;border:0;border-bottom:1px solid #f0e5cd;background:transparent;text-align:left;transition:.25s}.prologue button:hover{gap:42px;color:#fff}.prologue button b{font:600 15px "Songti SC",serif;letter-spacing:.28em}.prologue button span{padding-left:25px;border-left:1px solid #ffffff45;color:#a9a69e;font:8px monospace;letter-spacing:.14em}.prologue button i{font-style:normal;font-size:22px;color:var(--glow)}.prologue-copy>small{display:block;margin-top:13px;color:#827f78;font-size:8px;letter-spacing:.12em}.prologue-mark{position:absolute;z-index:2;right:5vw;bottom:7vh;display:flex;align-items:flex-end;gap:12px}.prologue-mark b{font:700 31px/1 monospace;color:var(--glow)}.prologue-mark span{padding-left:12px;border-left:1px solid #ffffff35;color:#a6a49c;font:7px/1.6 monospace;letter-spacing:.16em}
/* core stage */
.experience{position:fixed;z-index:1;inset:0;overflow:hidden;background:#16130f}.media-stage,.image-layer,.image-layer img,.memory-echo,.memory-echo img,.stage-wash,.ink-transition{position:absolute;inset:0;width:100%;height:100%}.media-stage{overflow:hidden;background:color-mix(in srgb,var(--accent) 20%,#17140f)}.image-layer{opacity:0;overflow:hidden;transform:scale(1.035);transition:opacity 1.15s cubic-bezier(.2,.7,.1,1),transform 7s ease}.image-layer.is-visible{opacity:1;transform:scale(1)}.image-layer img{object-fit:cover;object-position:var(--focal);filter:saturate(.9) contrast(1.07) brightness(.9);transform:translate(calc(var(--px)*-9px),calc(var(--py)*-6px)) scale(1.025);transition:object-position .5s,filter 1s}.memory-echo{z-index:2;left:auto;width:36%;opacity:.13;mix-blend-mode:screen;overflow:hidden;transform:translateX(calc(var(--px)*12px));filter:blur(.5px)}.memory-echo img{object-fit:cover;object-position:75% center;transform:scale(1.04) translateX(-5%)}.memory-echo:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#000,transparent 42%,#000)}.stage-wash{z-index:3;background:linear-gradient(90deg,#0e0b09f2 0,#0e0b09b7 19%,transparent 53%),linear-gradient(0deg,#0b0908e8 0,transparent 39%),radial-gradient(circle at 58% 38%,transparent 0 32%,#100c0a6b 100%);transition:background .6s}.chapter-copy.align-right~*{}.experience.is-right .stage-wash{background:linear-gradient(270deg,#0e0b09f2 0,#0e0b09b7 19%,transparent 53%),linear-gradient(0deg,#0b0908e8 0,transparent 39%),radial-gradient(circle at 42% 38%,transparent 0 32%,#100c0a6b 100%)}.experience.is-right .memory-echo{right:auto;left:0}.ink-transition{z-index:10;pointer-events:none;opacity:0;background:radial-gradient(ellipse at var(--ink-x,50%) 50%,var(--accent),#100c0a 36%,transparent 70%);mix-blend-mode:multiply;transform:scaleX(0);transform-origin:var(--ink-x,50%) center}.ink-transition.run{animation:inkSweep 1.3s cubic-bezier(.7,0,.2,1)}
.topbar{position:absolute;z-index:12;left:4vw;right:4vw;top:4.5vh;display:flex;align-items:center;justify-content:space-between}.identity{display:flex;align-items:center;gap:13px;text-decoration:none}.identity>b{display:grid;place-items:center;width:40px;height:40px;border:1px solid #eee5d0aa;font:700 11px monospace;letter-spacing:.08em;backdrop-filter:blur(6px)}.identity>span{font:9px monospace;letter-spacing:.16em;text-shadow:0 2px 8px #000}.top-actions{display:flex;align-items:center;gap:18px}.top-actions>button{border:0;background:transparent}.top-actions>button+button{padding-left:18px;border-left:1px solid #ffffff38}#language{display:flex;gap:5px;color:#b7b4ab;font:8px monospace}#language span:last-child{color:#6e716b}.lang-en #language span:first-child{color:#6e716b}.lang-en #language span:last-child{color:#fff}.sound{display:flex;align-items:center;gap:10px;text-align:left}.sound-wave{display:flex;align-items:flex-end;gap:2px;width:16px;height:19px}.sound-wave i{width:2px;background:var(--glow);animation:wave .65s ease-in-out infinite alternate}.sound-wave i:nth-child(1){height:35%}.sound-wave i:nth-child(2){height:85%;animation-delay:-.3s}.sound-wave i:nth-child(3){height:55%;animation-delay:-.5s}.sound-wave i:nth-child(4){height:28%;animation-delay:-.15s}.sound small{display:block;color:#8d918a;font:6px monospace;letter-spacing:.13em}.sound b{display:block;margin-top:4px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:8px monospace}.is-muted .sound-wave i{height:2px!important;animation:none;background:#777}.archive-button{display:flex;align-items:center;gap:10px;color:#e8e0ce;font-size:8px;letter-spacing:.1em}.archive-button i{display:grid;place-items:center;width:25px;height:25px;border:1px solid #ffffff55;border-radius:50%;font:normal 15px serif;transition:.25s}.archive-button:hover i{transform:rotate(90deg);background:var(--accent);border-color:var(--accent)}
.chapter-copy{position:absolute;z-index:9;left:5vw;top:50%;width:min(600px,44vw);transform:translateY(-43%);text-shadow:0 4px 25px #000;transition:left .8s,right .8s,opacity .4s,transform .8s}.experience.is-right .chapter-copy{left:auto;right:5vw;text-align:right}.chapter-index{display:flex;align-items:center;gap:10px;color:#c1bdb2;font:8px monospace;letter-spacing:.18em}.experience.is-right .chapter-index{justify-content:flex-end}.chapter-index i{width:40px;border-top:1px solid var(--glow)}.chapter-theme{display:inline-block;margin:32px 0 12px;padding:4px 9px;background:var(--accent);font:600 8px monospace;letter-spacing:.35em}.chapter-copy h2{margin:0;font:500 clamp(53px,6.4vw,110px)/.88 "Songti SC","STSong","Noto Serif SC",serif;letter-spacing:-.08em}.chapter-en{margin:14px 0 0;color:#d2cec2;font:8px monospace;letter-spacing:.17em;text-transform:uppercase}.chapter-copy blockquote{max-width:520px;margin:30px 0 0;padding-left:17px;border-left:1px solid var(--glow);font:400 clamp(14px,1.25vw,19px)/1.7 "Songti SC",serif;letter-spacing:.08em}.experience.is-right .chapter-copy blockquote{margin-left:auto;padding:0 17px 0 0;border-left:0;border-right:1px solid var(--glow)}.story-link{display:flex;align-items:center;gap:15px;margin-top:27px;padding:0 0 8px;border:0;border-bottom:1px solid #ffffff70;background:transparent;font-size:8px;letter-spacing:.14em}.experience.is-right .story-link{margin-left:auto}.story-link i{font-style:normal;color:var(--glow);font-size:14px}.story-link:hover{border-color:var(--glow);color:#fff}.giant-num{position:absolute;z-index:4;right:5vw;top:12vh;color:transparent;-webkit-text-stroke:1px #ffffff22;font:400 min(48vw,680px)/.8 "Songti SC",serif;opacity:.45;transform:translate(calc(var(--px)*14px),calc(var(--py)*10px));pointer-events:none}.experience.is-right .giant-num{right:auto;left:5vw}
.gallery-arrow{position:absolute;z-index:11;top:50%;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff32;border-radius:50%;background:#0c0a0866;color:#e5ded0;backdrop-filter:blur(7px);opacity:.34;transition:opacity .25s,background .25s,border-color .25s}.gallery-arrow:hover,.gallery-arrow:focus-visible{opacity:1;background:var(--accent);border-color:var(--accent)}.gallery-arrow span{font-size:17px;line-height:1}.gallery-prev{left:2vw}.gallery-next{right:2vw}.gallery-pagination{position:absolute;z-index:11;right:4.2vw;bottom:20vh;display:flex;align-items:center;gap:3px}.gallery-pagination button{position:relative;width:18px;height:18px;padding:0;border:0;background:transparent}.gallery-pagination button:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:999px;background:#d8d2c599;transform:translate(-50%,-50%);transition:width .25s,background .25s,box-shadow .25s}.gallery-pagination button.active:after{width:14px;background:var(--glow);box-shadow:0 0 10px var(--glow)}.timeline{position:absolute;z-index:14;left:50%;bottom:6vh;transform:translateX(-50%);display:flex;width:min(1020px,77vw);border:0;isolation:isolate}.timeline:before{content:"";position:absolute;z-index:0;left:calc(100% / 14);right:calc(100% / 14);top:0;border-top:1px solid #ffffff38}.timeline button{position:relative;z-index:1;flex:1;height:72px;padding:14px 0 0;border:0;background:transparent;color:#888b84;text-align:center;transition:color .3s}.timeline button:before{content:"";position:absolute;z-index:2;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;transform:translateX(-50%);background:#8b8d86;box-shadow:0 0 0 4px #17130fd9;transition:.3s}.timeline button b{display:block;font:500 14px "Songti SC",serif}.timeline button span{display:block;margin-top:6px;font:6px monospace;letter-spacing:.08em}.timeline button:hover{color:#fff}.timeline button:hover:before{background:var(--glow);box-shadow:0 0 0 4px #17130fe8,0 0 14px var(--glow)}.timeline button.active{color:#fff}.timeline button.active:before{background:var(--accent);box-shadow:0 0 0 4px #17130fe8,0 0 0 7px color-mix(in srgb,var(--accent) 22%,transparent),0 0 18px var(--glow)}.timeline button.active b{color:var(--glow)}.interaction-note{position:absolute;z-index:10;left:4vw;bottom:3.2vh;margin:0;color:#73766f;font:6px monospace;letter-spacing:.12em}
/* archive editorial spread */
.archive{position:fixed;z-index:50;inset:0;color:#241e18;animation:archiveIn .65s cubic-bezier(.2,.8,.2,1)}.archive-backdrop{position:absolute;inset:0;background:#0e0c0ad9;backdrop-filter:blur(20px)}.archive-spread{position:absolute;left:3vw;right:3vw;top:4vh;bottom:4vh;display:grid;grid-template-columns:42% 58%;overflow:hidden;background:#e8dfcd;box-shadow:0 35px 100px #000c}.archive-spread:after{content:"";position:absolute;left:42%;top:0;bottom:0;width:1px;background:#4b3d2c22;box-shadow:12px 0 30px #4b392923}.archive-close{position:absolute;z-index:4;right:28px;top:24px;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#4f473d;font-size:7px;letter-spacing:.12em}.archive-close i{position:relative;display:block;width:30px;height:30px;border:1px solid #5e5549;border-radius:50%;font-size:0;line-height:0}.archive-close i:before,.archive-close i:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;background:currentColor;transform-origin:center}.archive-close i:before{transform:translate(-50%,-50%) rotate(45deg)}.archive-close i:after{transform:translate(-50%,-50%) rotate(-45deg)}.archive-left{position:relative;padding:7vh 4vw;overflow:hidden;background:linear-gradient(145deg,#dacdb7,#f2eadb 52%,#cdbda3)}.archive-left:before{content:"";position:absolute;inset:0;opacity:.2;background:repeating-linear-gradient(115deg,transparent 0 38px,#6c5b4322 39px 40px)}.archive-left>*{position:relative;z-index:1}.archive-left>p{margin:0;color:#7d6f5d;font:8px monospace;letter-spacing:.22em}.archive-number{position:absolute;right:-3vw;top:2vh;color:transparent;-webkit-text-stroke:1px #6e5a3c45;font:430px/.8 "Songti SC",serif}.archive-left h3{margin:25vh 0 7px;font:500 clamp(45px,5vw,82px)/.9 "Songti SC",serif;letter-spacing:-.08em}.archive-left>span{color:#766958;font:7px monospace;letter-spacing:.15em}.archive-left blockquote{margin:35px 0 0;padding-top:20px;border-top:1px solid #6f5d45;font:20px/1.7 "Songti SC",serif}.archive-right{display:grid;align-content:center;grid-template-columns:1fr 1fr;gap:32px 42px;padding:8vh 5vw;background:#f1e9da}.archive-right section:first-child{grid-column:1/-1}.archive-right small{display:block;margin-bottom:11px;color:#8a7d6c;font:7px monospace;letter-spacing:.18em}.archive-right p{margin:0;font:14px/1.9 "Songti SC",serif}.people{display:flex;flex-wrap:wrap;gap:8px}.people span{padding:6px 10px;border:1px solid #978977;color:#483f35;font:12px "Songti SC",serif}.archive-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}.archive-links a{color:#382f27;font-size:10px;text-decoration:none;border-bottom:1px solid #776956}.thumbs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;height:20vh}.thumbs button{position:relative;overflow:hidden;padding:0;border:0;background:#222}.thumbs img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:.35s}.thumbs button:hover img{transform:scale(1.06);filter:saturate(1)}.thumbs button.active:after{content:"";position:absolute;inset:0;border:3px solid var(--accent)}
.chapter-transition{position:fixed;z-index:45;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;background:var(--accent);clip-path:inset(0 100% 0 0)}.chapter-transition.run{animation:chapterWipe 1.25s cubic-bezier(.75,0,.22,1)}.chapter-transition span{font:200 min(35vw,440px)/.75 "Songti SC",serif;color:#ffffff25}.chapter-transition p{margin:25px 0 0;font:17px "Songti SC",serif;letter-spacing:.3em}
@keyframes stripIn{from{opacity:0;transform:translateY(calc(var(--shift) + 100px))}}@keyframes wave{to{height:18%}}@keyframes inkSweep{0%{opacity:0;transform:scaleX(0)}35%{opacity:.85;transform:scaleX(1)}70%{opacity:.7;transform:scaleX(1)}100%{opacity:0;transform:scaleX(0);transform-origin:calc(100% - var(--ink-x,50%)) center}}@keyframes chapterWipe{0%{clip-path:inset(0 100% 0 0)}43%{clip-path:inset(0 0 0 0)}60%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}@keyframes archiveIn{from{opacity:0;transform:scale(.98)}}
/* tablet */
@media(max-width:1024px){.chapter-copy{width:55vw}.chapter-copy h2{font-size:67px}.timeline{width:88vw}.sound>span:last-child{display:none}.archive-spread{grid-template-columns:38% 62%}.archive-spread:after{left:38%}.archive-left{padding:6vh 3vw}.archive-left h3{font-size:50px}.archive-right{padding:7vh 4vw;gap:24px}.memory-echo{width:28%}}
/* mobile is a dedicated vertical poster composition */
@media(max-width:700px){.prologue-copy{left:7vw;right:7vw;top:auto;bottom:14vh;max-width:none;transform:none}.prologue h1{font-size:49px;line-height:.98}.prologue-shade{background:linear-gradient(0deg,#0e0b09f4 0 25%,transparent 76%),radial-gradient(circle at 50% 25%,transparent,#110d0aaa 80%)}.memory-strips{grid-template-columns:repeat(7,28vw);left:-49vw;right:auto;width:auto}.memory-strip img{width:100%}.prologue button{margin-top:30px}.prologue-mark{right:7vw;top:6vh;bottom:auto}.eyebrow{font-size:7px;margin-bottom:18px}.prologue-copy>small{font-size:7px}.topbar{left:5vw;right:5vw;top:max(18px,env(safe-area-inset-top))}.identity>span{display:none}.identity>b{width:34px;height:34px}.top-actions{gap:11px}.top-actions>button+button{padding-left:11px}.archive-button span{display:none}.sound b{max-width:110px;font-size:7px}.media-stage{height:100%}.image-layer img{object-position:var(--mobile-focal);filter:saturate(.92) contrast(1.04) brightness(.82);transform:translate(calc(var(--px)*-4px),calc(var(--py)*-3px)) scale(1.02)}.memory-echo{display:none}.stage-wash,.experience.is-right .stage-wash{background:linear-gradient(0deg,#0d0a08f8 0 27%,#0d0a08bd 43%,transparent 72%),linear-gradient(90deg,#110d0a88,transparent 40%,#110d0a55),radial-gradient(circle at 50% 32%,transparent 0 32%,#100c0a77 100%)}.chapter-copy,.experience.is-right .chapter-copy{left:6vw;right:6vw;top:auto;bottom:calc(108px + max(8px,env(safe-area-inset-bottom)));width:auto;transform:none;text-align:left}.chapter-index,.experience.is-right .chapter-index{justify-content:flex-start}.chapter-theme{margin:0 0 10px}.chapter-copy h2{font-size:40px;line-height:.94}.chapter-en{display:none}.chapter-copy blockquote,.experience.is-right .chapter-copy blockquote{display:-webkit-box;max-width:none;margin:12px 0 0;padding:0;overflow:hidden;border:0;font-size:12.5px;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical}.story-link{display:flex;margin-top:11px;padding-bottom:5px}.giant-num,.experience.is-right .giant-num{display:none}.gallery-arrow{display:grid;top:43%;width:44px;height:44px;opacity:.72;background:#0c0a0894;border-color:#ffffff52}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-pagination{left:50%;right:auto;top:51%;bottom:auto;transform:translateX(-50%)}.timeline{left:0;right:0;bottom:max(2.5vh,env(safe-area-inset-bottom));width:auto;transform:none;margin:0 4vw;padding-top:8px;overflow:visible}.timeline:before{left:calc(100% / 14);right:calc(100% / 14);top:12px}.timeline button{flex:1 1 0;min-width:0;height:60px;padding-top:18px}.timeline button::before{margin-top:4px!important}.timeline button b{font-size:12px}.timeline button span{font-size:5px}.interaction-note{display:none}.archive-spread{left:0;right:0;top:0;bottom:0;display:block;overflow-y:auto;background:#eee5d5}.archive-spread:after{display:none}.archive-close{position:fixed;right:18px;top:max(18px,env(safe-area-inset-top))}.archive-left{min-height:52vh;padding:11vh 7vw 7vh}.archive-number{font-size:280px;right:-5vw}.archive-left h3{margin:18vh 0 7px;font-size:51px}.archive-left blockquote{font-size:17px;margin-top:26px}.archive-right{display:block;padding:6vh 7vw 12vh}.archive-right section{margin-bottom:35px}.archive-links{display:grid!important}.thumbs{height:42vh;grid-template-columns:1fr;margin-top:30px}.thumbs button{min-height:130px}.chapter-transition span{font-size:65vw}.chapter-transition p{font-size:12px}.grain{opacity:.035}}
@media(max-height:680px) and (min-width:701px){.topbar{top:3vh}.chapter-copy{top:48%;width:48vw;transform:translateY(-50%)}.chapter-index{font-size:7px}.chapter-theme{margin:10px 0 7px}.chapter-copy h2{font-size:46px;line-height:.92}.chapter-en{display:none}.chapter-copy blockquote{display:none}.story-link{margin-top:14px}.giant-num{top:9vh;opacity:.25}.timeline{bottom:2vh}.timeline button{height:52px;padding-top:12px}.timeline button span{margin-top:3px}.gallery-pagination{left:50%;right:auto;top:auto;bottom:19vh;transform:translateX(-50%)}.gallery-arrow{top:46%;width:38px;height:38px}.interaction-note{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.image-layer,.image-layer img{transition-duration:.15s!important}.memory-echo{display:none}}

.media-stage{background:#2d1c18;background:color-mix(in srgb,var(--accent) 20%,#17140f)}
