:root{--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--leading-body: 1.5;--leading-label: 1.3;--leading-display: .93;--tracking-body: -.02em;--tracking-label: 0;--tracking-display: -.055em;--ink: #101010;--muted: #777;--line: #d9d9d9;--paper: #fff;--outer: #101010;--container-max-width: 1180px;--color-primary: #101010;--color-text-primary: #101010;--color-text-secondary: #666;--color-text-light: #888;--color-bg-primary: #fff;--color-bg-secondary: #fff;--color-border: #d9d9d9;--transition: .18s ease}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--outer);font-family:var(--font-ui);font-size:15px;line-height:var(--leading-display);letter-spacing:var(--tracking-display);-webkit-font-smoothing:antialiased}body.subpage-mode{padding:20px 24px}body.home-mode{background:var(--outer)}h1,h2,h3,h4,h5,h6,p,figure{margin:0;font:inherit}h1,h2,h3,h4,h5,h6{color:var(--ink);font-weight:600;letter-spacing:var(--tracking-display);line-height:var(--leading-display)}a,button,input,textarea,select{font-family:var(--font-ui)}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}.container{max-width:var(--container-max-width);margin:0 auto;padding:0}.site-page{min-height:calc(100vh - 40px);padding:0 18px 72px;background:var(--paper);border-radius:30px;overflow:hidden}.global-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:42px;font-size:.7rem;border-bottom:1px solid transparent}.site-page .global-nav{margin-inline:12px}.global-wordmark{justify-self:start;display:inline-block;width:fit-content;font-weight:650;letter-spacing:var(--tracking-label)}.global-context{justify-self:center;position:relative;color:var(--ink);text-transform:none;letter-spacing:var(--tracking-label);line-height:var(--leading-label)}.global-links{justify-self:end;display:flex;align-items:center;gap:clamp(18px,2.4vw,32px)}.global-links .lang-toggle{position:static!important;display:contents;top:auto!important;right:auto!important;bottom:auto!important;z-index:auto!important}.global-links .lang-btn{padding:0;color:inherit;font:inherit;font-weight:400;line-height:inherit}.global-links a,.global-links .lang-btn,.global-wordmark,.global-context,.back-link{position:relative;text-transform:none;letter-spacing:var(--tracking-label);line-height:var(--leading-label)}.global-links a:after,.global-links .lang-btn:after,.global-wordmark:after,.global-context:after,.back-link:after,.wordmark:after,.nav-links a:after{content:"";position:absolute;left:0;bottom:-5px;width:108%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.global-links a:hover:after,.global-links .lang-btn:hover:after,.global-links .lang-btn.active:after,.global-wordmark:hover:after,.global-context:hover:after,.back-link:hover:after,.wordmark:hover:after,.nav-links a:hover:after{transform:scaleX(1)}@media (prefers-reduced-motion: no-preference){.motion-enabled .motion-reveal{opacity:0;transform:translateY(18px)}.motion-enabled .motion-reveal.is-visible{animation:reveal-up .62s cubic-bezier(.22,.8,.22,1) var(--reveal-delay, 0ms) both}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.site-page .project-row:hover .project-image-inline img{transform:scale(1.045)}.site-page .project-image-inline img{transition:transform .46s cubic-bezier(.2,.8,.2,1)}}.site-page .mesh-background,.site-page .sticker-badge,.site-page .distortion-zone{display:none!important}.site-page .page-header,.site-page .projects-header,.site-page .project-header{padding:74px 0 36px!important;background:transparent!important;color:var(--ink)!important;text-align:left!important}.site-page .page-hero,.site-page .project-hero{padding:66px 0 18px!important;background:transparent!important;border:0!important}.site-page .tags-section{padding:0 0 22px!important;border:0!important}.site-page .section-header{display:flex!important;justify-content:space-between;margin-bottom:12px!important;color:var(--ink)!important;font-size:.76rem!important;text-transform:none!important}.site-page .page-title,.site-page .project-title,.site-page .display-text{max-width:15ch;color:var(--ink)!important;background:none!important;-webkit-text-fill-color:currentColor!important;font-size:clamp(2.1rem,5vw,4.6rem)!important;font-weight:550!important;line-height:.95!important;letter-spacing:-.07em!important;text-transform:none!important}.site-page .project-title{font-size:clamp(2rem,4vw,3.35rem)!important}.site-page .page-subtitle,.site-page .section-intro,.site-page .contact-intro,.site-page .intro-text,.site-page .overview-text{max-width:62ch;margin:14px 0 0!important;color:var(--muted)!important;text-align:left!important}.site-page .manifest-row{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important;padding:13px 0!important;border-top:1px solid var(--line)!important;color:var(--ink)!important;font-size:.72rem!important}.site-page .manifest-item{display:flex!important;flex-direction:column;gap:3px;text-align:left!important}.site-page .manifest-item:last-child{text-align:right!important;align-items:end}.site-page .manifest-label{color:var(--muted);font-weight:400;text-transform:none!important;letter-spacing:0!important}.site-page .projects-list-section,.site-page .project-section,.site-page .publications-section,.site-page .exhibitions-section,.site-page .teaching-section,.site-page .about-intro-section,.site-page .skills-section,.site-page .experience-section,.site-page .contact-section{padding:22px 0!important;background:transparent!important;border-top:0!important;border-bottom:0!important}.site-page .projects-hero{padding:54px 0 24px!important}.site-page .projects-hero .page-title{font-size:clamp(2.4rem,4vw,3.6rem)!important}.site-page .project-group{margin:0 0 42px}.site-page .project-group:last-child{margin-bottom:0}.site-page .project-group-heading{display:grid;grid-template-columns:38px 0 minmax(220px,1.3fr) 500px 52px;gap:9px;align-items:baseline;margin:0 0 8px}.site-page .project-group-title{grid-column:1 / span 3;margin:0;font-size:.72rem;font-weight:600;line-height:var(--leading-label);letter-spacing:var(--tracking-label)}.site-page .project-group-feature-label{grid-column:4;color:var(--muted);font-size:.7rem;line-height:var(--leading-label);letter-spacing:var(--tracking-label)}.site-page .project-row{display:grid!important;grid-template-columns:38px 120px minmax(220px,1.3fr) 500px 52px!important;align-items:baseline;gap:9px!important;margin:0!important;padding:10px 0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important}.site-page .project-row:hover{background:#f4f4f4!important;box-shadow:none!important;transform:none!important}.site-page .project-image-inline{width:108px;height:68px;overflow:hidden}.site-page .project-image-inline img{width:100%;height:100%;object-fit:cover;border-radius:0!important}.site-page .project-name,.site-page .project-featuring,.site-page .project-year{text-transform:none!important;letter-spacing:-.02em!important}.site-page .project-name{display:flex;flex-direction:column;gap:3px;min-width:0;opacity:1!important;visibility:visible!important;font-size:.88rem!important;font-weight:600!important}.site-page .project-name-en{line-height:var(--leading-label)}.site-page .project-featuring{color:var(--ink)!important;font-size:.82rem!important;font-weight:400;line-height:var(--leading-label)}.site-page .project-year,.site-page .project-name-domain{color:var(--muted)!important;font-size:.72rem!important}.site-page .project-num{grid-column:1!important}.site-page .project-image-inline{grid-column:2!important}.site-page .project-name{grid-column:3!important}.site-page .project-featuring{grid-column:4!important}.site-page .project-year{grid-column:5!important}.site-page .project-row{grid-template-columns:38px 0 minmax(220px,1.3fr) 500px 52px!important;min-height:48px;padding:9px 0!important;transition:grid-template-columns .26s ease,min-height .26s ease,padding .26s ease;cursor:default}.site-page .project-image-inline{width:0;height:0;opacity:0;transform:translate(-8px);transition:width .26s ease,height .26s ease,opacity .18s ease,transform .26s ease}.site-page .project-image-inline img{width:100%;height:100%;object-fit:cover}.site-page .project-image-placeholder{display:grid;width:100%;height:100%;place-items:center;box-sizing:border-box;border:1px solid var(--ink);color:var(--ink);font-size:.72rem;font-weight:600;line-height:var(--leading-label);letter-spacing:var(--tracking-label);padding:12px;text-align:center}.site-page .project-row:hover{grid-template-columns:38px 180px minmax(220px,1.3fr) 500px 52px!important;min-height:126px;padding:12px 0!important;background:transparent!important}.site-page .project-row:hover .project-image-inline{width:180px;height:104px;opacity:1;transform:translate(0)}.site-page .project-section{padding:22px 0!important;border-top:0!important;border-bottom:0!important}.site-page .publication-card,.site-page .exhibition-card,.site-page .expertise-card,.site-page .contact-card,.site-page .link-card,.site-page .skill-category,.site-page .info-card,.site-page .timeline-content{padding:18px 0!important;color:var(--ink)!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;transform:none!important}.site-page .publication-card:hover,.site-page .exhibition-card:hover,.site-page .expertise-card:hover,.site-page .contact-card:hover,.site-page .link-card:hover{background:#f6f6f6!important;box-shadow:none!important;transform:none!important}.site-page .publication-card h3,.site-page .exhibition-card h3,.site-page .expertise-card h3,.site-page .contact-card h3,.site-page .link-card h3,.site-page .section-title,.site-page .contact-info h2,.site-page .quick-links h2{color:var(--ink)!important;font-size:1.05rem!important;text-align:left!important;transform:none!important;left:auto!important}.site-page .section-title:after{display:none!important}.site-page .pub-badge,.site-page .pub-award,.site-page .exhibition-year,.site-page .project-tag,.site-page .tech-tag{color:var(--ink)!important;background:transparent!important;border:1px solid var(--ink)!important;border-radius:0!important;padding:4px 8px!important;font-size:.7rem!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important}.site-page .pub-link{color:var(--ink)!important;text-decoration:underline;text-underline-offset:3px}.site-page .exhibitions-grid,.site-page .expertise-grid{gap:0!important}.site-page .teaching-item,.site-page .publication-row{padding:14px 0!important;border-bottom:1px solid var(--line)!important}.site-page .contact-grid{gap:42px!important;margin-bottom:26px!important}.site-page .contact-methods,.site-page .links-grid{gap:0!important}.site-page .contact-icon,.site-page .link-icon,.site-page .expertise-icon,.site-page .info-icon{display:none!important}.site-page .skills-grid,.site-page .info-grid{gap:0!important}.site-page .skill-tags{gap:8px!important}.site-page .skill-tag:not(:last-child):after{content:"·"!important;margin-left:8px!important}.site-page .timeline:before,.site-page .timeline-marker{display:none!important}.site-page .timeline-item{padding:0!important;margin:0!important}.site-page .contact-cta{display:flex!important;align-items:baseline;gap:16px;margin-top:18px!important;padding:22px 0!important;background:transparent!important;border-top:0!important;text-align:left!important}.site-page .cta-title{font-size:.9rem!important;font-weight:500!important;text-transform:none!important;letter-spacing:-.02em!important}.site-page .cta-button{display:inline-block!important;margin:0!important;padding:0 0 2px!important;color:var(--ink)!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--ink)!important;font-size:.78rem!important;text-transform:none!important}.site-page .project-body{max-width:62ch;font-size:clamp(1rem,1.1vw,1.1rem);line-height:1.65;letter-spacing:-.02em;color:var(--ink)}.site-page .project-body h2{margin:48px 0 12px;font-size:1.2rem;font-weight:650;line-height:1.3;letter-spacing:0}.site-page .project-body h3{margin:32px 0 8px;font-size:1rem;font-weight:600;line-height:1.3;letter-spacing:0}.site-page .project-body p{margin:0 0 18px}.site-page .project-body img{width:100%;display:block;margin:32px 0}.site-page .project-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.site-page .project-body ul,.site-page .project-body ol{margin:0 0 18px 20px;line-height:1.65}.site-page .project-body li{margin-bottom:6px}.site-page .project-body blockquote{margin:24px 0;padding-left:16px;border-left:2px solid var(--ink);opacity:.8}.site-page .project-cover{margin:24px 0 48px}.site-page .project-cover img{width:100%;display:block}.site-page .project-tagline{margin-top:8px;color:var(--muted);text-transform:none;font-size:.85rem}.site-page .project-year-label{display:inline-block;margin-top:6px;color:var(--muted);text-transform:none}.site-page .media-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0}.site-page .media-gallery:has(.media-item:only-child){grid-template-columns:1fr}.site-page .media-item{margin:0;background:#efefed}.site-page .media-item img,.site-page .media-item video{width:100%;max-height:300px;object-fit:contain;display:block}@media (max-width: 720px){body.subpage-mode{padding:0}.site-page{min-height:100vh;padding:0 14px 42px;border-radius:0}.global-nav{grid-template-columns:1fr auto 1fr;min-height:56px}.global-context{display:inline-block}.global-links{gap:14px;font-size:.65rem}.site-page .page-header,.site-page .projects-header,.site-page .project-header{padding:62px 0 28px!important}.site-page .page-hero,.site-page .project-hero{padding:58px 0 16px!important}.site-page .contact-cta{align-items:flex-start;flex-direction:column;gap:8px}.site-page .manifest-row{grid-template-columns:1fr 1fr!important;gap:14px!important}.site-page .manifest-item:last-child{align-items:start;text-align:left!important}.site-page .project-row{grid-template-columns:28px 1fr 52px!important;gap:10px!important}.site-page .project-group-heading{grid-template-columns:28px 1fr 52px;gap:10px}.site-page .project-group-title{grid-column:1 / span 2}.site-page .project-group-feature-label{display:none}.site-page .project-image-inline{display:none!important}.site-page .project-featuring{grid-column:2 / span 2!important;margin-top:-4px}.site-page .project-num{grid-column:1!important}.site-page .project-name{grid-column:2!important}.site-page .project-year{grid-column:3!important}.site-page .contact-grid{grid-template-columns:1fr!important;gap:26px!important}}:root{--black: #101010;--paper: #ffffff}[data-astro-cid-37fxchfa]{box-sizing:border-box;margin:0;padding:0;cursor:default}body{font-family:var(--font-ui);color:var(--black);background-color:#101010;overflow-x:hidden;width:100vw;min-height:100vh}.lang-toggle[data-astro-cid-37fxchfa]{position:fixed;top:28px;right:36px;z-index:1000;display:flex;gap:14px;align-items:center}.lang-btn[data-astro-cid-37fxchfa]{position:relative;padding:0;border:none;background:transparent;color:var(--black);font-size:.68rem;font-weight:400;cursor:pointer;text-transform:none;letter-spacing:0;transition:all .2s ease}.lang-btn[data-astro-cid-37fxchfa]:after{content:"";position:absolute;left:0;bottom:-5px;width:108%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.lang-btn[data-astro-cid-37fxchfa]:hover:after,.lang-btn[data-astro-cid-37fxchfa].active:after{transform:scaleX(1)}
