:root{--rice:#f4f1ea;--moon:#f7f5f0;--accent:#7a92a8;--accent-hover:#5f7a91;--ink-green:#2b2b2b;--night:#3d4f5c;--gold:#b89b5e;--ink-gray:#2b2b2b;--mist:#d5d2cb;--dai:#8a9aa8;--ink-wash:#6e7a82;--vermilion:var(--accent-hover);--paper:#f7f5f0b8;--font-zh:"Noto Serif SC", "Songti SC", serif;--font-en:"Cormorant Garamond", Georgia, serif;--font-ui:"Source Sans 3", "Noto Serif SC", sans-serif;--max:1080px;--header-h:4.5rem;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.9s;--duration-slow:1.2s}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink-gray);background:var(--rice);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;cursor:none;margin:0;font-size:1rem;line-height:1.75}body.is-loading{overflow:hidden}a,button{cursor:none}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:0 0;border:none}h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.3}p{margin:0}ul{margin:0;padding:0;list-style:none}#root{min-height:100vh}.site{isolation:isolate;flex-direction:column;min-height:100vh;display:flex;position:relative}.site-main{z-index:1;flex:1;position:relative}.container{width:min(100% - 2.5rem, var(--max));margin-inline:auto}.atmosphere{z-index:0;pointer-events:none;background:#eef0f2;position:fixed;inset:0;overflow:hidden}.atmosphere__sky{background:radial-gradient(70% 55% at 78% 12%,#ffffffb8,#0000 58%),radial-gradient(50% 40% at 18% 8%,#bac6d247,#0000 60%),linear-gradient(#e8ecf0 0%,#eef0f1 28%,#f3f1ec 58%,#ebe7df 100%);position:absolute;inset:0}.atmosphere__moon{opacity:.72;filter:blur(.2px);width:clamp(11rem,24vw,18rem);height:clamp(11rem,24vw,18rem);transition:transform var(--duration-slow) var(--ease);background:radial-gradient(circle at 38% 34%,#fff 0%,#f4f2ed 28%,#e4e8ec 58%,#a8b4c059 78%,#0000 82%);border-radius:50%;position:absolute;top:4%;right:10%;box-shadow:0 0 60px #ffffff8c,0 0 140px #bac6d259,0 0 220px #8ca0b42e}.atmosphere__halo{width:clamp(18rem,38vw,30rem);height:clamp(18rem,38vw,30rem);animation:halo-breathe 14s var(--ease) infinite alternate;background:radial-gradient(circle,#ffffff59 0%,#d2dae224 40%,#0000 70%);border-radius:50%;position:absolute;top:-2%;right:4%}.atmosphere__mist{transition:transform var(--duration-slow) var(--ease);position:absolute;inset:0}.atmosphere__mist--far{opacity:.85;filter:blur(8px);background:radial-gradient(48% 18% at 22% 42%,#ffffff8c,#0000 72%),radial-gradient(40% 16% at 70% 38%,#e8ecf080,#0000 70%),radial-gradient(55% 20% at 48% 52%,#c8d0d847,#0000 72%);animation:55s linear infinite alternate mist-drift-a}.atmosphere__mist--near{opacity:.9;filter:blur(12px);background:radial-gradient(42% 16% at 30% 68%,#ffffff73,#0000 70%),radial-gradient(50% 18% at 78% 74%,#eceef066,#0000 72%),linear-gradient(#0000 40%,#eef0f259 100%);animation:40s linear infinite alternate mist-drift-b}.atmosphere__sea{opacity:.75;filter:blur(2px);height:58%;transition:transform var(--duration-slow) var(--ease);background:linear-gradient(#0000 0%,#bac6d21f 30%,#aab6c238 100%),radial-gradient(80% 40% at 50% 80%,#ffffff59,#0000 70%);position:absolute;inset:auto 0 0}.atmosphere__cliffs{opacity:.22;filter:blur(.4px);height:46%;transition:transform var(--duration-slow) var(--ease);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 480' preserveAspectRatio='none'%3E%3Cpath fill='%236E7A82' opacity='.35' d='M0 480V290c90-50 170-130 280-120 100 8 150 80 250 70 130-12 190-120 320-130 140-10 220 85 340 95 100 8 160-40 250-20v195H0z'/%3E%3Cpath fill='%235C6870' opacity='.55' d='M0 480V340c100-40 190-100 300-88 120 12 170 90 290 78 150-14 220-110 350-100 120 8 180 70 280 78 90 8 140-25 220-10v102H0z'/%3E%3Cpath fill='%234A555C' d='M0 480V390c80-25 150-55 240-48 110 8 160 55 270 48 140-8 200-70 320-62 110 6 170 42 250 48 80 5 140-12 200-4v58H0z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;position:absolute;inset:auto 0 0}.atmosphere__cranes{opacity:.14;width:min(28vw,220px);height:90px;animation:crane-drift 28s var(--ease) infinite alternate;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 80' fill='none'%3E%3Cpath stroke='%235C6870' stroke-width='1.2' d='M20 48c8-10 18-16 28-14 6 1 10 6 8 12M48 46c12-18 28-26 44-18 8 4 10 12 6 18M96 40c10-14 24-20 38-12 7 4 9 11 5 16'/%3E%3Cpath stroke='%236E7A82' stroke-width='1' d='M130 28c8-10 16-14 26-10 5 2 7 8 4 12'/%3E%3C/svg%3E") 50%/contain no-repeat;position:absolute;inset:18% 18% auto auto}.atmosphere__veil{background:linear-gradient(#eef0f226 0%,#0000 25% 55%,#ebe7df73 100%),radial-gradient(90% 60% at 50% 100%,#c8d0d833,#0000 60%);position:absolute;inset:0}.atmosphere__dust{opacity:.28;background-image:radial-gradient(circle at 18% 28%,#ffffffb3 0 1.2px,#0000 2px),radial-gradient(circle at 62% 40%,#bac6d28c 0 1px,#0000 1.8px),radial-gradient(circle at 40% 68%,#6e7a8238 0 1px,#0000 1.6px),radial-gradient(circle at 82% 22%,#ffffff80 0 1px,#0000 1.8px);background-size:200px 200px,260px 260px,170px 170px,220px 220px;animation:42s linear infinite dust-float;position:absolute;inset:0}.atmosphere__grain{opacity:.035;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.ink-cursor{background:var(--accent);pointer-events:none;z-index:9999;width:8px;height:8px;transition:width .45s var(--ease), height .45s var(--ease), background .45s var(--ease), opacity .45s var(--ease);mix-blend-mode:multiply;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.ink-cursor.is-hover{border:1px solid var(--accent);background:0 0;width:28px;height:28px}.ink-cursor.is-hidden{opacity:0}@media (pointer:coarse){body,a,button{cursor:auto}.ink-cursor{display:none}}.loading-screen{z-index:10000;background:var(--night);color:var(--moon);transition:opacity var(--duration-slow) var(--ease), visibility var(--duration-slow) var(--ease);place-items:center;display:grid;position:fixed;inset:0}.loading-screen.is-done{opacity:0;visibility:hidden;pointer-events:none}.loading-screen__poem{font-family:var(--font-zh);letter-spacing:.22em;text-align:center;max-width:28rem;font-size:clamp(1.15rem,3vw,1.55rem);line-height:2.2}.loading-screen__char{opacity:0;animation:char-write .55s var(--ease) forwards;display:inline-block}.site-header{z-index:50;height:var(--header-h);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease);background:#eef0f29e;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-scrolled{background:#f7f5f0d1;border-bottom-color:#bac6d273}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;height:100%;display:flex}.brand-group{z-index:60;align-items:center;gap:.85rem;min-width:0;display:flex}.brand{align-items:baseline;gap:.7rem;display:flex}.brand__mark{font-family:var(--font-zh);letter-spacing:.22em;color:var(--accent);font-size:1.55rem}.brand__en{font-family:var(--font-en);color:#2b2b2b9e;letter-spacing:.04em;font-size:1rem;font-style:italic}.brand-parent{opacity:.88;transition:opacity .4s var(--ease);border-left:1px solid #6e7a8240;flex-shrink:0;align-items:center;margin-left:.15rem;padding:.15rem .35rem;display:inline-flex}.brand-parent:hover{opacity:1}.brand-parent__logo{object-fit:contain;border-radius:.2rem;width:auto;max-width:5.5rem;height:1.65rem;display:block}.nav{align-items:flex-end;gap:1.6rem;display:flex}.nav-link{color:#2b2b2bad;transition:color var(--duration) var(--ease);flex-direction:column;align-items:center;gap:.15rem;padding-bottom:.35rem;display:flex;position:relative}.nav-link__en{font-family:var(--font-en);letter-spacing:.04em;font-size:.95rem;font-style:italic}.nav-link__zh{font-family:var(--font-zh);letter-spacing:.18em;color:#88abdad9;font-size:.72rem}.nav-link:after{content:"";background:linear-gradient(90deg, transparent, var(--gold) 18%, var(--gold) 82%, transparent);opacity:0;filter:blur(.2px);height:2px;transition:transform var(--duration) var(--ease), opacity var(--duration) var(--ease);border-radius:999px;position:absolute;bottom:0;left:10%;right:10%;transform:scaleX(.15)}.nav-link:hover,.nav-link.is-active{color:var(--ink-gray)}.nav-link:hover .nav-link__zh,.nav-link.is-active .nav-link__zh{color:var(--accent-hover)}.nav-link:hover:after,.nav-link.is-active:after{opacity:1;transform:scaleX(1)}.nav-toggle{z-index:60;place-items:center;width:2.5rem;height:2.5rem;display:none}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{background:var(--ink-gray);width:1.15rem;height:1.5px;transition:transform .55s var(--ease), opacity .55s var(--ease);display:block}.nav-toggle span{position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0}.nav-toggle span:before{top:-6px}.nav-toggle span:after{top:6px}.nav-toggle.is-open span{background:0 0}.nav-toggle.is-open span:before{top:0;transform:rotate(45deg)}.nav-toggle.is-open span:after{top:0;transform:rotate(-45deg)}.site-footer{z-index:1;margin-top:6rem;padding:3rem 0 2.5rem;position:relative}.site-footer__rule{background:linear-gradient(90deg, transparent, var(--mist), transparent);transform-origin:50%;width:min(100%,28rem);height:1px;animation:stroke-draw 1.4s var(--ease) both;margin:0 auto 1.75rem}.site-footer__poem{font-family:var(--font-zh);text-align:center;letter-spacing:.28em;color:#2b2b2bb8;margin-bottom:1.5rem;line-height:2.1}.site-footer__branding{flex-direction:column;align-items:center;gap:.55rem;margin-bottom:1.25rem;display:flex}.site-footer__logo{object-fit:contain;opacity:.92;border-radius:.3rem;width:auto;max-width:8.5rem;height:2.6rem}.site-footer__belong{font-family:var(--font-en);color:#2b2b2b8c;letter-spacing:.04em;font-size:.92rem;font-style:italic}.site-footer__meta{font-family:var(--font-en);color:#2b2b2b8c;flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem;font-size:.95rem;font-style:italic;display:flex}.btn{border:1px solid var(--accent);min-height:2.85rem;font-family:var(--font-en);letter-spacing:.04em;color:var(--accent-hover);isolation:isolate;transition:color var(--duration) var(--ease), border-color var(--duration) var(--ease);justify-content:center;align-items:center;padding:.7rem 1.45rem;font-size:1.05rem;font-style:italic;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--accent-hover);transform-origin:0;transition:transform var(--duration) var(--ease);position:absolute;inset:0;transform:scaleX(0)}.btn:hover{color:var(--moon);border-color:var(--accent-hover)}.btn:hover:before{transform:scaleX(1)}.btn--ghost{color:var(--moon);border-color:#fbfaf773}.btn--ghost:before{background:#fbfaf729}.btn--ghost:hover{color:var(--moon);border-color:var(--moon)}.btn--gold{border-color:var(--gold);color:var(--ink-gray)}.btn--gold:before{background:var(--gold)}.btn--gold:hover{color:#fff}.mist-reveal{opacity:0;filter:blur(10px);transition:opacity var(--duration-slow) var(--ease), filter var(--duration-slow) var(--ease), transform var(--duration-slow) var(--ease);transform:scale(.98)translateY(.75rem)}.mist-reveal.is-in{opacity:1;filter:blur();transform:scale(1)translateY(0)}.hero{min-height:calc(100svh - var(--header-h));align-items:center;padding:4rem 0 5rem;display:grid;position:relative}.hero__content{max-width:38rem}.hero__poem{font-family:var(--font-zh);letter-spacing:.28em;color:var(--ink-green);margin-bottom:1.25rem;font-size:clamp(2.4rem,7vw,4.2rem);line-height:1.35}.hero__line{font-family:var(--font-en);color:#2b2b2bc7;margin-bottom:1.25rem;font-size:clamp(1.25rem,2.5vw,1.7rem);font-style:italic}.hero__lead{font-family:var(--font-zh);white-space:pre-line;color:#2b2b2bb8;max-width:28rem;margin-bottom:2rem;line-height:2}.hero__actions{flex-wrap:wrap;gap:.9rem;display:flex}.hero__door{font-family:var(--font-en);color:#2b2b2b73;letter-spacing:.08em;margin-top:3rem;font-size:.95rem;font-style:italic}.section{z-index:1;padding:5.5rem 0;position:relative}.section__head{max-width:34rem;margin-bottom:2.5rem}.section__en{font-family:var(--font-en);color:var(--accent);letter-spacing:.06em;margin-bottom:.55rem;font-size:1.05rem;font-style:italic}.section__title{font-family:var(--font-zh);letter-spacing:.22em;color:var(--ink-green);margin-bottom:1rem;font-size:clamp(2rem,4vw,2.75rem)}.section__rule{background:linear-gradient(90deg, var(--gold), transparent);width:5.5rem;height:1px;margin:0 0 1.25rem}.section__verse{font-family:var(--font-zh);white-space:pre-line;letter-spacing:.12em;color:#2b2b2bc7;margin-bottom:.75rem;line-height:2}.section__desc{font-family:var(--font-en);color:#2b2b2b9e;font-style:italic}.shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.shelf-item{transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease), background var(--duration) var(--ease);background:#fbfaf78c;border:1px solid #0000;padding:1.75rem 1.5rem;display:block}.shelf-item:hover{border-color:#dad5cce6;border-left-color:var(--gold);background:#fbfaf7eb;transform:translateY(-3px);box-shadow:0 18px 40px #6d94c814}.shelf-item__poetic{font-family:var(--font-zh);letter-spacing:.2em;color:var(--ink-green);margin-bottom:.35rem;font-size:1.35rem}.shelf-item__label{font-family:var(--font-en);color:#2b2b2b9e;margin-bottom:.85rem;font-style:italic}.shelf-item__desc{color:#2b2b2bb3;font-size:.95rem;line-height:1.7}.note-list{gap:1.75rem;display:grid}.note-card{border-bottom:1px solid #dad5cccc;max-width:36rem;padding:1.5rem 0}.note-card__title{font-family:var(--font-zh);letter-spacing:.12em;margin-bottom:.35rem;font-size:1.35rem}.note-card__en{font-family:var(--font-en);color:var(--gold);margin-bottom:.85rem;font-style:italic}.note-card__body{color:#2b2b2bb8;white-space:pre-line;line-height:1.9}.scroll-list{gap:1.5rem;display:grid}.scroll-item{clip-path:inset(8% 0);transition:clip-path var(--duration-slow) var(--ease), transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:linear-gradient(#fbfaf759,#fbfaf7d1);border:1px solid #dad5ccb3;gap:.65rem;padding:1.75rem 1.5rem 1.9rem;display:grid;position:relative}.scroll-item:before,.scroll-item:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.35;height:3px;position:absolute;left:8%;right:8%}.scroll-item:before{top:.55rem}.scroll-item:after{bottom:.55rem}.scroll-item:hover{clip-path:inset(0);transform:translateY(-2px);box-shadow:0 16px 36px #6d94c814}.scroll-item__poetic{font-family:var(--font-zh);letter-spacing:.2em;color:var(--ink-green)}.scroll-item__title{font-family:var(--font-en);font-size:1.35rem;font-style:italic}.scroll-item__desc{color:#2b2b2bb3}.scroll-item__link{font-family:var(--font-en);color:var(--accent-hover);letter-spacing:.04em;margin-top:.35rem;font-style:italic}.scroll-item--featured .scroll-item__desc{max-width:40rem;line-height:1.85}.page-hero{padding:4rem 0 2.5rem}.page-hero__crumb{font-family:var(--font-en);color:#2b2b2b80;margin-bottom:1rem;font-size:.95rem;font-style:italic}.page-hero__crumb a:hover{color:var(--gold)}.page-hero__en{font-family:var(--font-en);color:var(--accent);margin-bottom:.45rem;font-style:italic}.page-hero__title{font-family:var(--font-zh);letter-spacing:.22em;color:var(--ink-green);margin-bottom:1rem;font-size:clamp(2.1rem,5vw,3rem)}.page-hero__lead{max-width:34rem;font-family:var(--font-en);color:#2b2b2bb3;font-style:italic;line-height:1.9}.page-panel{padding:1rem 0 4rem}.book-list{gap:3rem;display:grid}.book-label{max-width:40rem;padding:.5rem 0 2rem}.book-label__zh{font-family:var(--font-zh);letter-spacing:.14em;color:var(--ink-green);margin-bottom:.55rem;font-size:clamp(1.5rem,3vw,2rem)}.book-label__title{font-family:var(--font-en);margin-bottom:.45rem;font-size:1.35rem;font-style:italic}.book-label__author{font-family:var(--font-zh);letter-spacing:.12em;color:#2b2b2ba6;margin-bottom:1.25rem}.book-label__rule{background:linear-gradient(90deg, var(--mist), transparent);width:100%;max-width:18rem;height:1px;margin-bottom:1.25rem}.book-label__quote{font-family:var(--font-en);color:#2b2b2bd9;margin-bottom:1rem;font-size:1.2rem;font-style:italic;line-height:1.7}.book-label__note{font-family:var(--font-zh);letter-spacing:.18em;color:var(--gold);margin-bottom:.65rem}.book-label__intro{color:#2b2b2bbf;margin-bottom:1.5rem;line-height:1.9}.poem-list{gap:4rem;max-width:36rem;display:grid}.poem-card{padding-bottom:.5rem}.poem-card__poet{font-family:var(--font-en);letter-spacing:.06em;color:var(--gold);margin-bottom:.65rem;font-size:.95rem;font-style:italic}.poem-card__title-zh{font-family:var(--font-zh);letter-spacing:.28em;color:#1f3b35;margin-bottom:.35rem;font-size:clamp(1.55rem,3vw,2rem)}.poem-card__title-en{font-family:var(--font-en);color:#2b2b2b94;margin-bottom:1.15rem;font-size:1.15rem;font-style:italic}.poem-card__rule{background:linear-gradient(90deg, var(--gold), transparent);width:100%;max-width:14rem;height:1px;margin-bottom:1.35rem}.poem-card__rule--short{max-width:5.5rem;margin-top:1.5rem;margin-bottom:1rem}.poem-card__verse{margin-bottom:1rem}.poem-card__verse p{margin:0;line-height:2.05}.poem-card__verse--zh{font-family:var(--font-zh);letter-spacing:.16em;color:#1f3b35;font-size:1.12rem}.poem-card__verse--en{font-family:var(--font-en);color:#2b2b2bad;font-size:1.08rem;font-style:italic}.poem-card__label{font-family:var(--font-zh);letter-spacing:.2em;color:var(--gold);margin-bottom:.65rem;font-size:.88rem}.poem-card__note-zh{font-family:var(--font-zh);letter-spacing:.06em;color:#1f3b35e0;margin-bottom:.55rem;line-height:1.95}.poem-card__note-en{font-family:var(--font-en);color:#2b2b2b9e;font-style:italic;line-height:1.85}.about-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:2.5rem;display:grid}.about-poem{font-family:var(--font-zh);white-space:pre-line;letter-spacing:.14em;color:#2b2b2be0;font-size:1.08rem;line-height:2.15}.about-portrait{aspect-ratio:3/4;filter:grayscale()contrast(1.05);background:linear-gradient(#dad5cc59,#6d94c82e),radial-gradient(circle at 50% 35%,#fbfaf780,#0000 55%);border:1px solid #dad5cce6;place-items:end start;padding:1.25rem;display:grid}.about-portrait span{font-family:var(--font-en);color:#2b2b2b8c;font-style:italic}.contact-lead{font-family:var(--font-zh);letter-spacing:.22em;color:var(--ink-green);margin-bottom:2rem;font-size:1.35rem}.seal-list{flex-wrap:wrap;gap:1.25rem;display:flex}.seal{text-align:center;border:2px solid var(--accent);width:7.5rem;height:7.5rem;color:var(--accent-hover);transition:color var(--duration) var(--ease), border-color var(--duration) var(--ease), background var(--duration) var(--ease), transform var(--duration) var(--ease);background:#fbfaf880;border-radius:.35rem;place-items:center;display:grid;transform:rotate(-2deg)}.seal:nth-child(2n){transform:rotate(2deg)}.seal:hover{color:var(--accent-hover);border-color:var(--accent-hover);background:#6d94c81a;transform:rotate(0)translateY(-2px)}.seal__label{font-family:var(--font-zh);letter-spacing:.18em;font-size:1.05rem}.seal__note{font-family:var(--font-en);opacity:.7;margin-top:.35rem;font-size:.85rem;font-style:italic}.placeholder{max-width:34rem;padding:2rem 0}.placeholder__title{font-family:var(--font-zh);letter-spacing:.18em;color:var(--ink-green);margin-bottom:.75rem}.placeholder__text{font-family:var(--font-en);color:#2b2b2bad;font-style:italic;line-height:1.9}.not-found{min-height:calc(100svh - var(--header-h) - 10rem);text-align:center;place-items:center;padding:4rem 1.25rem;display:grid}.not-found__title{font-family:var(--font-zh);letter-spacing:.28em;color:var(--ink-green);margin-bottom:1.25rem;font-size:clamp(1.8rem,4vw,2.6rem)}.not-found__body{font-family:var(--font-zh);letter-spacing:.12em;color:#2b2b2bb8;white-space:pre-line;margin-bottom:2rem;line-height:2.1}@keyframes mist-drift-a{0%{transform:translate(-2%)}to{transform:translate(2.5%)}}@keyframes mist-drift-b{0%{transform:translate(1.5%)}to{transform:translate(-2%)}}@keyframes halo-breathe{0%{opacity:.55;transform:scale(1)}to{opacity:.85;transform:scale(1.04)}}@keyframes crane-drift{0%{transform:translate(-4%,6%)}to{transform:translate(6%,-4%)}}@keyframes dust-float{0%{background-position:0 0,40px 20px,10px 60px,80px 10px}to{background-position:40px 30px,0 60px,50px 0,20px 70px}}@keyframes char-write{0%{opacity:0;filter:blur(4px);transform:translateY(.35em)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes stroke-draw{0%{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}@media (width<=900px){.shelf-grid,.about-grid{grid-template-columns:1fr}}@media (width<=760px){.nav-toggle{display:grid}.nav{opacity:0;pointer-events:none;transition:opacity .7s var(--ease);background:#eef0f2f5;flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;position:fixed;inset:0}.nav.is-open{opacity:1;pointer-events:auto}.nav-link__en{font-size:1.45rem}.nav-link__zh{font-size:.9rem}.brand__en{display:none}.brand-parent__logo{max-width:4.5rem;height:1.4rem}.hero{padding-top:3rem}}.journal{--j-paper:#f3efe5;--j-ink:#17352d;--j-deep:#102820;--j-gold:#b4965a;--j-muted:#77756b;--j-line:#17352d26;z-index:1;min-height:calc(100svh - var(--header-h));color:var(--j-ink);padding:1.5rem 0 5rem;position:relative}.journal:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#f3efe58c,#0000 40%);position:absolute;inset:0}.journal-nav{border-bottom:1px solid var(--j-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin-bottom:.5rem;padding:.75rem 0 1.5rem;display:flex}.journal-nav__brand{font-family:var(--font-en);color:var(--j-muted);font-size:1.05rem;font-style:italic}.journal-nav__links{flex-wrap:wrap;gap:1.5rem;display:flex}.journal-nav__link{font-family:var(--font-en);color:var(--j-muted);transition:color .4s var(--ease);padding-bottom:.35rem;font-size:1rem;font-style:italic;position:relative}.journal-nav__link:after{content:"";background:var(--j-gold);width:0;height:1px;transition:width .3s var(--ease);position:absolute;bottom:0;left:0}.journal-nav__link:hover,.journal-nav__link.is-active{color:var(--j-ink)}.journal-nav__link.is-active:after,.journal-nav__link:hover:after{width:100%}.journal-kicker{font-family:var(--font-en);letter-spacing:.18em;text-transform:uppercase;color:var(--j-gold);margin-bottom:.75rem;font-size:.85rem;font-style:italic}.journal-title{font-family:var(--font-zh);letter-spacing:.28em;color:var(--j-ink);font-size:clamp(2rem,5vw,3rem);font-weight:500}.journal-title--hero{margin-bottom:1.5rem;font-size:clamp(2.6rem,7vw,4rem)}.journal-title--detail{letter-spacing:.16em;margin-bottom:1rem}.journal-lead{font-family:var(--font-zh);letter-spacing:.08em;color:#17352db8;max-width:28rem;line-height:2}.journal-lead--en{font-family:var(--font-en);letter-spacing:.02em;color:var(--j-muted);font-style:italic}.journal-hero{text-align:center;align-content:center;min-height:42vh;padding:4rem 0 3rem;display:grid}.journal-hero .journal-lead{margin-inline:auto}.journal-section-head{padding:3rem 0 2.5rem}.journal-dirs{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2rem;padding:2rem 0 4rem;display:grid}.journal-dir{color:var(--j-ink);transition:transform .45s var(--ease);padding:1.5rem .5rem 2rem;display:block;position:relative}.journal-dir:before{content:"";background:var(--j-gold);transform-origin:0;height:1px;transition:transform .5s var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.journal-dir:after{content:"";opacity:0;pointer-events:none;transition:opacity .5s var(--ease);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");position:absolute;inset:0}.journal-dir__index{z-index:1;font-family:var(--font-en);color:var(--j-gold);margin-bottom:1.25rem;font-size:1.15rem;font-style:italic;display:block;position:relative}.journal-dir__poetic{z-index:1;font-family:var(--font-zh);letter-spacing:.22em;transition:transform .45s var(--ease);margin-bottom:.35rem;font-size:1.75rem;position:relative}.journal-dir__label{z-index:1;font-family:var(--font-en);color:var(--j-muted);margin-bottom:1.25rem;font-style:italic;position:relative}.journal-dir__lines{z-index:1;font-family:var(--font-en);color:#17352db3;min-height:4.5rem;font-style:italic;line-height:1.7;position:relative}.journal-dir__go{z-index:1;font-family:var(--font-en);color:var(--j-gold);opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease);margin-top:1.25rem;font-style:italic;display:inline-block;position:relative;transform:translateY(.35rem)}.journal-dir:hover{transform:none}.journal-dir:hover:before{transform:scaleX(1)}.journal-dir:hover:after{opacity:.07}.journal-dir:hover .journal-dir__poetic{transform:translateY(-3px)}.journal-dir:hover .journal-dir__go{opacity:1;transform:translateY(0)}.writing-year{margin-bottom:3rem}.writing-year__label{font-family:var(--font-en);color:var(--j-gold);margin-bottom:1.5rem;font-size:1.35rem;font-style:italic}.writing-item{transition:border-color .4s var(--ease), padding-left .4s var(--ease);border-left:1px solid #0000;grid-template-columns:4rem 1fr auto;align-items:start;gap:0 1.25rem;padding:1.35rem 0 1.35rem .75rem;display:grid}.writing-item:hover{border-left-color:var(--j-gold);padding-left:1rem}.writing-item__date{font-family:var(--font-en);color:var(--j-muted);grid-column:1;font-style:italic}.writing-item__rule{background:var(--j-line);grid-column:2/-1;height:1px;margin:.45rem 0 .9rem}.writing-item__body{grid-column:2}.writing-item__title{font-family:var(--font-zh);letter-spacing:.1em;transition:transform .4s var(--ease);margin-bottom:.4rem;font-size:1.25rem}.writing-item:hover .writing-item__title{transform:translate(6px)}.writing-item__status{font-family:var(--font-en);letter-spacing:.14em;text-transform:uppercase;color:var(--j-gold);margin-bottom:.65rem;font-size:.72rem}.writing-item__excerpt{font-family:var(--font-zh);color:#17352d9e;transition:color .4s var(--ease);max-width:28rem;line-height:1.9}.writing-item:hover .writing-item__excerpt{color:#17352de0}.writing-item__arrow{color:var(--j-gold);opacity:0;transition:opacity .4s var(--ease);grid-area:2/3/4;align-self:center}.writing-item:hover .writing-item__arrow{opacity:1}.learning-filters{flex-wrap:wrap;gap:1.25rem 1.75rem;margin-bottom:2.5rem;display:flex}.learning-filters__btn{font-family:var(--font-en);letter-spacing:.08em;text-transform:uppercase;color:var(--j-muted);transition:color .35s var(--ease), border-color .35s var(--ease);border-bottom:1px solid #0000;padding-bottom:.25rem;font-size:.95rem;font-style:italic}.learning-filters__btn.is-active,.learning-filters__btn:hover{color:var(--j-ink);border-bottom-color:var(--j-gold)}.learning-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:2.5rem;display:grid}.learning-index__label{font-family:var(--font-en);letter-spacing:.16em;text-transform:uppercase;color:var(--j-gold);margin-bottom:1.25rem;font-size:.8rem;font-style:italic}.learning-row{border-bottom:1px solid var(--j-line);transition:padding-left .4s var(--ease);grid-template-columns:2.5rem 1fr auto;align-items:baseline;gap:.75rem 1rem;padding:.95rem 0;display:grid}.learning-row:hover,.learning-row.is-hover{padding-left:.35rem}.learning-row__index{font-family:var(--font-en);color:var(--j-gold);font-style:italic}.learning-row__title{font-family:var(--font-en);color:var(--j-ink);font-size:1.15rem;font-style:italic;display:block}.learning-row__author{color:var(--j-muted);margin-top:.2rem;font-size:.9rem;display:block}.learning-row__date{font-family:var(--font-en);color:var(--j-muted);font-size:.9rem;font-style:italic}.learning-preview{top:calc(var(--header-h) + 1.5rem);border-left:1px solid var(--j-line);opacity:.92;padding:1.5rem 0 1.5rem 1.5rem;position:sticky}.learning-preview__kind{font-family:var(--font-en);letter-spacing:.14em;text-transform:uppercase;color:var(--j-gold);margin-bottom:.75rem;font-size:.78rem;font-style:italic}.learning-preview__title{font-family:var(--font-zh);letter-spacing:.16em;margin-bottom:.35rem;font-size:1.55rem}.learning-preview__en{font-family:var(--font-en);color:var(--j-muted);margin-bottom:.35rem;font-style:italic}.learning-preview__author{color:var(--j-muted);margin-bottom:1.25rem}.learning-preview__quote{font-family:var(--font-zh);color:#17352dd9;margin-bottom:1rem;line-height:1.9}.learning-preview__notes{color:#17352dad;margin-bottom:1.25rem;font-size:.95rem;line-height:1.9}.learning-preview__link,.journal-back{font-family:var(--font-en);color:var(--j-gold);font-style:italic}.learning-empty{color:var(--j-muted);font-family:var(--font-en);font-style:italic}.learning-detail__author{font-family:var(--font-en);color:var(--j-muted);margin-bottom:.5rem;font-style:italic}.learning-detail__meta{color:var(--j-gold);margin-bottom:2rem;font-size:.9rem}.learning-detail__quote{font-family:var(--font-zh);color:var(--j-ink);margin:0 0 1.5rem;font-size:1.15rem;line-height:2}.learning-detail__notes{white-space:pre-line;color:#17352dc7;max-width:40rem;margin-bottom:2.5rem;line-height:2}.journal-detail{padding-bottom:4rem}.journal-related{margin:3rem 0 2rem}.journal-related__rule{background:var(--j-line);width:6rem;height:1px;margin-bottom:1.25rem}.journal-related__label{font-family:var(--font-zh);letter-spacing:.16em;color:var(--j-gold);margin-bottom:1rem}.journal-related__list{gap:.65rem;display:grid}.journal-related__list a{font-family:var(--font-zh);letter-spacing:.06em}.journal-related__list a:hover{color:var(--j-gold)}.journal-related__hint{font-family:var(--font-en);color:var(--j-muted);font-size:.9rem;font-style:italic}.journal--thoughts{padding-bottom:2rem}.thoughts-space__head{text-align:center;padding:2.5rem 0 1rem}.thoughts-space__hint{font-family:var(--font-zh);color:var(--j-muted);letter-spacing:.06em;margin-top:1rem}.thoughts-space__cta{font-family:var(--font-en);color:var(--j-gold);transition:border-color .4s var(--ease);border-bottom:1px solid #0000;margin-top:1.25rem;font-style:italic}.thoughts-space__cta:hover{border-bottom-color:var(--j-gold)}.thoughts-space__field{touch-action:manipulation;background:radial-gradient(42% 36% at 72% 22%,#d4c4962e,#0000 70%),radial-gradient(55% 45% at 28% 70%,#788c801a,#0000 65%),linear-gradient(165deg,#f7f3ea 0%,#f1ebe0 48%,#ebe4d6 100%);border:1px solid #5a6e641f;min-height:min(62vh,560px);margin-top:1.25rem;position:relative;overflow:hidden}.thoughts-space__links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.thoughts-space__line{stroke:#a8946c73;stroke-width:1px;stroke-dasharray:3 5;opacity:0;transition:opacity .9s var(--ease)}.thoughts-space__line.is-on{opacity:1}.thought-dot{z-index:2;width:2.75rem;height:2.75rem;transition:opacity .55s var(--ease), transform .55s var(--ease);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.thought-dot__core{width:8px;height:8px;transition:width .55s var(--ease), height .55s var(--ease), background .55s var(--ease), box-shadow .55s var(--ease);background:#5c6f64;border-radius:50%;box-shadow:0 0 0 3px #5c6f641f,0 0 14px #5c6f6438}.thought-dot--drift-1{animation:thought-drift-a 18s var(--ease) infinite alternate}.thought-dot--drift-2{animation:thought-drift-b 22s var(--ease) infinite alternate}.thought-dot--drift-3{animation:thought-drift-a 15s var(--ease) infinite alternate-reverse}.thought-dot.is-dim{opacity:.22}.thought-dot.is-near .thought-dot__core,.thought-dot.is-active .thought-dot__core{background:#b89b5e;width:11px;height:11px;box-shadow:0 0 0 5px #b89b5e24,0 0 20px #b89b5e52}.thought-dot.is-active{z-index:5;transform:translate(-50%,-50%)scale(1.08)}.thought-dot.is-related .thought-dot__core{background:#8d9a8f;box-shadow:0 0 0 4px #8d9a8f24,0 0 12px #b89b5e29}.thought-dot.is-related{opacity:1;z-index:4}.thought-whisper{z-index:6;pointer-events:none;animation:thought-preview-in .65s var(--ease) both;position:absolute}.thought-whisper__spark{font-family:var(--font-zh);letter-spacing:.28em;color:#3d4f46;background:linear-gradient(90deg,#f7f3ea1a,#f7f3eadb 20% 80%,#f7f3ea1a);border-bottom:1px solid #b89b5e73;padding:.2rem .15rem;font-size:.95rem;display:inline-block}.thought-dock{opacity:.55;min-height:7.5rem;transition:opacity .55s var(--ease);border-top:1px solid #5c6f6424;margin-top:1.75rem;padding:1.35rem 0 .5rem}.thought-dock.is-visible{opacity:1}.thought-dock__placeholder{font-family:var(--font-en);color:#8a8578;font-style:italic}.thought-dock__mark{flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem;margin-bottom:.65rem;display:flex}.thought-dock__spark{font-family:var(--font-zh);letter-spacing:.22em;color:#b89b5e;font-size:1.05rem}.thought-dock__title{font-family:var(--font-zh);letter-spacing:.12em;color:#3d4f46;font-size:1.2rem}.thought-dock__excerpt{font-family:var(--font-zh);color:#3d4f46c7;white-space:pre-line;max-width:36rem;margin-bottom:.85rem;line-height:1.9}.thought-dock__meta{font-family:var(--font-en);color:#b89b5e;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;font-style:italic;display:flex}.thought-dock__link{color:#3d4f46;border-bottom:1px solid #b89b5eb3}.thought-detail__excerpt{font-family:var(--font-zh);color:#17352db8;white-space:pre-line;max-width:28rem;margin-bottom:.75rem;line-height:2}.thought-detail__date{font-family:var(--font-en);color:var(--j-gold);margin-bottom:2.5rem;font-style:italic}.thought-detail__body{width:min(100%,680px);max-width:40rem;font-family:var(--font-zh);letter-spacing:.04em;white-space:pre-line;color:#17352de0;margin-bottom:3rem;font-size:1.05rem;line-height:2.05}.thought-related-dots{flex-wrap:wrap;gap:1rem 1.75rem;margin-top:.75rem;display:flex}.thought-related-dot{font-family:var(--font-zh);letter-spacing:.06em;color:var(--j-ink)}.thought-related-dot:hover{color:var(--j-gold)}@keyframes thought-drift-a{0%{translate:0}to{translate:8px -6px}}@keyframes thought-drift-b{0%{translate:0}to{translate:-7px 5px}}@keyframes thought-preview-in{0%{opacity:0;filter:blur(6px);transform:scale(.98)}to{opacity:1;filter:blur();transform:scale(1)}}@media (width<=900px){.journal-dirs,.learning-layout{grid-template-columns:1fr}.learning-preview{border-left:none;border-top:1px solid var(--j-line);padding-top:1.5rem;padding-left:0;position:static}.writing-item{grid-template-columns:3.5rem 1fr}.writing-item__arrow{display:none}}@media (width<=760px){.journal-hero{text-align:left;min-height:36vh;padding:2.5rem 0 2rem}.journal-hero .journal-lead{margin-inline:0}.thoughts-space__field{min-height:70vh}}
