:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body{color:#5d4037;background-color:#f7e0ad;margin:0;font-family:Songti SC,SimSun,STSong,Georgia,serif;overflow:hidden}#canvas-container{z-index:1;width:100%;height:100vh;position:absolute;top:0;left:0}#ui-layer{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.instruction-container{justify-content:center;align-items:center;width:100%;transition:opacity .8s;display:flex;position:absolute;top:30%}.main-logo{object-fit:contain;width:33vw;height:33vh;display:block}.logo-small{z-index:20;pointer-events:none;width:200px;height:auto;transition:opacity .8s;position:absolute;top:30px;left:40px}.sidebar-nav-fixed{z-index:20;pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;top:50%;right:40px;transform:translateY(-58%)}.sidebar-action-fixed{z-index:20;pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:40px;right:40px}.sidebar-icon{width:56px;height:auto;transition:transform .2s;display:block}.sidebar-info-icon{object-fit:contain;width:56px;height:auto;display:block}.sidebar-icon.interactive{cursor:pointer}.sidebar-icon.interactive:hover{transform:scale(1.05)}.sidebar-icon.interactive:active{transform:scale(.95)}.active-label-card{z-index:15;pointer-events:none;position:absolute;top:auto;bottom:8%;right:140px}.architect-card-img{pointer-events:auto;cursor:pointer;will-change:opacity,filter,transform;border-radius:4px;width:auto;max-width:40vw;height:45vh;transition:transform .2s;animation:2s cubic-bezier(.2,.8,.2,1) forwards blurFadeIn;display:block;box-shadow:0 10px 30px #5d403726}.architect-card-img:active{transform:scale(.98)}.detail-hint{color:#5d4037;letter-spacing:2px;pointer-events:none;text-align:center;border-top:1px solid #8d6e63;padding-top:10px;font-size:.75rem;font-weight:400;transition:opacity .5s;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.detail-overlay{z-index:50;background-color:#f7e0ad;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.5s ease-out fadeIn;display:flex;position:absolute;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-content-wrapper{gap:60px;width:85vw;height:80vh;display:flex}.detail-left-panel{background:url(/profile-bg.png) 50%/100% 100% no-repeat;border:none;flex-direction:column;width:35%;padding:50px 40px;display:flex;position:relative;box-shadow:10px 10px 30px #50232026}.profile-header-row{justify-content:space-between;align-items:stretch;margin-bottom:30px;display:flex}.profile-info-col{flex-direction:column;flex:1;justify-content:space-between;padding-right:20px;display:flex}.architect-name-cn{color:#502320;letter-spacing:5px;margin:0 0 10px;font-family:Songti SC,SimSun,serif;font-size:3.5rem;font-weight:900;line-height:1}.architect-name-en{color:#502320;letter-spacing:4px;text-transform:uppercase;margin-bottom:auto;font-family:Helvetica Neue,Arial,sans-serif;font-size:1rem}.profile-deco-logo{opacity:.6;filter:sepia()hue-rotate(-50deg)saturate(2);width:120px;height:auto}.profile-portrait-col{aspect-ratio:3/4;background-color:#e0e0e0;flex-shrink:0;width:auto;height:28vh;overflow:hidden;box-shadow:2px 2px 10px #00000026}.architect-portrait{object-fit:cover;width:100%;height:100%}.architect-meta{color:#502320;flex-direction:column;gap:8px;margin-top:80px;display:flex}.birth-info-cn{color:#c99a6a;margin-bottom:5px;font-family:Songti SC,SimSun,serif;font-size:1.1rem;font-weight:700}.titles-list-cn .title-item-cn{color:#502320;font-family:Songti SC,SimSun,serif;font-size:1rem;font-weight:700;line-height:1.8}.meta-spacer{height:30px}.birth-info-en{opacity:.8;color:#c99a6a;margin-bottom:2px;font-size:.8rem}.titles-list-en .title-item-en{opacity:.8;color:#502320;font-size:.8rem;line-height:1.4}.detail-right-panel{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;padding-right:20px;display:flex;overflow-y:auto}.detail-right-panel::-webkit-scrollbar{display:none}.bio-section{margin-bottom:40px}.bio-cn{color:#502320;text-align:justify;text-indent:2em;margin-bottom:25px;font-family:Songti SC,SimSun,serif;font-size:1.2rem;font-weight:700;line-height:2}.bio-en{color:#502320;opacity:.9;text-align:justify;font-size:.95rem;line-height:1.6}.projects-section{margin-top:10px}.project-gallery{gap:20px;display:flex}.project-card{flex-direction:column;flex:1;display:flex}.project-img-wrapper{aspect-ratio:16/9;width:100%;margin-bottom:12px;overflow:hidden}.project-img-wrapper img{object-fit:cover;width:100%;height:100%}.project-info{border-top:none}.project-name-cn{color:#502320;margin-bottom:4px;font-family:Songti SC,SimSun,serif;font-size:.9rem;font-weight:700}.project-name-en{color:#502320;opacity:.7;font-size:.75rem;line-height:1.2}@keyframes blurFadeIn{0%{opacity:0;filter:blur(10px);transform:scale(.95)}to{opacity:1;filter:blur();transform:scale(1)}}.scroll-hint-arrow{z-index:100;pointer-events:none;opacity:.8;width:24px;height:24px;transition:opacity .3s;animation:2s infinite bounceArrow;position:absolute;bottom:5vw;right:7vw}.scroll-hint-arrow:after{content:"";border-bottom:3px solid #333;border-right:3px solid #333;width:16px;height:16px;margin:0 auto;display:block;transform:rotate(45deg)}@keyframes bounceArrow{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.timeline-page{--timeline-bg:#f6f1ea;--timeline-grid:#c5a6822e;--timeline-line:#a48a7b;--timeline-gold:#e3ac3d;--timeline-brown:#704733;--timeline-text:#8a5c43;background:linear-gradient(to right,var(--timeline-grid)1px,transparent 1px),linear-gradient(to bottom,var(--timeline-grid)1px,transparent 1px),var(--timeline-bg);background-size:108px 108px;width:100%;height:100vh;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,Helvetica Neue,Arial,sans-serif;position:relative;overflow:hidden}.timeline-page__grid{pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#ffffff3d 1px,#0000 1px),linear-gradient(#ffffff3d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.timeline-page__logo{z-index:3;opacity:.86;width:144px;position:fixed;top:42px;left:32px}.timeline-page__viewport{z-index:1;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-x;-webkit-user-select:none;user-select:none;height:calc(100vh - 160px);padding-top:104px;position:relative;overflow:auto hidden}.timeline-page__viewport::-webkit-scrollbar{display:none}.timeline-page__viewport.is-grabbed{cursor:grabbing}.timeline-page__track{width:max-content;height:100%;padding-left:32px;padding-right:20vw;display:flex;position:relative}.timeline-page__axis{background:var(--timeline-line);pointer-events:none;height:2px;position:absolute;top:128px;left:0;right:0}.timeline-era{box-sizing:border-box;scroll-snap-align:start;flex:none;min-width:fit-content;height:100%;padding:0 36px 24px 28px}.timeline-era__years{align-items:flex-start;gap:40px;height:100%;padding-top:36px;padding-bottom:12px;display:flex}.timeline-year{flex:0 0 172px;min-width:172px;height:100%;padding-top:0;position:relative}.timeline-year--era{flex-basis:320px;min-width:320px}.timeline-year--era .timeline-year__dot,.timeline-year--era .timeline-year__label{left:96px}.timeline-year--era .timeline-card{width:min(190px,100%)}.timeline-year--era .timeline-card__text{font-size:14px}.timeline-year--era .timeline-year__entries{padding-left:116px}.timeline-year:after{content:"";background-image:linear-gradient(#a48a7be6 40%,#a48a7b00 0%);background-repeat:repeat-y;background-size:1px 10px;width:1px;position:absolute;top:102px;bottom:0;left:12px}.timeline-year.timeline-year--era:after{left:96px}.timeline-year__marker{min-height:108px;display:block;position:relative}.timeline-year__dot{border:2px solid var(--timeline-gold);background:var(--timeline-bg);border-radius:50%;width:10px;height:10px;position:absolute;top:87px;left:12px;transform:translate(-50%)}.timeline-year__label{color:var(--timeline-gold);white-space:nowrap;text-align:center;font-size:clamp(22px,2.8vw,28px);font-weight:700;line-height:1;position:absolute;bottom:28px;left:12px;transform:translate(-50%)}.timeline-year__label--era{letter-spacing:.04em;font-size:clamp(38px,4.6vw,54px)}.timeline-year__entries{flex-direction:column;gap:12px;height:calc(100% - 116px);padding:14px 0 0 32px;display:flex}.timeline-card{width:min(160px,100%);box-shadow:none;text-align:left;cursor:default;background:0 0;border:0;border-radius:0;padding:0;font-family:inherit}.timeline-card__tag{background:var(--timeline-brown);color:#fff;letter-spacing:.02em;margin-bottom:10px;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-block}.timeline-card__tag--event{background:#502320}.timeline-card__tag--society{background:#bc7844}.timeline-card__tag--prize{background:#d3950f}.timeline-card__text{color:var(--timeline-text);white-space:pre-line;margin:0;font-size:13px;font-weight:700;line-height:1.7}.timeline-page__nav{z-index:3;box-sizing:border-box;justify-content:center;align-items:center;gap:16px;width:min(100%,1420px);padding:0 24px;display:flex;position:fixed;bottom:24px;left:50%;overflow:visible;transform:translate(-50%)}.timeline-era-button{color:#70473394;letter-spacing:.02em;background:#ffffffbd;border:1px solid #7047331f;border-radius:12px;width:198px;min-width:198px;height:66px;min-height:66px;font-family:inherit;font-size:22px;font-weight:700;transition:background-color .2s,border-color .2s,color .2s;box-shadow:inset 0 1px #ffffffb3}.timeline-page__switch-info{object-fit:contain;flex:0 0 120px;width:120px;height:66px;margin-left:4px;display:block}.timeline-era-button:hover{border-color:#70473366}.timeline-era-button.is-active{color:var(--timeline-brown);box-shadow:none;background:#fffaf4fa;border-color:#704733e6}@media (max-width:1200px){.timeline-era{padding-inline:20px}.timeline-year{flex-basis:150px;min-width:150px}.timeline-year--era{flex-basis:268px;min-width:268px}.timeline-year--era .timeline-year__entries{padding-left:92px}.timeline-page__nav{gap:10px}.timeline-era-button{width:118px;min-width:118px}}@media (max-width:900px){.timeline-page__logo{width:114px;top:24px;left:20px}.timeline-page__viewport{height:calc(100vh - 190px);padding-top:86px}.timeline-page__axis{top:110px}.timeline-page__nav{flex-wrap:wrap;width:calc(100% - 24px)}.timeline-year{flex-basis:144px}.timeline-year__marker{min-height:96px}.timeline-year__dot{top:75px}.timeline-year__entries{height:calc(100% - 102px)}.timeline-year--era .timeline-year__dot,.timeline-year--era .timeline-year__label,.timeline-year.timeline-year--era:after{left:72px}.timeline-year:after{top:90px}}@media (max-width:640px){.timeline-page__viewport{height:calc(100vh - 220px)}.timeline-era{padding-inline:16px}.timeline-era__years{gap:20px}.timeline-year{min-width:136px}.timeline-year__entries{padding-left:24px}.timeline-page__nav{gap:8px;bottom:16px}.timeline-era-button{width:calc(25% - 8px);min-width:140px;height:56px;min-height:56px;font-size:18px}.timeline-page__switch-info{flex-basis:96px;width:96px;height:56px}}
