@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);--topbar-bg: rgba(245, 243, 239, .25);--photo-frame: #ffffff;--photo-placeholder: #d9d4ca;--photo-shimmer: rgba(255, 255, 255, .65);--photo-shadow: 0 10px 28px rgba(47, 39, 24, .12)}[data-theme=dark]{color-scheme:dark;--page-bg: #1a1815;--panel-bg: rgba(28, 26, 23, .48);--text-strong: #ede8df;--text-body: #bdb6a9;--text-soft: #857f74;--line: #2c2823;--shadow-soft: 0 24px 80px rgba(0, 0, 0, .5);--topbar-bg: rgba(26, 24, 21, .55);--photo-frame: #ede8df;--photo-placeholder: #2c2823;--photo-shimmer: rgba(255, 255, 255, .07);--photo-shadow: 0 10px 28px rgba(0, 0, 0, .45)}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .32s ease,color .32s ease,border-color .32s ease,box-shadow .32s ease,fill .32s ease,stroke .32s ease!important}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:ease}@keyframes photo-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.photo-frame{position:relative;background:var(--photo-placeholder)}.photo-frame:after{content:"";position:absolute;inset:0;background-image:linear-gradient(100deg,transparent 0%,var(--photo-shimmer) 45%,var(--photo-shimmer) 55%,transparent 100%);background-size:200% 100%;background-repeat:no-repeat;animation:photo-shimmer 1.5s ease-in-out infinite;opacity:1;transition:opacity .28s ease;pointer-events:none;z-index:0}.photo-frame>img{position:relative;z-index:1;opacity:0;transition:opacity .38s ease}.photo-frame.is-loaded:after{opacity:0;animation-play-state:paused}.photo-frame.is-loaded>img{opacity:1}*{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:var(--topbar-bg);-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:var(--text-soft);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}.topbar-end{display:flex;align-items:center;gap:clamp(16px,3vw,28px)}.theme-toggle{position:relative}.theme-toggle-trigger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;margin:0;border:none;border-radius:999px;background:transparent;color:var(--text-soft);cursor:pointer;transition:color .18s ease,background-color .18s ease}.theme-toggle-trigger:hover,.theme-toggle-trigger:focus-visible,.theme-toggle-trigger[aria-expanded=true]{color:var(--text-strong);background:var(--panel-bg)}.theme-toggle-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:110;min-width:132px;margin:0;padding:6px;list-style:none;background:var(--panel-bg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-soft)}.theme-toggle-option{display:block;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-soft);font:inherit;font-size:.8125rem;letter-spacing:.04em;text-align:left;cursor:pointer;transition:color .14s ease,background-color .14s ease}.theme-toggle-option:hover,.theme-toggle-option:focus-visible{color:var(--text-strong);background:#7f7f7f14}.theme-toggle-option.is-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:var(--text-soft)}.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 var(--photo-frame);box-shadow:var(--photo-shadow);background:var(--photo-placeholder);transform-origin:center center}.album-photo img{display:block;width:100%;height:100%;object-fit:cover;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:var(--text-soft);font-family:Inter,Noto Sans SC,sans-serif}.album-intro-zh{color:var(--text-soft);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:var(--line);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}}
