@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600&family=Noto+Sans+SC:wght@400;500&display=swap";:root{color-scheme:light;--page-bg: #f5f3ef;--panel-bg: rgba(255, 255, 255, .42);--text-strong: #1a1a1a;--text-body: #444444;--text-soft: #888888;--line: #d4d0c8;--shadow-soft: 0 24px 80px rgba(47, 39, 24, .08)}*{box-sizing:border-box}html{font-size:16px}body.lightbox-open{overflow:hidden}body{margin:0;min-width:320px;background:var(--page-bg);color:var(--text-body);font-family:Inter,Noto Sans SC,system-ui,sans-serif}a{color:inherit;text-decoration:none}#root{min-height:100vh}.coming-soon-page{min-height:100vh;width:100%;display:grid;place-items:center;padding:24px;background:var(--page-bg)}.coming-soon-text{margin:0;color:var(--text-strong);font-family:"Instrument Serif",serif;font-size:clamp(3.5rem,8vw,6rem);font-style:italic;font-weight:400;line-height:1;text-align:center}.page-shell{position:relative;min-height:100vh}.topbar{position:sticky;top:0;z-index:100;width:100%;min-height:80px;background:#f5f3ef40;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);display:flex;align-items:center;justify-content:center}.topbar-inner{width:100%;max-width:1440px;padding-left:clamp(24px,5.6vw,80px);padding-right:clamp(24px,5.6vw,80px);display:flex;align-items:center;justify-content:space-between}.brand{color:var(--text-strong);font-family:"Instrument Serif",serif;font-size:1.375rem;font-style:italic;letter-spacing:.02em}.nav{display:flex;align-items:center;gap:clamp(20px,4vw,48px)}.nav-link{color:#666;font-size:.8125rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;transition:color .18s ease}.nav-link:hover,.nav-link:focus-visible{color:var(--text-strong)}.nav-link-active{color:var(--text-strong);font-weight:500}.hero,.bio-section{position:relative;z-index:1;width:min(100%,1440px);margin:0 auto;padding-left:clamp(24px,5.6vw,80px);padding-right:clamp(24px,5.6vw,80px)}.hero{display:flex;flex-direction:column;align-items:center;gap:clamp(22px,3vw,28px);padding-top:clamp(64px,9vw,100px);padding-bottom:clamp(40px,5vw,60px);text-align:center}.avatar-frame{position:relative;width:clamp(140px,22vw,180px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%}.avatar-image{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}.identity{display:flex;flex-direction:column;gap:.8rem;align-items:center}.name{margin:0;color:var(--text-strong);font-family:"Instrument Serif",serif;font-size:clamp(2.5rem,4.5vw,3rem);font-style:italic;font-weight:400;line-height:1}.role{margin:0;max-width:44rem;color:var(--text-soft);font-size:.8125rem;letter-spacing:.154em;line-height:1.45;text-transform:uppercase}.divider{width:48px;height:1px;background:var(--line)}.bio-section{display:flex;justify-content:center;padding-bottom:clamp(72px,10vw,120px)}.bio-copy{width:min(100%,680px);display:flex;flex-direction:column;gap:22px}.bio-paragraph{margin:0;color:var(--text-body);font-size:.96875rem;line-height:1.8;text-align:center;text-wrap:pretty}.bio-muted{color:#666}.bio-contact{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:18px}.bio-contact-rule{width:40px;height:1px;background:var(--line)}.bio-contact-link{color:var(--text-soft);font-size:.9375rem;line-height:1;letter-spacing:.08em;transition:opacity .2s ease}.bio-contact-link:hover{opacity:.6}.albums-hero{position:relative;z-index:1;width:min(100%,1440px);margin:0 auto;padding:clamp(72px,10vw,100px) clamp(24px,5.6vw,80px) 56px;display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.albums-title{margin:0;color:var(--text-strong);font-family:"Instrument Serif",serif;font-size:clamp(3rem,6vw,4.125rem);font-style:italic;font-weight:400;line-height:.96}.albums-subtitle{margin:0;max-width:40rem;color:var(--text-body);font-size:.8125rem;font-weight:500;letter-spacing:.18em;line-height:1.8}.albums-divider{width:80px;height:1px;background:var(--line)}.albums-grid-section{position:relative;z-index:1;width:min(100%,1440px);margin:0 auto;padding-left:clamp(24px,5.6vw,80px);padding-right:clamp(24px,5.6vw,80px);padding-bottom:clamp(80px,12vw,120px)}.albums-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px)}.album-card{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;cursor:pointer;text-decoration:none}.album-preview{--preview-size: 240px;position:relative;width:min(100%,var(--preview-size));aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:visible}.album-cover{position:relative;width:min(100%,calc(100% * var(--cover-ratio, 1)))}.album-photo{position:absolute;left:50%;top:50%;overflow:hidden;border-radius:6px;border:6px solid #ffffff;box-shadow:0 10px 28px #2f27181f;background:#d9d4ca;transform-origin:center center}.album-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.album-name{color:var(--text-soft);font-size:.8125rem;font-weight:400;letter-spacing:.06em;line-height:1.35;text-align:center;text-wrap:balance}.album-title-stack{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.album-title{margin:0;color:var(--text-strong);font-family:"Instrument Serif",serif;font-size:clamp(2.5rem,5vw,4rem);font-style:italic;font-weight:400;line-height:1.1;text-wrap:balance}.album-title-zh{margin:0;max-width:36rem;color:var(--text-soft);font-family:Noto Sans SC,Inter,sans-serif;font-size:clamp(.9375rem,2.1vw,1rem);font-weight:400;letter-spacing:.08em;line-height:1.5}.album-gear{margin:0;color:var(--text-body);font-size:.8125rem;font-weight:500;letter-spacing:.18em;line-height:1.8}.album-intro-block{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:clamp(1.5rem,4vw,3rem);width:100%;max-width:56rem}.album-intro{flex:1 1 0;margin:0;color:var(--text-soft);font-size:.9375rem;line-height:1.85;text-align:center;text-wrap:pretty}@media(max-width:640px){.album-intro-block{flex-direction:column;align-items:stretch;gap:1rem;max-width:36rem}.album-intro{flex:none}}.album-intro-en{color:#5c5a56;font-family:Inter,Noto Sans SC,sans-serif}.album-intro-zh{color:#6e6b66;font-family:Noto Sans SC,Inter,sans-serif;letter-spacing:.02em}.album-meta{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem;width:min(100%,1440px);margin:0 auto;padding:clamp(56px,8vw,80px) clamp(24px,5.6vw,80px) 40px;text-align:center}.album-divider-line{width:100%;height:1px;background:#e0ddd7;position:relative;z-index:1}.album-masonry{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,2vw,16px);width:min(100%,1440px);margin:0 auto;padding:clamp(20px,3vw,40px) clamp(16px,2.8vw,40px) clamp(80px,12vw,120px)}.masonry-col{display:flex;flex-direction:column;gap:clamp(10px,2vw,16px)}.masonry-item{cursor:pointer}.masonry-item-frame{width:100%;height:100%;border-radius:8px;overflow:hidden}.masonry-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease,opacity .18s ease}.masonry-item:hover img{transform:scale(1.02)}.album-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:24px;color:var(--text-soft);font-size:1rem}.album-not-found a{color:var(--text-strong);font-weight:500;font-size:.875rem;letter-spacing:.1em}.lightbox-overlay{position:fixed;inset:0;z-index:1000;background:#000000d1;display:flex;align-items:center;justify-content:center;padding:24px;will-change:opacity}.lightbox-stage{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:100%;max-height:100%}.lightbox-content{border-radius:4px;overflow:hidden;will-change:transform}.lightbox-content img{display:block;width:100%;height:100%;object-fit:contain}.lightbox-close{flex:0 0 auto;width:44px;height:44px;background:none;border:none;cursor:pointer;color:#ccc;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s ease}.lightbox-close:hover{color:#fff}@media(max-width:1024px){.album-preview{--preview-size: 220px}.albums-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.album-preview{--preview-size: 200px}.hero{padding-top:56px;gap:1.25rem}.role{letter-spacing:.1em;line-height:1.6}.bio-paragraph{font-size:.9375rem}.albums-grid{grid-template-columns:1fr;gap:40px}}
