@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-cyrillic-ext-400-normal.0df88028.woff2) format("woff2"),url(/_next/static/media/eb-garamond-cyrillic-ext-400-normal.e17d47dd.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-cyrillic-400-normal.8027286e.woff2) format("woff2"),url(/_next/static/media/eb-garamond-cyrillic-400-normal.bd0708d4.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-greek-ext-400-normal.c2ea4a62.woff2) format("woff2"),url(/_next/static/media/eb-garamond-greek-ext-400-normal.69d76a3b.woff) format("woff");unicode-range:u+1f??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-greek-400-normal.bc82698a.woff2) format("woff2"),url(/_next/static/media/eb-garamond-greek-400-normal.5a22aed9.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-vietnamese-400-normal.25fd02a5.woff2) format("woff2"),url(/_next/static/media/eb-garamond-vietnamese-400-normal.7aafd29c.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-latin-ext-400-normal.18ef9cf1.woff2) format("woff2"),url(/_next/static/media/eb-garamond-latin-ext-400-normal.93749274.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-latin-400-normal.9822c8d3.woff2) format("woff2"),url(/_next/static/media/eb-garamond-latin-400-normal.8c2b5b33.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-cyrillic-ext-400-italic.3e03f94f.woff2) format("woff2"),url(/_next/static/media/eb-garamond-cyrillic-ext-400-italic.a42adf37.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-cyrillic-400-italic.d66f30d8.woff2) format("woff2"),url(/_next/static/media/eb-garamond-cyrillic-400-italic.999487f1.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-greek-ext-400-italic.0a5a4ff8.woff2) format("woff2"),url(/_next/static/media/eb-garamond-greek-ext-400-italic.3b88f537.woff) format("woff");unicode-range:u+1f??}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-greek-400-italic.c84beba5.woff2) format("woff2"),url(/_next/static/media/eb-garamond-greek-400-italic.184cfb99.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-vietnamese-400-italic.66b57491.woff2) format("woff2"),url(/_next/static/media/eb-garamond-vietnamese-400-italic.12eb4000.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-latin-ext-400-italic.b8315bdb.woff2) format("woff2"),url(/_next/static/media/eb-garamond-latin-ext-400-italic.bfc18a98.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/eb-garamond-latin-400-italic.50d43bfe.woff2) format("woff2"),url(/_next/static/media/eb-garamond-latin-400-italic.fc43ad58.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.layout_main__mXTwS{min-height:calc(100vh - 120px)}.layout_footer__lSNf_{border-top:.5px solid var(--color-border);padding:var(--space-12) var(--space-6);margin-top:var(--space-24)}.layout_footerInner__603Iz{max-width:var(--width-content);margin:0 auto}.layout_footerText__hwmK7{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);line-height:var(--leading-loose)}.layout_footerText__hwmK7+.layout_footerText__hwmK7{margin-top:var(--space-2)}.Header_header__MvnS2{border-bottom:.5px solid var(--color-border);padding:var(--space-4) var(--space-6)}.Header_inner__ggL_E{max-width:var(--width-wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.Header_logo__j7oID{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--color-text-primary);flex-shrink:0}.Header_nav__EE71E{display:flex;align-items:center;gap:var(--space-8)}.Header_navLink__Q_hTB{font-family:var(--font-serif-zh);font-size:var(--text-sm);color:var(--color-text-secondary);padding-bottom:2px;border-bottom:.5px solid transparent;transition:color .3s ease,border-color .3s ease;min-height:44px;display:flex;align-items:center}.Header_navLink__Q_hTB:hover{color:var(--color-text-primary)}.Header_navLink__Q_hTB.Header_active__t8h51{color:var(--color-text-primary);border-bottom-color:var(--color-text-muted)}@media (max-width:640px){.Header_inner__ggL_E{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.Header_nav__EE71E{gap:var(--space-6);flex-wrap:wrap}.Header_navLink__Q_hTB{font-size:14px}}:root{--color-bg-base:#0d0d0d;--color-bg-surface:#141414;--color-bg-raised:#1a1a1a;--color-text-primary:#d4cfc8;--color-text-secondary:#857f78;--color-text-muted:#4a4540;--color-border:#2a2520;--color-border-hover:#3d3830;--color-accent:#8b1a1a;--color-accent-bright:#c0392b;--font-serif-zh:"Noto Serif SC","Source Han Serif CN","思源宋体",serif;--font-serif-en:"EB Garamond","Cormorant Garamond",Georgia,serif;--font-mono:"IBM Plex Mono","Courier New",monospace;--text-xs:11px;--text-sm:13px;--text-base:16px;--text-md:21px;--text-lg:28px;--text-xl:37px;--leading-tight:1.3;--leading-normal:1.7;--leading-loose:2;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.08em;--tracking-widest:0.15em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;--width-text:640px;--width-content:960px;--width-wide:1280px;--width-full:100%}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-serif-zh);font-size:var(--text-base);line-height:var(--leading-normal);min-height:100vh}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}:focus-visible{outline:1px solid var(--color-text-muted);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.photo-enter{animation:fadeIn .6s ease forwards}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}