*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#f5f4ed;--paper-light:#faf9f5;--paper-deep:#e8e6dc;--ink:#192535;--brand:#1b365d;--brand-light:#2d5a8a;--muted:#59645d;--stone:#6b6e69;--hairline:#d7d7ce;--quiet-fill:#f0eee6;--page-max:1200px;--page-gutter:clamp(20px, 4vw, 64px);--space-boundary-side:76px;--space-grid-row:clamp(44px, 4vw, 56px);--space-heading:24px;--space-kicker-title:8px;--space-media-caption:16px;--space-title-copy:12px;--inline-caption-shift:-1px;--font-label:.9375rem;--serif:Charter, Georgia, "Noto Serif", "Songti SC", "STSong", "Times New Roman", serif;--ui:"PingFang SC", "Hiragino Sans GB", system-ui, -apple-system, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", "Noto Sans Mono", monospace;--radius-xs:2px;--radius-sm:8px;--radius-lg:16px}@font-face{font-family:Faberon Serif SC;src:local(Source Han Serif SC),local(Noto Serif CJK SC),url(/fonts/faberon-serif-sc-regular.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400;unicode-range:U+2E80-2EFF,U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}@font-face{font-family:Faberon Serif SC;src:local(Source Han Serif SC SemiBold),local(Noto Serif CJK SC SemiBold),url(/fonts/faberon-serif-sc-semibold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500 700;unicode-range:U+2E80-2EFF,U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--paper);color:var(--ink);font-family:var(--serif);min-height:100vh;line-height:1.65}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none}a:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--brand-light);outline-offset:4px}a:active{transform:translateY(1px)}img{max-width:100%;display:block}.skip-link{background:var(--ink);color:var(--paper);font-family:var(--mono);z-index:100;padding:10px 14px;font-size:.75rem;transition:transform .14s cubic-bezier(.16,1,.3,1);position:fixed;top:12px;left:16px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.skip-link[lang=zh-CN]{font-family:Charter,Georgia,Faberon Serif SC,Songti SC,serif}.page-shell{max-width:var(--page-max);padding-inline:var(--page-gutter);width:100%;margin-inline:auto}.faberon-page[lang=zh-CN]{--serif:Charter, Georgia, "Faberon Serif SC", "Songti SC", serif;--ui:var(--serif);--mono:var(--serif);font-family:var(--serif);letter-spacing:0}.faberon-page[lang=en]{--ui:var(--serif);font-family:var(--serif)}.faberon-page[lang=zh-CN] .hero h1{letter-spacing:.02em;font-size:clamp(3.4rem,4.8vw + 2px,4.7rem);font-weight:600;line-height:1.08}.faberon-page[lang=zh-CN] .section-heading h2{letter-spacing:.018em;word-break:auto-phrase;line-height:1.2}.faberon-page[lang=zh-CN] .hero-intro,.faberon-page[lang=zh-CN] .section-heading>p:not(.section-kicker),.faberon-page[lang=zh-CN] .maker-profile-copy p,.faberon-page[lang=zh-CN] .site-footer-note,.faberon-page[lang=zh-CN] .writing-card-description{word-break:auto-phrase}.faberon-page[lang=zh-CN] .work-card-copy h3,.faberon-page[lang=zh-CN] .maker-profile-copy h2,.faberon-page[lang=zh-CN] .maker-stats strong,.faberon-page[lang=zh-CN] .publication-title-row strong,.faberon-page[lang=zh-CN] .writing-card strong{letter-spacing:.012em}.faberon-page[lang=zh-CN] .site-nav,.faberon-page[lang=zh-CN] .section-kicker,.faberon-page[lang=zh-CN] .publication-title-row span,.faberon-page[lang=zh-CN] .writing-card-meta{letter-spacing:.025em}.site-header{justify-content:space-between;align-items:center;padding-block:24px;display:flex}.brand-lockup{align-items:center;min-height:44px;display:inline-flex;position:relative}.brand-lockup img{width:36px;height:36px;margin-right:10px}.brand-name{letter-spacing:.012em;font-size:clamp(1.58rem,1.9vw,1.78rem);font-weight:600;line-height:1}.site-nav{font-family:var(--ui);font-size:var(--font-label);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:clamp(16px,2.2vw,30px);display:flex}.site-nav a{align-items:center;min-height:40px;display:inline-flex;position:relative}.locale-switch{align-items:center;gap:4px;min-height:40px;display:inline-flex}.locale-switch>span[aria-current=page]{color:var(--stone)}.locale-switch>*{align-items:center;min-height:40px;line-height:1;display:inline-flex}.site-nav>a{line-height:1}.site-nav a:after,.site-footer-links a:after,.text-link:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .18s cubic-bezier(.16,1,.3,1);position:absolute;bottom:7px;left:0;transform:scaleX(0)}.hero{padding-bottom:var(--space-boundary-side);padding-top:clamp(44px,4vw,60px)}.hero-copy{animation:.62s cubic-bezier(.16,1,.3,1) both page-enter}.section-kicker{color:var(--brand);font-family:var(--ui);font-size:var(--font-label);letter-spacing:.035em;line-height:1.4}.hero h1{color:var(--brand);letter-spacing:-.035em;text-wrap:balance;margin:0 0 clamp(18px,2.2vw,30px);font-size:clamp(3.4rem,5vw,4.5rem);font-weight:500;line-height:.92}.hero-intro{color:var(--muted);text-wrap:pretty;max-width:100ch;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.78}.text-link{font-family:var(--ui);letter-spacing:.025em;align-items:center;gap:8px;min-height:40px;margin-top:36px;font-size:.8rem;display:inline-flex;position:relative}.works-section{padding-bottom:var(--space-boundary-side)}.section-heading{margin-bottom:var(--space-heading)}.section-heading .section-kicker{margin-bottom:var(--space-kicker-title)}.section-heading h2{color:var(--brand);letter-spacing:-.025em;margin-bottom:var(--space-title-copy);text-wrap:balance;font-size:clamp(2rem,2.8vw,2.5rem);font-weight:500;line-height:1}.section-heading>p:not(.section-kicker),.section-heading>div+p{color:var(--muted);text-wrap:pretty;max-width:100ch;font-size:1rem;line-height:1.78}.works-section>.section-heading{margin-bottom:var(--space-heading)}.work-card-visual{border-radius:var(--radius-sm);outline-offset:-1px;outline:1px solid #1b365d1f;display:block;overflow:hidden}.work-card-copy h3{letter-spacing:-.018em;text-wrap:balance;font-size:clamp(1.65rem,2.4vw,2.1rem);font-weight:500;line-height:1.05}.work-description{color:var(--muted);text-wrap:pretty;min-width:0;transform:translateY(var(--inline-caption-shift));white-space:nowrap;flex:auto;font-size:.92rem;line-height:1.4}.work-description span{display:inline}.work-links{font-family:var(--ui);flex:none;align-items:center;gap:1px;display:flex}.work-action,.work-source-action{border-radius:var(--radius-sm);color:var(--stone);background:0 0;justify-content:center;align-items:center;min-height:40px;transition:background-color .14s cubic-bezier(.16,1,.3,1),color .14s cubic-bezier(.16,1,.3,1);display:inline-flex}.work-action{justify-content:flex-end;width:40px;padding-right:6px}.work-title-link{align-items:center;min-height:40px;display:inline-flex}.work-source-action{color:var(--muted);gap:5px;min-width:40px;padding-inline:5px 3px}.work-source-icon{flex:none}.work-source-label{font-size:var(--font-label);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}.work-grid{gap:var(--space-grid-row) clamp(24px, 3vw, 38px);grid-template-columns:1fr;display:grid}.work-card-visual{aspect-ratio:2910/2040;background:var(--paper-light)}.work-card-visual .work-card-image{object-fit:contain;object-position:center;width:100%;height:100%}.work-card-copy{margin-top:var(--space-media-caption);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:14px;display:grid}.work-card-copy .work-links{align-self:center}.maker-section{padding-bottom:var(--space-boundary-side)}.maker-section>.section-kicker{margin-bottom:var(--space-heading)}.maker-layout{display:block}.maker-profile{align-items:center;gap:24px;display:flex}.maker-avatar{object-fit:cover;border-radius:50%;flex:none;width:88px;height:88px}.maker-profile-copy{min-width:0}.maker-profile-heading{align-items:center;gap:24px;display:flex}.maker-profile-copy h2{color:var(--brand);letter-spacing:-.018em;font-size:clamp(1.9rem,2.8vw,2.5rem);font-weight:500;line-height:1.05}.maker-profile-copy p{color:var(--muted);text-wrap:pretty;max-width:100ch;margin-top:8px;font-size:1rem;line-height:1.78}.maker-stats{flex-wrap:nowrap;align-items:center;gap:18px;list-style:none;display:flex}.maker-stats li{color:var(--muted);align-items:center;gap:6px;min-height:32px;display:inline-flex}.maker-stats strong{font-variant-numeric:tabular-nums;letter-spacing:0;font-size:1rem;font-weight:500;line-height:1}.maker-stat-icon{flex:none;width:16px;height:16px}.writing-section{padding-bottom:var(--space-boundary-side)}.writing-section>.section-heading{margin-bottom:0}.publication-grid{margin-top:var(--space-heading);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,38px);display:grid}.publication-card,.publication-card>span,.publication-copy>span{display:block}.publication-visual{aspect-ratio:3762/2460;border-radius:var(--radius-sm);outline-offset:-1px;outline:1px solid #1b365d1f;overflow:hidden}.publication-visual img{object-fit:contain;width:100%;height:100%}.publication-copy{padding-top:var(--space-media-caption)}.publication-title-row{justify-content:flex-start;align-items:baseline;gap:8px;display:flex!important}.publication-title-row strong{letter-spacing:-.012em;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:500;line-height:1.2}.publication-title-row span{color:var(--muted);font-family:var(--ui);font-size:var(--font-label);letter-spacing:.025em;transform:translateY(var(--inline-caption-shift))}.recent-writing-heading{margin-top:48px}.writing-grid{gap:var(--space-grid-row) clamp(28px, 4vw, 56px);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;list-style:none;display:grid}.writing-card a,.writing-card-meta,.writing-card strong{display:block}.writing-card a{min-height:0}.writing-card-meta{color:var(--brand);font-family:var(--ui);font-size:var(--font-label);letter-spacing:.03em;align-items:baseline;gap:14px;display:flex}.writing-card-meta time{color:var(--stone)}.writing-card strong{letter-spacing:.005em;text-wrap:pretty;margin-top:10px;font-size:clamp(1.08rem,1.6vw,1.38rem);font-weight:500;line-height:1.38}.writing-card-description{color:var(--muted);text-wrap:pretty;margin-top:8px;font-size:.94rem;line-height:1.7;display:block}.site-footer{color:var(--stone);font-family:var(--ui);font-size:var(--font-label);letter-spacing:.02em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-block:18px 30px;display:flex;position:relative}.site-footer:before{content:"";height:1px;inset-inline:var(--page-gutter);background:#1b365d1a;position:absolute;top:0}.site-footer-note{text-wrap:pretty}.site-footer-note span{white-space:nowrap}.site-footer-links{flex-wrap:wrap;gap:4px 22px;display:flex}.site-footer-links a{align-items:center;min-height:40px;display:inline-flex;position:relative}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding-block:80px;display:flex}.not-found .section-kicker{margin-top:30px}.not-found h1{letter-spacing:-.05em;text-wrap:balance;margin:20px 0 28px;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.95}.not-found>p:not(.section-kicker){color:var(--muted);max-width:48ch;font-size:1.05rem}.container{max-width:960px;margin:0 auto;padding:72px 40px 96px;animation:.36s cubic-bezier(.16,1,.3,1) both page-enter}.project-page .breadcrumb{color:var(--stone);font-family:var(--mono);gap:8px;margin-bottom:42px;font-size:.75rem;display:flex}.project-page .project-header{border-bottom:1px solid var(--hairline);padding-bottom:34px}.project-page .eyebrow{color:var(--brand);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem}.project-page .project-header h1{letter-spacing:-.05em;text-wrap:balance;margin:14px 0 18px;font-size:clamp(2.8rem,7vw,5.4rem);font-weight:400;line-height:.98}.project-tagline{color:var(--muted);text-wrap:pretty;max-width:720px;font-size:1.08rem}.project-attribution{color:var(--stone);font-family:var(--mono);margin-top:14px;font-size:.75rem}.project-facts,.project-actions{flex-wrap:wrap;gap:8px 14px;margin-top:20px;display:flex}.project-related-links{margin-top:14px}.project-facts span{color:var(--stone);font-family:var(--mono);font-size:.72rem}.project-actions a{font-family:var(--mono);text-underline-offset:4px;align-items:center;min-height:40px;font-size:.78rem;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.project-section,.project-footer{max-width:760px}.project-page h2{color:var(--brand);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-top:48px;margin-bottom:17px;font-size:.75rem;font-weight:500}.project-section>p,.plain-list,.details-list,.faq-list p{color:var(--muted);font-size:.95rem}.plain-list{margin-top:10px;padding-left:19px}.plain-list li+li{margin-top:6px}.project-live-fact{font-family:var(--mono);margin-top:14px;font-size:.75rem!important}.details-list{grid-template-columns:120px minmax(0,1fr);gap:10px 18px;display:grid}.details-list dt{color:var(--ink);font-family:var(--mono);font-size:.78rem}.details-list code{overflow-wrap:anywhere}.faq-list{gap:24px;display:grid}.faq-list h3{margin-bottom:8px;font-size:1.08rem;font-weight:400;line-height:1.3}.footer{border-top:1px solid var(--hairline);color:var(--muted);margin-top:60px;padding-top:22px;font-size:.84rem}.link-row{flex-wrap:wrap;gap:12px 22px;display:flex}.link-row a{text-underline-offset:3px;align-items:center;min-height:34px;text-decoration:underline;display:inline-flex}@media (hover:hover){.site-nav a:hover,.site-footer-links a:hover,.text-link:hover,.work-action:hover,.work-source-action:hover,.work-title-link:hover,.writing-card a:hover strong,.project-actions a:hover,.link-row a:hover{color:var(--brand-light)}.site-nav a:hover:after,.site-footer-links a:hover:after,.text-link:hover:after{transform-origin:0;transform:scaleX(1)}.work-action:hover,.work-source-action:hover{background:var(--quiet-fill)}}@media (max-width:900px){.writing-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}}@media (min-width:1024px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,2.8vw,40px)}}@media (min-width:901px){.faberon-page[lang=en] .hero h1,.faberon-page[lang=zh-CN] .hero h1{white-space:nowrap}}@media (min-width:601px) and (max-width:900px){.faberon-page[lang=en] .hero h1{white-space:nowrap;font-size:clamp(2rem,6vw,3.4rem);line-height:1.05}.faberon-page[lang=zh-CN] .hero h1{white-space:nowrap;font-size:clamp(2.25rem,5vw,2.8rem);line-height:1.15}.writing-section>.section-heading h2{white-space:nowrap;font-size:clamp(2rem,4vw,2.25rem)}}@media (min-width:601px){.work-card-copy{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px}.work-card-copy h3{grid-area:1/1}.work-card-copy .work-links{grid-area:1/2}.work-description{white-space:normal;word-break:auto-phrase;grid-area:2/1/auto/-1;line-height:1.55;transform:none}.work-description span{white-space:nowrap}}@media (max-width:860px){.site-header{align-items:center;gap:20px}.site-nav{justify-content:flex-end;max-width:380px}.hero{padding-top:36px}}@media (max-width:700px){.publication-grid,.writing-grid{grid-template-columns:1fr}.writing-card a{min-height:0;padding-bottom:0}.writing-grid{row-gap:32px}}@media (max-width:600px){:root{--space-boundary-side:64px;--space-grid-row:44px}.faberon-page[lang=en]{--mobile-display-size:clamp(1.36rem, 6.65vw, 2rem);--mobile-display-tracking:-.015em}.faberon-page[lang=zh-CN]{--mobile-display-size:clamp(1.74rem, 8.2vw, 2rem);--mobile-display-tracking:.005em}.site-header{flex-direction:row;align-items:center;gap:8px;padding-block:16px}.brand-lockup{flex:none;min-height:40px}.brand-lockup img{width:32px;height:32px;margin-right:8px}.brand-name{font-size:clamp(1.42rem,6.8vw,1.58rem)}.site-nav{flex-wrap:nowrap;flex:auto;justify-content:flex-end;gap:clamp(8px,2.7vw,12px);min-width:0;max-width:none}.site-nav a,.locale-switch{white-space:nowrap}.locale-switch .locale-current,.locale-switch .locale-divider{display:none}.locale-switch{gap:0}.hero{padding-top:28px}.hero h1{font-size:clamp(3.05rem,9vw + 1.25rem,3.65rem)}.faberon-page[lang=en] .hero h1,.faberon-page[lang=en] .section-heading h2{font-size:var(--mobile-display-size);letter-spacing:var(--mobile-display-tracking);line-height:1.15}.faberon-page[lang=en] .hero h1{white-space:nowrap;font-weight:600}.faberon-page[lang=en] .section-heading h2{text-wrap:nowrap;white-space:nowrap}.faberon-page[lang=zh-CN] .hero h1,.faberon-page[lang=zh-CN] .section-heading h2{font-size:var(--mobile-display-size);letter-spacing:var(--mobile-display-tracking);white-space:nowrap;line-height:1.15}.work-card-copy{flex-wrap:wrap;align-items:center;gap:0 8px;display:flex}.work-card-copy h3{min-width:0}.work-description{white-space:normal;flex-basis:100%;order:3;margin-top:2px;line-height:1.65;transform:none}.work-card-copy .work-links{margin-left:auto}.maker-avatar{width:80px;height:80px}.maker-profile{gap:16px}.maker-profile-copy{flex-direction:column;display:flex}.maker-profile-heading{display:contents}.maker-profile-copy h2{order:1;font-size:clamp(1.72rem,7.4vw,1.9rem)}.maker-profile-copy p{order:2}.maker-stats strong{font-size:.875rem}.maker-stats{order:3;gap:12px;margin-top:10px}.maker-stats li{gap:4px}.maker-stat-icon{width:14px;height:14px}.container{padding:44px 20px 72px}.details-list{grid-template-columns:1fr;gap:3px}.details-list dd+dt{margin-top:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
