
:root{--water:#faf8f4;--ink:#b7282e;--light:#2348a8}*{box-sizing:border-box}body{margin:0;background:var(--water);color:var(--ink);font:11px/1.7 monospace;overflow:hidden}button,a{color:inherit;font:inherit}button{background:none;border:0;cursor:pointer;padding:10px 0}button:hover,a:hover{color:var(--light)}a{text-decoration:none}header{position:absolute;z-index:5;left:32px;right:32px;top:22px;color:var(--ink);display:flex;justify-content:space-between;align-items:center}.brand{font:25px Georgia,serif;letter-spacing:-1px}nav{display:flex;gap:28px}.scene{position:absolute;inset:0;overflow:hidden}.forest{position:absolute;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;opacity:.93;transform:scale(1.025);animation:breathe 28s ease-in-out infinite alternate;pointer-events:none}.veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,248,244,.72),transparent 20%,transparent 74%,rgba(250,248,244,.94));pointer-events:none}canvas{position:absolute;inset:0;touch-action:none;cursor:none}.cursor{position:absolute;width:26px;height:30px;pointer-events:none;z-index:4;transform:translate(-50%,-25%);image-rendering:auto;opacity:0;filter:drop-shadow(0 2px 2px #34270d66)}.hint{position:absolute;left:32px;top:96px;max-width:170px;color:var(--ink);text-shadow:0 1px 8px #faf8f4;opacity:.85;pointer-events:none;transition:opacity 2s}.hint.fade{opacity:0}.poem{position:absolute;right:40px;top:23%;writing-mode:vertical-rl;font:19px/2.2 'Songti SC','STSong',serif;letter-spacing:7px;color:var(--light);pointer-events:none}.poem span{opacity:.1;filter:blur(2px);transition:opacity 2s,filter 2s}.poem span.seen{opacity:1;filter:none}.poem .break{display:block;height:24px}.under{position:absolute;bottom:29px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}.under button{pointer-events:auto}.quiet{opacity:.65;letter-spacing:1px}.status{min-height:20px;letter-spacing:2px;font:14px 'Songti SC',serif;margin-bottom:9px;color:var(--light);transition:opacity 2s}.controls{display:flex;gap:22px;align-items:center}.note{position:absolute;left:50%;top:50%;width:min(420px,calc(100% - 48px));transform:translate(-50%,-50%);background:#faf8f4f5;padding:40px;color:var(--ink);z-index:9;box-shadow:0 8px 90px #b7282e20;backdrop-filter:blur(12px)}.note[hidden]{display:none}.note h1{font:26px Georgia,serif;margin:0 0 22px}.note p{font:14px/1.9 Georgia,serif}.note small{display:block;opacity:.6;margin-top:22px}.note .close{position:absolute;right:18px;top:8px}.note footer{display:flex;gap:20px;margin-top:28px}.still .forest{animation-play-state:paused}@keyframes breathe{to{transform:scale(1.045) translate(-.3%,.2%)}}@media(max-width:800px){header{left:20px;right:20px;top:14px}nav{gap:20px}.forest{object-position:65% center}.hint{left:20px;top:78px;max-width:135px;font-size:10px}.poem{right:16px;font-size:17px;top:26%;line-height:1.8}.under{left:20px;right:20px;bottom:20px}.quiet{font-size:9px;max-width:140px}.controls{gap:16px}}@media(prefers-reduced-motion:reduce){.forest{animation:none}}

.manifesto{position:absolute;left:10%;top:24%;width:min(360px,44vw);pointer-events:none;color:var(--ink)}.manifesto p{font:italic clamp(23px,3vw,38px)/1.3 Georgia,serif;margin:0 0 22px;letter-spacing:-.5px;text-shadow:0 0 18px #faf8f4,0 0 6px #faf8f4}.manifesto small{font:13px/1.8 'Songti SC',serif;letter-spacing:3px}.collection{display:flex;gap:13px;align-items:baseline}.status{font:32px/1 Georgia,serif;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:0}.note{width:min(510px,calc(100% - 40px));padding:48px;max-height:calc(100svh - 48px);overflow-y:auto;box-shadow:0 8px 100px #b7282e15}.note-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.6}.note h1{font:38px/1.1 Georgia,serif;margin:30px 0 8px;letter-spacing:-1px}.alias{font:15px Georgia,'Songti SC',serif}.note .philosophy{font:20px/1.6 Georgia,serif;margin:30px 0}.bio-details{margin:30px 0;font-size:11px}.bio-details:empty{display:none}.bio-details div{margin-top:16px}.bio-details dt{opacity:.6}.bio-details dd{margin:3px 0 0;font-size:13px}.return{margin-top:26px;color:var(--light)}.note-open .forest{animation-play-state:paused}.note-open .manifesto,.note-open .hint{opacity:.2}.note-open .cursor{display:none}@media(max-width:800px){.manifesto{left:8%;top:27%;width:49vw}.manifesto p{font-size:clamp(20px,4.6vw,30px)}.manifesto small{font-size:11px;letter-spacing:2px}.note{padding:34px 28px}.note h1{font-size:32px}.note .philosophy{font-size:18px}.status{font-size:28px}}

.manifesto{left:auto;right:42px;top:24%;width:230px;color:var(--light);animation:manifesto-emerge 8s ease-out both;pointer-events:none}.manifesto p{font:400 19px/1.85 Georgia,'Times New Roman',serif;letter-spacing:.15px;text-shadow:none;margin:0 0 28px;text-wrap:pretty}.manifesto small{display:block;font:400 13px/2.3 'Songti SC','STSong',serif;letter-spacing:3px;animation:manifesto-emerge 9s 1.5s ease-out both}.note h1{font-family:Georgia,'Songti SC',serif;font-weight:400}.note .philosophy{font-size:18px}.bio-details dd{line-height:1.9}.note-open .manifesto{visibility:hidden}@keyframes manifesto-emerge{0%{opacity:0;filter:blur(6px);transform:translateY(6px)}35%{opacity:.2}100%{opacity:.9;filter:blur(0);transform:translateY(0)}}@media(max-width:800px){.manifesto{left:auto;right:24px;top:23%;width:180px}.manifesto p{font-size:17px;line-height:1.9}.manifesto small{font-size:12px;letter-spacing:2px;max-width:155px}.note .philosophy{font-size:17px}}@media(max-width:400px){.manifesto{right:20px;width:145px}.manifesto p{font-size:15px;line-height:1.85}}@media(prefers-reduced-motion:reduce){.manifesto,.manifesto small{animation:none;opacity:.9}}
.manifesto{isolation:isolate}.manifesto::before{content:"";position:absolute;inset:-14px -12px;background:rgba(250,248,244,.86);filter:blur(19px);z-index:-1}.manifesto p{text-shadow:0 0 3px #faf8f4}

/* Inscription: Chinese first, a smaller English translation beneath. */
.manifesto{right:40px;left:auto;top:21%;width:182px;animation:none;opacity:1;transform:none;filter:none;color:var(--light)}.verse{display:flex;flex-direction:row-reverse;justify-content:flex-start;align-items:flex-start;gap:23px;margin-bottom:28px}.verse-line{display:flex;flex-direction:column;gap:9px}.verse-line span{font:400 25px/1.15 'Kaiti SC','STKaiti','KaiTi','Songti SC',serif;opacity:0;animation:inscription-ink 4.5s var(--delay) ease-out both}.manifesto p.translation{margin:0;font:400 12px/1.85 Georgia,'Times New Roman',serif;letter-spacing:.15px;text-wrap:pretty;opacity:0;animation:inscription-ink 5s 9s ease-out both}.manifesto::before{inset:-18px -16px;background:rgba(250,248,244,.82)}.still .verse-line span,.still .translation{animation-play-state:paused}@keyframes inscription-ink{from{opacity:0;filter:blur(4px)}to{opacity:.94;filter:blur(0)}}@media(max-width:800px){.manifesto{right:25px;top:21%;width:155px}.verse{gap:20px;margin-bottom:23px}.verse-line span{font-size:23px}.manifesto p.translation{font-size:11px;line-height:1.9}}@media(max-width:400px){.manifesto{right:20px;width:134px}.verse-line span{font-size:21px}.verse{gap:18px}.manifesto p.translation{font-size:10.5px}}@media(prefers-reduced-motion:reduce){.verse-line span,.manifesto p.translation{animation:none;opacity:.94;filter:none}}

/* Restore the first study's small vertical inscription. */
.manifesto{right:40px;top:23%;left:auto;width:auto;display:flex;flex-direction:row;align-items:flex-start;gap:18px;color:var(--light)}.manifesto::before{display:none}.verse{gap:18px;margin:0;order:2}.verse-line{gap:0}.verse-line span{font:400 19px/2.2 'Songti SC','STSong',serif;letter-spacing:7px;animation:inscription-ink 4.5s var(--delay) ease-out both}.manifesto p.translation{order:1;writing-mode:vertical-rl;text-orientation:mixed;max-height:290px;width:auto;margin:0;font:400 10px/1.7 Georgia,'Times New Roman',serif;letter-spacing:.35px;text-wrap:wrap;text-shadow:none;animation:inscription-ink 6s 2s ease-out both}@media(max-width:800px){.manifesto{right:16px;top:26%;width:auto;gap:12px}.verse{gap:14px}.verse-line span{font-size:17px;line-height:1.8;letter-spacing:7px}.manifesto p.translation{font-size:9px;line-height:1.7;max-height:255px}}@media(max-width:400px){.manifesto{right:16px;width:auto}.verse-line span{font-size:17px;line-height:1.8}.manifesto p.translation{font-size:9px}}
.verse{gap:0}.verse-line{display:block;writing-mode:vertical-rl;text-orientation:upright}.verse-line span{display:inline}@media(max-width:800px){.verse{gap:0}}@media(prefers-reduced-motion:reduce){.verse-line span,.manifesto p.translation{animation:none;opacity:.94;filter:none}}

/* An open page, rather than a card of biographical fields. */
header nav{gap:0}#about{font:13px/1.5 Georgia,serif;padding:8px 12px;color:var(--ink);background:rgba(250,248,244,.92)}#about:hover{color:var(--light)}.note{position:fixed;inset:0;width:100%;height:100svh;max-height:none;transform:none;padding:0;border:0;background:rgba(250,248,244,.96);backdrop-filter:blur(4px);box-shadow:none;overflow-y:auto}.note .close{position:fixed;right:32px;top:24px;font:13px/1.5 Georgia,serif;padding:8px 0;color:var(--light);z-index:2}.about-page{max-width:1030px;margin:0 auto;padding:105px 70px 54px;min-height:100svh;display:grid;grid-template-columns:1fr 1.35fr;column-gap:70px;align-content:center;row-gap:60px}.about-page .about-name{position:static;display:block;color:var(--ink)}.note h1{font:400 44px/1.25 Georgia,'Songti SC',serif;margin:0 0 12px;letter-spacing:-1px}.note h1 span{font-size:23px;letter-spacing:4px}.real-name{font:14px/1.8 Georgia,serif}.note .philosophy{font:400 25px/1.65 Georgia,serif;margin:0;max-width:410px}.note .practice{font:15px/1.9 Georgia,serif;margin:27px 0 0;max-width:350px}.about-foot{grid-column:2;font:12px/1.9 Georgia,serif}.about-time{font-size:13px;margin-bottom:18px}.note .about-route{font:13px/2 Georgia,serif;margin:0;max-width:360px}.about-route span{color:var(--light)}.note footer{font:12px/1.8 Georgia,serif;margin-top:30px;gap:22px}@media(max-width:800px){.about-page{padding:100px 38px 44px;grid-template-columns:1fr;row-gap:38px;min-height:100svh;align-content:start}.about-foot{grid-column:1;margin-left:12%}.about-thought{margin-left:12%}.note h1{font-size:36px}.note .philosophy{font-size:21px}.note .practice{font-size:14px}.note .close{right:24px;top:20px}}@media(max-height:600px) and (min-width:801px){.about-page{padding-top:85px;row-gap:24px}.note .philosophy{font-size:22px}}

.bio-language{display:flex;gap:14px;margin-bottom:22px}.bio-language button{font:11px/1.5 Georgia,'Songti SC',serif;padding:0 0 3px;opacity:.45}.bio-language button[aria-pressed="true"]{opacity:1;color:var(--light)}.note .philosophy{font:400 20px/1.8 Georgia,'Songti SC',serif;max-width:440px;margin:0}.note .philosophy p{font:inherit;margin:0 0 23px}.note .philosophy p:last-child{margin-bottom:0}.note .philosophy[lang="zh"]{font:400 17px/2.05 'Songti SC','STSong',serif;letter-spacing:.7px}.about-page{row-gap:38px}.about-foot{padding-bottom:12px}@media(max-width:800px){.note .philosophy{font-size:18px;line-height:1.8}.note .philosophy[lang="zh"]{font-size:16px;line-height:2}.about-page{row-gap:32px}.about-thought,.about-foot{margin-left:7%}.bio-language{margin-bottom:18px}}

/* A small translucent sheet floating within the game. */
.note{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 56px));height:auto;max-height:78svh;padding:32px 30px 27px;background:rgba(250,248,244,.84);backdrop-filter:blur(7px);box-shadow:0 5px 38px rgba(108,44,42,.07);overflow-y:auto;scrollbar-width:thin;animation:paper-float-in .8s ease-out both}.note .close{position:absolute;right:17px;top:10px;font:10px/1.5 Georgia,serif;padding:4px;color:var(--light)}.about-page{display:block;min-height:0;max-width:none;margin:0;padding:0}.note h1{font-size:28px;line-height:1.2;margin:12px 0 7px}.note h1 span{font-size:17px;letter-spacing:2px}.real-name{font-size:12px}.about-thought{margin:25px 0 0}.bio-language{margin-bottom:14px;gap:14px}.bio-language button{font-size:10px}.note .philosophy{font-size:14px;line-height:1.85;max-width:none}.note .philosophy p{margin-bottom:14px}.note .philosophy[lang="zh"]{font-size:14px;line-height:2;letter-spacing:.3px}.about-foot{margin:24px 0 0;padding:0;font-size:11px}.about-time{font-size:11px;margin-bottom:11px}.note .about-route{font-size:11px;line-height:1.9}.note footer{font-size:11px;margin-top:20px;gap:20px}.note-open:not(.still) .forest{animation-play-state:running}.note-open .manifesto{visibility:visible;opacity:1}.note-open .hint{opacity:.85}@keyframes paper-float-in{from{opacity:0;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}@media(max-width:480px){.note{width:calc(100vw - 48px);padding:29px 23px 23px;max-height:76svh}.note h1{font-size:25px}.note .philosophy{font-size:13px;line-height:1.85}.note .philosophy[lang="zh"]{font-size:13px}.about-thought{margin-top:21px}.about-foot{margin-top:21px}}@media(prefers-reduced-motion:reduce){.note{animation:none}}

/* Keep the inscription in the clearing, away from the main pine. */
.manifesto{left:clamp(42px,13vw,180px);right:auto;top:30%}@media(max-width:800px){.manifesto{left:15%;right:auto;top:30%}}@media(max-width:400px){.manifesto{left:13%;right:auto;top:31%}}

body.admin-bar header:not(.about-name){top:54px}body.admin-bar .note .close{top:16px}
