:root{--paper:#eee5cf;--paper-deep:#e2d5b8;--paper-card:#f7f1e0;--paper-card-deep:#efe6d0;--ink:#211a12;--ink-soft:#55493a;--ink-faint:#8a7d69;--seal:#a02121;--seal-deep:#7c1616;--seal-ink:#f6ead2;--line:color-mix(in srgb, var(--ink) 12%, transparent);--line-strong:color-mix(in srgb, var(--ink) 22%, transparent);--shadow-soft:0 30px 70px -24px color-mix(in srgb, var(--ink) 20%, transparent);--shadow-inset-hairline:inset 0 0 0 1px #fff6;--font-display:"Ma Shan Zheng", "Noto Serif SC", serif;--font-body:"Noto Serif SC", "Songti SC", "SimSun", serif;--radius:3px;--ease:cubic-bezier(.22, 1, .36, 1);--ease-inout:cubic-bezier(.65, 0, .15, 1);--ease-stamp:cubic-bezier(.34, 1.45, .64, 1)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{color-scheme:light}body{min-height:100dvh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1100px 540px at 6% -10%, #f7f1e0 0%, transparent 58%), radial-gradient(880px 500px at 108% 2%, #ddd0b1 0%, transparent 55%), radial-gradient(760px 720px at 50% 118%, #d8caa8 0%, transparent 62%), linear-gradient(180deg, var(--paper) 0%, var(--paper-deep) 100%);margin:0;line-height:1.8;overflow-x:hidden}.ink-wash{pointer-events:none;z-index:0;filter:blur(90px);will-change:transform;border-radius:50%;width:44vmax;height:44vmax;position:fixed}.ink-wash-a{background:radial-gradient(circle, color-mix(in srgb, var(--seal) 7%, transparent) 0%, transparent 65%);animation:drift 52s var(--ease-inout) infinite alternate;top:-18vmax;left:-12vmax}.ink-wash-b{background:radial-gradient(circle, color-mix(in srgb, var(--ink) 6%, transparent) 0%, transparent 65%);animation:drift 64s var(--ease-inout) -20s infinite alternate-reverse;bottom:-20vmax;right:-16vmax}.paper-grain{pointer-events:none;z-index:1;opacity:.4;mix-blend-mode:multiply;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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}.watermark{pointer-events:none;z-index:0;font-family:var(--font-display);color:color-mix(in srgb, var(--ink) 4%, transparent);user-select:none;font-size:44vw;line-height:1;position:fixed;bottom:-16vw;right:-7vw;transform:rotate(-6deg)}.site-header,main{z-index:2;position:relative}.site-header{max-width:1040px;animation:rise .9s var(--ease) both;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:clamp(1.4rem,3.5vh,2.2rem) clamp(1.25rem,4vw,2.5rem) 0;display:flex}.site-nav{gap:clamp(1.25rem,5vw,2.75rem);display:flex}.nav-item{align-items:center;gap:.5rem;padding:.5rem .15rem .7rem;text-decoration:none;display:flex;position:relative}.nav-icon{border:1.5px solid color-mix(in srgb, var(--ink-faint) 75%, transparent);width:1.55rem;height:1.55rem;color:var(--ink-faint);font-family:var(--font-display);transition:border-color .45s var(--ease), background .45s var(--ease), color .45s var(--ease), transform .45s var(--ease);place-items:center;font-size:.88rem;line-height:1;display:grid;transform:rotate(-6deg)}.nav-item:hover .nav-icon{border-color:var(--ink);color:var(--ink);transform:rotate(0)translateY(-1px)}.nav-text{color:var(--ink-faint);letter-spacing:.22em;transition:color .45s var(--ease);font-size:.92rem}.nav-item:hover .nav-text{color:var(--ink)}.nav-item[aria-current=page] .nav-icon{border-color:var(--seal-deep);background:var(--seal);color:var(--seal-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--seal) 40%, transparent), 0 6px 16px -6px color-mix(in srgb, var(--seal) 55%, transparent)}.nav-item[aria-current=page] .nav-text{color:var(--seal-deep)}.nav-item[aria-current=page]:after{content:"";background:linear-gradient(90deg, var(--seal), color-mix(in srgb, var(--seal) 55%, transparent));border-radius:2px;height:3px;position:absolute;bottom:.15rem;left:.15rem;right:.15rem}.lang-switch select{appearance:none;border:1px solid var(--line);background:color-mix(in srgb, var(--paper-card) 72%, white);color:var(--ink-soft);font:inherit;letter-spacing:.08em;border-radius:var(--radius);background-image:linear-gradient(45deg, transparent 50%, var(--ink-faint) 50%), linear-gradient(135deg, var(--ink-faint) 50%, transparent 50%);cursor:pointer;transition:border-color .4s var(--ease), box-shadow .4s var(--ease);background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:.42rem 1.7rem .42rem .75rem;font-size:.88rem}.lang-switch select:hover{border-color:var(--line-strong)}main{max-width:1040px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem) clamp(4rem,10vh,7rem)}.stage{min-height:min(68vh,620px);animation:rise 1s var(--ease) .1s both;grid-template-columns:minmax(230px,330px) 1fr;align-items:stretch;gap:clamp(2rem,6vw,5.5rem);margin-top:clamp(2rem,6vh,4rem);display:grid;position:relative}.stage-side{flex-direction:column;padding-top:1.2rem;display:flex}.eyebrow{letter-spacing:.42em;color:var(--ink-faint);align-items:center;gap:.65rem;margin:0 0 1.4rem;font-size:.72rem;display:flex}.eyebrow-dot{background:var(--seal);width:.5rem;height:.5rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--seal) 14%, transparent);flex:none;transform:rotate(45deg)}.poem-title{font-family:var(--font-display);letter-spacing:.06em;text-wrap:balance;overflow-wrap:anywhere;margin:0 0 1.1rem;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:400;line-height:1.4}.poem-meta{color:var(--ink-faint);letter-spacing:.22em;margin:0;font-size:.95rem}.stage-actions{border-top:1px solid var(--line);margin-top:auto;padding-top:2rem}.stage-reading{justify-content:center;min-width:0;display:flex;position:relative}.stage-reading:before{content:"";background:linear-gradient(180deg, transparent 0%, var(--line-strong) 18%, var(--line-strong) 82%, transparent 100%);width:1px;position:absolute;top:2%;bottom:2%;left:calc(-1*clamp(1rem,2.75vw,2.75rem))}.poem-body{writing-mode:vertical-rl;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink-faint) 55%, transparent) transparent;max-width:100%;max-height:min(60vh,30rem);padding:.5rem 1.1rem;overflow:auto hidden}.poem-line{letter-spacing:.34em;color:var(--ink);margin:0;font-size:clamp(1.15rem,2.4vw,1.42rem);line-height:2.4;display:block}.poem-seal{background:var(--seal);color:var(--seal-ink);font-family:var(--font-display);border-radius:var(--radius);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--seal) 45%, transparent), 0 10px 24px -10px color-mix(in srgb, var(--seal) 65%, transparent);margin-top:1.6rem;padding:.34rem .2rem;font-size:1.15rem;line-height:1.15;display:inline-block;transform:rotate(-4deg)}.layout-switch{border:1px solid var(--line-strong);border-radius:999px;gap:2px;width:fit-content;margin-top:1.7rem;padding:3px;display:inline-flex}.layout-btn{appearance:none;font:inherit;letter-spacing:.22em;text-indent:.22em;color:var(--ink-faint);cursor:pointer;transition:color .45s var(--ease), background .45s var(--ease), box-shadow .45s var(--ease);background:0 0;border:0;border-radius:999px;padding:.32rem .95rem;font-size:.8rem}.layout-btn:hover:not(.active){color:var(--ink)}.layout-btn.active{background:var(--ink);color:var(--seal-ink);box-shadow:0 8px 18px -10px color-mix(in srgb, var(--ink) 60%, transparent)}.stage[data-layout=horizontal] .stage-reading{align-items:center}.stage[data-layout=horizontal] .poem-body{writing-mode:horizontal-tb;flex-direction:column;align-items:center;gap:.3rem;max-width:30rem;max-height:none;padding:.5rem 0;display:flex;overflow:visible}.stage[data-layout=horizontal] .poem-line{letter-spacing:.18em;font-size:clamp(1.2rem,2.6vw,1.5rem);line-height:1.95}.stage[data-layout=horizontal] .poem-seal{margin:1.9rem 0 0}.status{color:var(--ink-faint);letter-spacing:.42em;animation:breathe 1.8s var(--ease-inout) infinite;pointer-events:none;place-items:center;margin:0;font-size:.95rem;display:grid;position:absolute;inset:0}.stage.reveal .poem-title{animation:ink-up .9s var(--ease) both}.stage.reveal .poem-meta{animation:ink-up .9s var(--ease) .12s both}.stage.reveal .poem-line{animation:line-in 1s var(--ease) both;animation-delay:calc(var(--i,0) * .12s + .15s)}.stage.reveal .poem-seal{animation:stamp .75s var(--ease-stamp) both;animation-delay:calc(var(--lines,4) * .12s + .42s)}.btn-ink,.btn-ghost{font:inherit;letter-spacing:.3em;text-indent:.3em;border:1px solid var(--ink);cursor:pointer;transition:transform .5s var(--ease), box-shadow .5s var(--ease), background .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease);border-radius:999px;align-items:center;gap:.9rem;padding:.55rem .55rem .55rem 1.7rem;font-size:.95rem;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-ink{background:var(--ink);color:var(--seal-ink);box-shadow:0 18px 36px -16px color-mix(in srgb, var(--ink) 60%, transparent)}.btn-ink:hover:not(:disabled){box-shadow:0 26px 48px -18px color-mix(in srgb, var(--ink) 65%, transparent);transform:translateY(-2px)}.btn-orb{background:color-mix(in srgb, var(--seal-ink) 14%, transparent);width:2.15rem;height:2.15rem;transition:transform .6s var(--ease), background .6s var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.btn-orb svg{width:1rem;height:1rem}.btn-ink:hover:not(:disabled) .btn-orb{background:color-mix(in srgb, var(--seal-ink) 24%, transparent);transform:rotate(180deg)scale(1.05)}.btn-ink:active:not(:disabled),.btn-ghost:active{transform:translateY(1px)scale(.985)}.btn-ink:disabled{opacity:.55;cursor:wait}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--seal-ink);box-shadow:0 22px 44px -20px color-mix(in srgb, var(--ink) 55%, transparent);transform:translateY(-2px)}.btn-ghost:hover .btn-orb{background:color-mix(in srgb, var(--seal-ink) 18%, transparent);transform:translate(4px)}.search{max-width:640px;animation:rise 1s var(--ease) .1s both;margin-top:clamp(2.5rem,7vh,4.5rem)}.search-heading{font-family:var(--font-display);letter-spacing:.18em;margin:0 0 2.2rem;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:400;line-height:1.2}.search-bar{border-bottom:1px solid var(--line-strong);transition:border-color .5s var(--ease);align-items:center;gap:.9rem;padding-bottom:.85rem;display:flex}.search-bar:focus-within{border-bottom-color:var(--seal)}.search-bar input{min-width:0;color:var(--ink);font:inherit;letter-spacing:.08em;background:0 0;border:0;flex:1;padding:.5rem .1rem;font-size:1.08rem}.search-bar input::placeholder{color:color-mix(in srgb, var(--ink-faint) 70%, transparent)}.search-bar input:focus{outline:none}.search-bar .btn-ink{padding:.4rem .4rem .4rem 1.4rem;font-size:.9rem}.search-hint{min-height:1.6rem;color:var(--ink-faint);letter-spacing:.14em;margin:1.1rem 0 .4rem;font-size:.9rem}.search-results{flex-direction:column;gap:.65rem;margin:.8rem 0 0;padding:0;list-style:none;display:flex}.result-item{text-align:left;cursor:pointer;border:1px solid var(--line);background:color-mix(in srgb, var(--paper-card) 88%, white);width:100%;box-shadow:var(--shadow-inset-hairline);font:inherit;color:inherit;border-radius:var(--radius);transition:border-color .5s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease);gap:.25rem;padding:1.05rem 1.25rem;display:grid}.result-item:hover{border-color:color-mix(in srgb, var(--seal) 45%, var(--line));box-shadow:-14px 18px 40px -24px color-mix(in srgb, var(--ink) 45%, transparent);transform:translate(6px)}.search-results.fade-in .result-item{animation:ink-up .8s var(--ease) both;animation-delay:calc(var(--i,0) * 80ms)}.result-title{letter-spacing:.12em;font-weight:600}.result-meta{color:var(--ink-faint);letter-spacing:.14em;font-size:.85rem}.result-excerpt{color:var(--ink-soft);letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;overflow:hidden}.about-card{background:color-mix(in srgb, var(--paper-card) 90%, white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-inset-hairline), var(--shadow-soft);animation:rise .95s var(--ease) .16s both;margin-top:1.6rem;padding:clamp(1.8rem,4vw,2.6rem) clamp(1.5rem,4vw,2.6rem) clamp(1.6rem,3.5vw,2.2rem);position:relative}.about-card+.about-card{animation-delay:.26s}.about-heading{font-family:var(--font-display);letter-spacing:.2em;margin:0 0 1.5rem;font-size:clamp(2rem,5vw,2.8rem);font-weight:400}.about-card .section-title{font-family:var(--font-display);letter-spacing:.2em;color:var(--seal-deep);align-items:center;gap:.7rem;margin:0 0 .8rem;font-size:1.3rem;font-weight:400;display:flex}.about-card .section-title:before{content:"";background:var(--seal);flex:none;width:.55rem;height:.55rem;transform:rotate(45deg)}.about-card .section-para{color:var(--ink-soft);letter-spacing:.08em;margin:0 0 .6rem;line-height:2}.about-card a{color:var(--seal-deep);border-bottom:1px solid color-mix(in srgb, var(--seal) 35%, transparent);transition:border-color .4s var(--ease);text-decoration:none}.about-card a:hover{border-bottom-color:var(--seal)}.site-footer{z-index:2;border-top:1px solid var(--line);letter-spacing:.24em;max-width:1040px;color:var(--ink-faint);animation:rise 1s var(--ease) .2s both;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.4rem clamp(1.25rem,4vw,2.5rem) 2rem;font-size:.78rem;display:flex;position:relative}.site-footer a{color:var(--ink-faint);border-bottom:1px solid color-mix(in srgb, var(--seal) 30%, transparent);transition:color .4s var(--ease), border-color .4s var(--ease);text-decoration:none}.site-footer a:hover{color:var(--seal-deep);border-bottom-color:var(--seal)}.sr-only{clip-path:inset(50%);clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fade-in{animation:ink-up .7s var(--ease) both}::selection{background:var(--seal);color:var(--seal-ink)}:focus-visible{outline:2px solid color-mix(in srgb, var(--seal) 65%, transparent);outline-offset:3px;border-radius:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink-faint) 45%, transparent);background-clip:content-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ink-faint) 75%, transparent);background-clip:content-box;border:3px solid #0000}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes ink-up{0%{opacity:0;filter:blur(6px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:none}}@keyframes line-in{0%{opacity:0;filter:blur(8px);transform:translateY(-18px)}to{opacity:1;filter:blur();transform:none}}@keyframes stamp{0%{opacity:0;filter:blur(3px);transform:scale(1.9)rotate(9deg)}62%{opacity:1;filter:blur();transform:scale(.94)rotate(-6deg)}to{transform:scale(1)rotate(-4deg)}}@keyframes breathe{50%{opacity:.35}}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(7vmax,5vmax)scale(1.12)}}@media (width<=860px){.stage{grid-template-columns:1fr;gap:2.2rem;min-height:0}.stage-side{padding-top:0}.stage-actions{border-top:0;margin-top:0;padding-top:1.6rem}.stage-reading{border-top:1px solid var(--line);justify-content:flex-start;padding-top:2rem}.stage-reading:before{display:none}.poem-body{max-height:22rem}.watermark{font-size:72vw;bottom:-24vw}}@media (width<=520px){.search-bar{flex-wrap:wrap}.search-bar input{flex-basis:100%}.search-bar .btn-ink{margin-left:auto}.nav-text{letter-spacing:.12em}.lang-switch select{padding:.35rem 1.4rem .35rem .6rem}}@media (width<=380px){.nav-icon{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
