:root{--paper:#F6F3EA;--ink:#2B2823;--ink-soft:#6B6353;--line:#D9D2C0;--zhu:#B04E33;--dai:#5C7A87;--he:#D8A24A;--cao:#7E9B76;--shore:#7D6450;--font-serif:"Songti SC","STSong","SimSun",serif;--font-display:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--font-kai:"LXGW WenKai Lite","Kaiti SC","STKaiti","KaiTi",var(--font-serif);--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}[data-theme=dark]{--paper:#1E1C19;--ink:#F0EAD9;--ink-soft:#9A927F;--line:#3A3833;--zhu:#D0714F;--dai:#7A95A1;--he:#DCAE5E;--cao:#93AC8A;--shore:#171C24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-serif);font-size:17px;line-height:2;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="140" height="140"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="2" stitchTiles="stitch"/><feColorMatrix type="saturate" values="0"/></filter><rect width="140" height="140" filter="url(%23n)"/></svg>')}[data-theme=dark] body::after{opacity:.055}a{color:inherit;text-decoration:none}a:hover{color:var(--zhu)}:focus-visible{outline:2px solid var(--zhu);outline-offset:3px}.u-display{font-family:var(--font-display)}.mono{font-family:var(--font-mono)}.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.wrap{max-width:920px;margin:0 auto;padding:0 24px}.site-header{padding-top:6px}.site-header--float{position:absolute;top:0;left:0;right:0;z-index:30;background:0 0}.header-inner{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;padding:18px 0 14px}.site-title{font-family:var(--font-display);font-weight:700;font-size:1.06rem;letter-spacing:.05em}.site-title:hover{color:var(--ink)}.site-nav{margin-left:auto;display:flex;flex-wrap:wrap}.site-nav a{padding:8px 12px;font-size:.95rem;color:var(--ink-soft)}.site-nav a:hover{color:var(--zhu)}.site-nav a.active{color:var(--ink);font-weight:600}#theme-toggle{border:1px solid var(--line);background:0 0;color:var(--ink-soft);width:44px;height:44px;cursor:pointer;font-size:1rem;line-height:1}#theme-toggle:hover{color:var(--zhu);border-color:var(--zhu)}.riverline{height:2px;background:var(--dai)}.hero{position:relative}.hero-plate{position:relative;width:100%;height:min(88vh,56vw);overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;opacity:0;transition:opacity .45s ease}.hero-img[data-state=base]{opacity:1}.hero-plate[data-pose=mid] .hero-img[data-state=mid]{opacity:1}.hero-plate[data-pose=mid] .hero-img[data-state=base]{opacity:0}.hero-plate[data-pose=eyesup] .hero-img[data-state=eyesup]{opacity:1}.hero-plate[data-pose=eyesup] .hero-img[data-state=base]{opacity:0}.hero-plate[data-pose=eyesup] .hero-img[data-state=mid]{opacity:0}.hero-plate[data-pose=pageturn] .hero-img[data-state=pageturn]{opacity:1}.hero-plate[data-pose=pageturn] .hero-img[data-state=base]{opacity:0}.hero-plate[data-pose=pageturn] .hero-img[data-state=mid]{opacity:0}[data-theme=dark] .hero-img[data-theme=day]{visibility:hidden}[data-theme=light] .hero-img[data-theme=night]{visibility:hidden}.hero-text{position:absolute;left:7%;top:20%;z-index:2;max-width:34%}.hero-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(2.4rem,5vw,4rem);line-height:1.32;letter-spacing:.02em}.hero-motto{margin:16px 0 0;color:var(--ink);font-size:1.04rem;letter-spacing:.04em}[data-theme=dark] .hero-motto{color:var(--ink-soft)}.hero-poem{margin:18px 0 0;font-family:var(--font-kai);font-size:1.12rem}.note-ref{color:var(--zhu);font-size:.68em;vertical-align:super;cursor:help}.hero-person svg{display:block;width:100%;height:auto}.hero-bookspot{position:absolute;left:68%;top:55%;width:27%;height:30%;z-index:2;cursor:pointer}.hero-bookspot-tag{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .4s,transform .4s;pointer-events:none;white-space:nowrap;font-family:var(--font-kai);font-size:1.02rem;letter-spacing:.22em;color:var(--ink);text-shadow:0 1px 2px var(--paper),0 0 10px var(--paper),0 0 22px var(--paper)}.hero-bookspot:hover .hero-bookspot-tag,.hero-bookspot:focus-visible .hero-bookspot-tag,.hero-bookspot.risen .hero-bookspot-tag{opacity:1;transform:translate(-50%,-8px)}.ghostspot{position:absolute;z-index:3;display:block;cursor:pointer}.ghostspot[data-ghost=maitan]{left:3%;top:46%;width:27%;height:12%}.ghostspot[data-ghost=guifei]{left:2%;top:58%;width:34%;height:34%}.poem-ghost{position:absolute;inset:0;opacity:0;visibility:hidden;transform:none;pointer-events:none;transition:opacity .4s ease,transform .4s ease,visibility 0s linear .4s}.poem-ghost svg{position:absolute;inset:0;width:100%;height:100%;display:block;filter:blur(.6px);opacity:0;transition:opacity .4s ease}.poem-ghost .gs{fill:var(--ink)}.poem-ghost .gw{fill:none;stroke:var(--ink);stroke-width:5.5;stroke-linecap:round}.poem-ghost .gw-thin{stroke-width:4.5}.ghost-tag{position:absolute;pointer-events:none;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s;font-family:var(--font-kai);font-size:.92rem;letter-spacing:.14em;color:var(--ink);line-height:1.6;text-shadow:0 1px 2px var(--paper),0 0 10px var(--paper),0 0 22px var(--paper)}.ghost-tag .ghost-tag-note{display:block;font-size:.66rem;letter-spacing:.24em;color:var(--ink-soft)}.ghostspot[data-ghost=maitan] .ghost-tag{right:0;bottom:0;line-height:1.45}.ghostspot[data-ghost=guifei] .ghost-tag{left:0;top:0}.ghostspot.risen .poem-ghost{opacity:1;visibility:visible;transform:translateY(-12px);transition:opacity .7s ease,transform .7s ease,visibility 0s}.ghostspot[data-ghost=maitan].risen .poem-ghost{transform:none}.ghostspot.risen .poem-ghost svg{opacity:.9;transition:opacity .7s ease}.ghostspot.risen .ghost-tag{opacity:1;visibility:visible;transition:opacity .7s ease .1s,visibility 0s}.hero{overflow:clip}.hero-plate{transform-origin:82% 78%;transition:transform .7s cubic-bezier(.55,0,.35,1)}.hero-plate[data-zoom=book]{transform:scale(2.1)}.hero-veil{position:fixed;inset:0;z-index:60;background:#2b2823;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease .45s,visibility 0s linear .8s}.hero-plate[data-zoom=book]+.hero-veil{opacity:1;visibility:visible}.site-header,.hero-text{transition:opacity .45s ease}.hero-zooming .site-header,.hero-zooming .hero-text{opacity:0}.hero-zooming .hero-bookspot-tag{opacity:0!important;transition:opacity .2s}.columns{padding:176px 0 6px;background:linear-gradient(180deg,var(--shore) 0,var(--shore) 128px,var(--paper) 288px)}.columns .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.column-title{display:flex;align-items:baseline;gap:9px;margin:0 0 4px;font-family:var(--font-display);font-size:1.14rem;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:10px}.column-title .en{font-family:var(--font-mono);font-weight:400;font-size:.7rem;letter-spacing:.2em;color:var(--ink-soft)}.column-list{list-style:none;margin:0;padding:0}.column-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.95rem}.column-list a{color:var(--ink)}.column-list a:hover{color:var(--zhu)}.column-more{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--ink-soft)}.page-head{padding:46px 0 8px}.page-head h1{margin:0;font-family:var(--font-display);font-size:1.9rem;font-weight:700}.page-desc{margin:8px 0 0;color:var(--ink-soft);font-size:.98rem}.scene-fig{margin:18px 0 6px}.scene-fig .scene-img{display:block;width:100%;height:auto}.scene-fig .scene-night{display:none}[data-theme=dark] .scene-fig .scene-day{display:none}[data-theme=dark] .scene-fig .scene-night{display:block}.entry{padding:16px 0;border-bottom:1px solid var(--line)}.entry-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.entry-title{font-family:var(--font-display);font-weight:600;font-size:1.08rem}.entry-date{margin-left:auto;font-family:var(--font-mono);font-size:.76rem;color:var(--ink-soft);white-space:nowrap}.entry-summary{margin:6px 0 0;font-size:.93rem;color:var(--ink-soft)}.tags{margin-top:6px;display:flex;gap:10px}.tag{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft)}.pager{display:flex;justify-content:space-between;padding:24px 0;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-soft)}.post{max-width:720px;padding:46px 0 8px}.post h1{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.15rem);line-height:1.5}.post-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-family:var(--font-mono);font-size:.76rem;color:var(--ink-soft)}.inkline{position:fixed;top:0;left:0;height:2px;width:0;background:var(--ink);z-index:60}.pipa{padding:30px 0 4px;color:var(--ink)}.pipa-band{position:relative;width:min(78%,432px);margin:0 auto;aspect-ratio:1536/544}.pipa-body{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px calc(100% - 16px),transparent 100%),linear-gradient(180deg,transparent 0,#000 12px calc(100% - 12px),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 16px calc(100% - 16px),transparent 100%),linear-gradient(180deg,transparent 0,#000 12px calc(100% - 12px),transparent 100%);mask-composite:intersect}.pipa .pipa-body-dark{opacity:0}[data-theme=dark] .pipa .pipa-body-light{opacity:0}[data-theme=dark] .pipa .pipa-body-dark{opacity:1}.pipa-strings{position:absolute;inset:0;width:100%;height:100%;display:block}.pipa-caption{margin-top:6px;font-family:var(--font-kai);font-size:.85rem;color:var(--ink);opacity:.72}.post-content{margin-top:18px;font-size:1.04rem;line-height:2.05}.post-content p{margin:0 0 1.15em}.post-content h2{margin:2.2em 0 1em;padding-bottom:.3em;border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:1.28rem}.post-content h3{margin:1.8em 0 .8em;font-family:var(--font-display);font-size:1.1rem}.post-content blockquote{margin:1.4em 0;padding:.1em 1.1em;border-left:2px solid var(--zhu);font-family:var(--font-kai);color:var(--ink-soft)}.post-content img{max-width:100%;display:block}.post-content :not(pre)>code{font-family:var(--font-mono);font-size:.85em;background:var(--line);padding:.12em .4em}.post-content pre{background:#26241f;color:#ede7d6;border:1px solid var(--line);border-radius:0;padding:16px 18px;overflow-x:auto;line-height:1.7}.post-content pre code{font-family:var(--font-mono);background:0 0;padding:0}.post-content table{border-collapse:collapse;width:100%;font-size:.92rem;margin:1.2em 0}.post-content th,.post-content td{border:1px solid var(--line);padding:7px 12px;text-align:left}.post-content th{background:rgba(0,0,0,3%)}[data-theme=dark] .post-content th{background:rgba(255,255,255,4%)}.post-content hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.footnotes{border-top:1px solid var(--line);margin-top:2.6em;padding-top:1em;font-size:.88rem;color:var(--ink-soft)}.footnotes a{color:var(--zhu)}.figure{margin:1.7em 0}.figure svg,.figure img{display:block;width:100%;height:auto}.figure-caption{margin-top:8px;font-size:.82rem;color:var(--ink-soft)}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:46px;padding-top:18px;border-top:1px solid var(--line)}.post-nav a{display:flex;flex-direction:column;gap:2px;font-size:.95rem}.post-nav .dir{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;color:var(--ink-soft)}.post-nav .next{text-align:right}.dl{display:flex;align-items:center;gap:16px;border:1px solid var(--line);padding:12px 16px;margin:1.4em 0}.dl-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;color:var(--ink-soft)}.dl code{margin-right:auto;font-size:.9rem}.dl .u-btn{margin-top:0}.site-footer{margin-top:56px;border-top:1px solid var(--line);padding:16px 0 30px}.footer-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footer-stove{position:relative;width:64px;height:64px;border:0;background:0 0;padding:0;cursor:pointer;line-height:0;flex:none}.footer-stove:hover{opacity:.8}.footer-stove img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .3s ease;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side,#000 62%,transparent 100%)}.footer-stove[data-stove-state=idle] .stove-day{opacity:1}.footer-stove[data-stove-state=poured] .stove-poured{opacity:1}[data-theme=dark] .footer-stove[data-stove-state=idle] .stove-day{opacity:0}[data-theme=dark] .footer-stove .stove-night{opacity:1}[data-theme=dark] .footer-stove[data-stove-state=poured] .stove-poured{opacity:0}.stove-hint{font-family:var(--font-kai);font-size:.95rem;color:var(--ink-soft)}.copyright{margin:0 0 0 auto;font-family:var(--font-mono);font-size:.74rem;color:var(--ink-soft)}.notfound{padding:96px 0;text-align:center;overflow-x:clip}.notfound .poem{margin:0;font-family:var(--font-kai);font-size:1.3rem;line-height:2}.notfound .hint{margin:10px 0 0;color:var(--ink-soft);font-size:.95rem}.u-btn{display:inline-block;margin-top:24px;padding:11px 26px;min-height:44px;border:1px solid var(--ink);background:0 0;color:var(--ink);font-family:var(--font-display);font-size:.95rem;letter-spacing:.1em;cursor:pointer}.u-btn:hover{background:var(--ink);color:var(--paper)}.notfound .hero-person{max-width:240px;margin:0 auto 20px}@media(max-width:720px){.site-header--float{position:static}.hero{padding-top:12px}.hero-text{position:static;max-width:none;margin:0 0 14px;padding:0 24px}.hero-plate{height:72vw}.columns{padding:96px 0 6px;background:linear-gradient(180deg,var(--shore) 0,var(--shore) 72px,var(--paper) 168px)}.columns .wrap{grid-template-columns:1fr;gap:26px}.post-nav{grid-template-columns:1fr}.post-nav .next{text-align:left}}.riverline{position:relative}.riverline[data-river-state=dusk]{background:linear-gradient(90deg,var(--dai) 0 50%,var(--zhu) 50% 100%)}.riverline[data-river-state=night]{background:#46606b}.river-moon{position:absolute;right:40px;top:-10px;width:15px;height:15px;opacity:0;transition:opacity .6s}.river-dew{position:absolute;right:18px;top:-3px;width:5px;height:5px;border-radius:50%;background:var(--zhu);opacity:0;transition:opacity .6s}.riverline[data-river-state=night] .river-moon,.riverline[data-river-state=night] .river-dew{opacity:1}.sky{position:absolute;top:0;left:0;width:100%;height:0;pointer-events:none}.sky-cloud{position:absolute;top:18px;right:8%;width:84px;opacity:.5;animation:drift 90s linear infinite}[data-weather=cloud] .sky-cloud{opacity:.9}@keyframes drift{from{transform:translateX(40px)}to{transform:translateX(-420px)}}.sky-rain span,.sky-snow span{position:absolute;top:-20px;animation-delay:0s}.sky-rain span{width:1px;height:16px;background:var(--dai);animation:fall 1.8s linear infinite}.sky-snow span{width:5px;height:5px;background:#f6f1e4;animation:fall 9.5s linear infinite}.sky-rain span:nth-child(2n){animation-delay:.4s}.sky-rain span:nth-child(3n){animation-delay:.7s}.sky-snow span:nth-child(2n){animation-delay:1.6s}.sky-snow span:nth-child(3n){animation-delay:3s}@keyframes fall{from{transform:translateY(0)}to{transform:translateY(1e3px)}}[data-weather=rain] .sky-rain{display:block}[data-weather=rain] .sky-rain span{left:calc(4% + var(--i)*11.5%)}[data-weather=snow] .sky-snow{display:block}[data-weather=snow] .sky-snow span{left:calc(3% + var(--i)*12%)}.sky-rain,.sky-snow{display:none;position:absolute;top:0;right:0;width:100%;height:100%;overflow:hidden}.world{position:relative}.world-plate{position:relative;width:100%;aspect-ratio:3/2;max-height:82vh;min-height:340px;overflow:hidden}.world-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.world-back{position:absolute;left:22px;top:18px;z-index:5;color:#f2ede0;font-size:.8rem;letter-spacing:.14em;text-shadow:0 1px 8px rgba(12,18,28,.7)}.world-back:hover{color:var(--he)}.world-title{position:absolute;left:7%;top:13%;z-index:4;margin:0;color:#f2ede0;font-size:clamp(2rem,5vw,3.3rem);font-weight:700;letter-spacing:.14em;text-shadow:0 2px 18px rgba(10,16,26,.55)}.world-poem{position:absolute;top:0;right:0;bottom:0;z-index:3;writing-mode:vertical-rl;padding:7% 2.8% 5% 0;color:#f2ede0;font-family:var(--font-kai);font-size:clamp(.98rem,1.5vw,1.18rem);line-height:2;letter-spacing:.3em;text-shadow:0 1px 12px rgba(12,18,28,.85),0 0 2px rgba(12,18,28,.6)}.world-poem p{margin:0;margin-block-end:1.7em}.world-poem .world-poem-sign{margin-block-end:0;font-size:.72em;opacity:.78;letter-spacing:.42em}.world-glitter{position:absolute;inset:0;z-index:1;pointer-events:none}.world-glitter svg{display:block;width:100%;height:100%}.world-glitter .gl{transform-box:fill-box;transform-origin:center;animation:shimmer var(--d,4s)ease-in-out var(--t,0s)infinite alternate}@keyframes shimmer{from{opacity:var(--o1,.12);transform:skewX(var(--skx,-8deg))translateY(0)}to{opacity:var(--o2,.4);transform:skewX(var(--skx,-8deg))translateY(var(--dy,3px))}}.world-boat{position:absolute;left:8%;top:44%;width:44%;z-index:2;pointer-events:none;opacity:0;transform:translateY(12px);transition:opacity 1.6s ease,transform 1.6s ease}.world[data-nv=on] .world-boat{opacity:1;transform:none}.world-boat-inner{position:relative}.world[data-nv=on] .world-boat-inner{animation:boatdrift 9s ease-in-out infinite alternate}@keyframes boatdrift{from{transform:translate(-5px,-3px)rotate(-.3deg)}to{transform:translate(5px,3px)rotate(.3deg)}}.world-boat-img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 56px),transparent),linear-gradient(180deg,transparent 18%,#000 27%,#000 70%,transparent 82%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 56px),transparent),linear-gradient(180deg,transparent 18%,#000 27%,#000 70%,transparent 82%);mask-composite:intersect}.world-boat-reflect{position:absolute;left:0;top:80%;width:100%;pointer-events:none;opacity:.18;filter:blur(2px);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 70%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 70%)}.world-boat-reflect .world-boat-img{transform:scaleY(-1)}.world-lantern{position:absolute;left:44%;top:29%;width:13%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#D8752F,rgba(216,117,47,.5) 45%,transparent 72%);filter:blur(10px);opacity:.25;mix-blend-mode:screen;animation:lantern 3.4s ease-in-out infinite}@keyframes lantern{0%,100%{opacity:.18}23%{opacity:.3}41%{opacity:.21}58%{opacity:.32}76%{opacity:.24}}.pipa-captions{display:grid}.pipa-captions .pipa-caption{grid-area:1/1}.world-pipa .pipa-captions .pipa-caption-b{opacity:0;transition:opacity .8s ease .3s}.world[data-nv=on] .pipa-caption-a{opacity:0;transition:opacity .5s ease}.world[data-nv=on] .pipa-caption-b{opacity:.62}@media(prefers-reduced-motion:reduce){.world-glitter .gl,.world-lantern{animation:none}.world[data-nv=on] .world-boat-inner{animation:none}.world-boat{opacity:1;transform:none}.world-pipa .pipa-captions .pipa-caption-a{display:none}.world-pipa .pipa-captions .pipa-caption-b{opacity:.62;transition:none}}.world-pipa{z-index:4;background:rgba(17,22,29,.92);color:#cdc4b1}.world-pipa .pipa{padding:14px 22px 4px;color:#cdc4b1}.world-pipa .pipa-band{width:min(54%,432px);margin:0}.world-pipa .pipa-caption{color:#cdc4b1;opacity:.62}@media(min-width:721px){.world-pipa{position:absolute;left:0;right:0;bottom:0}}@media(max-width:720px){.world-poem{position:static;writing-mode:horizontal-tb;padding:24px 24px 6px;background:0 0;text-shadow:none;color:var(--ink);font-size:.95rem;letter-spacing:.05em;border-left:2px solid var(--zhu)}.world-poem p{margin:0 0 .5em}.world-poem .world-poem-sign{margin-top:2px;color:var(--ink-soft)}.world-pipa .pipa-band{width:78%}}.world-notes{border-top:1px solid var(--line);background:var(--paper);padding:26px 0 10px}.world-notes-head{margin:0 0 12px;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.3em}.world-notes-list{list-style:none;margin:0;padding:0;font-family:var(--font-kai);font-size:.95rem;line-height:2.1;color:var(--ink-soft)}.world-notes-list li{padding:4px 0}.world-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;padding:28px 0 8px}.world-card{display:block;border:1px solid var(--line);padding:22px 24px;transition:border-color .25s}.world-card:hover{border-color:var(--zhu)}.world-card-title{margin:0;font-size:1.3rem;font-weight:700}.world-card-desc{margin:8px 0 14px;color:var(--ink-soft);font-size:.93rem}.world-card-go{font-size:.76rem;letter-spacing:.14em;color:var(--ink-soft)}.world-card:hover .world-card-go{color:var(--zhu)}@media(max-width:720px){.world-grid{grid-template-columns:1fr}}.notfound{position:relative;padding-bottom:160px}.notfound>*:not(.ribbon){position:relative;z-index:1}.ribbon{position:absolute;left:-6%;right:-6%;bottom:-8px;z-index:0;pointer-events:none}.ribbon svg{display:block;width:100%;height:190px}.ribbon path{fill:var(--ink);filter:blur(6px);opacity:.18;transform-box:fill-box;transform-origin:50% 100%;animation:ribbonsway 12s ease-in-out infinite alternate}.ribbon path:nth-child(2){animation-delay:-4s}.ribbon path:nth-child(3){animation-delay:-8s}@keyframes ribbonsway{from{transform:translateX(-16px)rotate(-1.6deg)}to{transform:translateX(16px)rotate(1.6deg)}}@media(prefers-reduced-motion:reduce){.ribbon path{animation:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.hero-img{transition:none}}.person .lid{transform:scaleY(0);transform-origin:center 112px;transition:transform .12s}.person.sleepy .lid{transform:scaleY(.55)}.person.blink .lid{transform:scaleY(1)}.stove-toast{position:absolute;bottom:64px;left:24px;background:var(--paper);border:1px solid var(--line);padding:6px 14px;font-family:var(--font-kai);font-size:.9rem;opacity:0;transform:translateY(6px);transition:.4s;pointer-events:none}.stove-toast.on{opacity:1;transform:none}.site-footer{position:relative}.js [data-reveal]{opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.js [data-reveal].risen{opacity:1;transform:none}.note-card{position:fixed;z-index:80;max-width:250px;background:var(--paper);border:1px solid var(--ink);padding:10px 14px;font-size:.85rem;line-height:1.8;color:var(--ink);opacity:0;transform:translateY(4px);transition:.25s;pointer-events:none}.note-card.on{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none}}.pipa-string,.pipa-hit{cursor:pointer}html:not(.js) .pipa-hit{display:none}.pipa-string.plucked{stroke:var(--zhu)}.bead{pointer-events:none;fill:var(--zhu)}.bead.b1{fill:var(--he)}.pipa-count{fill:var(--zhu);opacity:.18;pointer-events:none;transition:opacity .3s ease}.pipa-count.lit{opacity:.9}