/* Profile archive interaction layer. */
.profile-film{--px:0px;--py:0px}.profile-film .intro-film-fallback{transform:translate(var(--px),var(--py)) scale(1.04)!important;transition:transform .7s ease;filter:blur(5px) brightness(.7);animation:archiveLight 1.1s cubic-bezier(.16,1,.3,1) forwards!important}.profile-film .intro-film-copy{opacity:0;transform:translateY(12px);transition:opacity .36s .18s,transform .6s cubic-bezier(.16,1,.3,1)}.profile-film.profile-ready .intro-film-copy{opacity:1;transform:none}.profile-film .profile-kicker{display:block;opacity:0;transform:translateY(10px);animation:archiveItem .45s .18s forwards}.profile-film .intro-film-copy h2{overflow:hidden}.profile-film .intro-film-copy h2>span,.profile-film .intro-film-copy h2 em{display:inline-block;clip-path:inset(0 100% 0 0);animation:titleUnmask .58s cubic-bezier(.16,1,.3,1) forwards}.profile-film .intro-film-copy h2 em{animation-delay:.16s}.profile-layout{position:relative}.profile-photo-wrap{position:relative;transition:transform .6s cubic-bezier(.16,1,.3,1);opacity:0;filter:blur(8px);animation:photoUnlock .78s .28s cubic-bezier(.16,1,.3,1) forwards}.profile-photo-wrap img{display:block;width:100%;height:100%;object-fit:cover}.profile-photo-wrap:after{content:"";position:absolute;inset:0;border:1px solid rgba(228,199,255,.68);box-shadow:0 0 26px rgba(168,83,255,.16);pointer-events:none}.photo-scan{position:absolute;z-index:2;left:0;right:0;height:1px;top:0;background:#e5c6ff;box-shadow:0 0 17px 4px #b45dff;animation:photoScan .9s .42s ease-out forwards}.profile-data{position:relative;overflow:hidden}.profile-data dl{position:relative;z-index:2}.profile-data dl div{opacity:0;transform:translateY(10px);transition:background .25s,border-color .25s}.profile-ready .profile-data dl div{animation:scanRow .42s cubic-bezier(.16,1,.3,1) forwards}.profile-ready .profile-data dl div:nth-child(1){animation-delay:.46s}.profile-ready .profile-data dl div:nth-child(2){animation-delay:.56s}.profile-ready .profile-data dl div:nth-child(3){animation-delay:.66s}.profile-ready .profile-data dl div:nth-child(4){animation-delay:.76s}.profile-ready .profile-data dl div:nth-child(5){animation-delay:.86s}.profile-ready .profile-data dl div:nth-child(6){animation-delay:.96s}.profile-ready .profile-data dl div:nth-child(7){animation-delay:1.06s}.profile-data .profile-scan{position:absolute;z-index:3;left:0;right:0;top:0;height:1px;background:#e8bfff;box-shadow:0 0 18px 4px rgba(179,91,255,.8);animation:dataScan 1.12s .42s cubic-bezier(.45,0,.2,1) forwards}.profile-data dl div:hover{background:linear-gradient(90deg,rgba(156,77,235,.13),transparent);border-color:rgba(226,187,255,.78)}.profile-data dl div:hover dt{color:#fff}.profile-copy,.profile-wechat{cursor:pointer}.profile-copy dd small,.profile-wechat dd small{display:inline-block;margin-left:9px;font:8px 'DM Mono';letter-spacing:.08em;color:#d5a9ff;opacity:0;transform:translateX(-4px);transition:.25s}.profile-copy:hover dd small,.profile-wechat:hover dd small{opacity:1;transform:none}.profile-assistant{position:absolute;z-index:6;left:clamp(195px,22vw,315px);top:clamp(97px,11vw,145px);display:grid;place-items:center;width:47px;height:47px;padding:0;border:1px solid rgba(229,205,255,.68);border-radius:50%;background:rgba(37,14,58,.62);color:#f4e7ff;cursor:pointer;backdrop-filter:blur(10px);animation:assistantFloat 4.5s ease-in-out infinite}.profile-assistant i{font-size:19px;font-style:normal;transition:.35s}.profile-assistant small{position:absolute;top:55px;left:50%;width:max-content;transform:translateX(-50%);font:7px 'DM Mono';letter-spacing:.1em;color:#d9bdff;opacity:0;transition:.25s}.profile-assistant:hover,.profile-film.assistant-active .profile-assistant{background:#9c5bd6;color:#fff;box-shadow:0 0 0 9px rgba(185,105,255,.11),0 0 30px rgba(188,108,255,.7)}.profile-assistant:hover i,.profile-film.assistant-active .profile-assistant i{transform:rotate(90deg) scale(1.18)}.profile-assistant:hover small{opacity:1}.profile-assistant:after{content:"";position:absolute;inset:-13px;border:1px solid rgba(220,179,255,.42);border-radius:50%;opacity:0}.profile-assistant:hover:after,.profile-film.assistant-active .profile-assistant:after{animation:assistantPing 1.3s ease-out infinite}.profile-close-ring{position:fixed;z-index:20;width:48px;height:48px;margin:-24px;border:1px solid rgba(225,198,255,.4);border-radius:50%;pointer-events:none;opacity:0;transform:scale(.7);transition:opacity .3s,transform .4s}.profile-close-ring:after{content:"";position:absolute;inset:7px;border-top:1px solid #dec0ff;border-radius:50%;transform:rotate(-30deg)}.profile-close-ring.is-visible{opacity:.72;transform:scale(1)}.profile-close-copy{opacity:0;animation:archiveItem .42s 1.12s forwards}.wechat-card{position:absolute;z-index:30;right:clamp(6vw,12vw,220px);bottom:10vh;display:flex;flex-direction:column;align-items:center;gap:10px;width:190px;padding:17px;border:1px solid rgba(230,204,255,.62);border-radius:17px;background:rgba(26,10,43,.94);box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 28px rgba(172,91,255,.35);color:#fff;opacity:0;pointer-events:none;transform:translateY(15px) scale(.94);transition:.32s}.wechat-card.is-open{opacity:1;pointer-events:auto;transform:none}.wechat-card button{position:absolute;right:8px;top:5px;border:0;background:transparent;color:#d8bcf7;font-size:20px;cursor:pointer}.wechat-card>span,.wechat-card small{font:8px 'DM Mono';letter-spacing:.09em;color:#d8baff}.wechat-card strong{font:500 13px 'DM Mono'}.qr-art{width:112px;height:112px;background:linear-gradient(90deg,#fff 12%,transparent 12% 18%,#fff 18% 27%,transparent 27% 33%,#fff 33% 43%,transparent 43% 51%,#fff 51% 58%,transparent 58% 69%,#fff 69% 79%,transparent 79% 87%,#fff 87%),linear-gradient(#fff 12%,transparent 12% 20%,#fff 20% 28%,transparent 28% 38%,#fff 38% 49%,transparent 49% 59%,#fff 59% 68%,transparent 68% 78%,#fff 78% 89%,transparent 89%),#24103d;opacity:.92}.profile-closing .profile-data dl div{animation:archiveRecall .42s forwards!important}.profile-closing .profile-photo-wrap{animation:photoDissolve .62s forwards}.profile-closing .intro-film-copy h2,.profile-closing .profile-kicker{animation:signalPoint .58s forwards}.profile-closing .profile-assistant,.profile-closing .profile-close-copy{opacity:0}.profile-closing .intro-film-fallback{animation:archiveFade .72s forwards!important}
@keyframes archiveLight{0%{filter:blur(9px) brightness(.25);opacity:.2;transform:translateX(5%) scale(1.1)}100%{filter:blur(0) brightness(1);opacity:1;transform:translate(var(--px),var(--py)) scale(1.04)}}@keyframes archiveItem{to{opacity:1;transform:none}}@keyframes titleUnmask{to{clip-path:inset(0 0 0 0)}}@keyframes photoUnlock{to{opacity:1;filter:blur(0)}}@keyframes photoScan{to{top:100%;opacity:0}}@keyframes scanRow{to{opacity:1;transform:none}}@keyframes dataScan{to{top:100%;opacity:0}}@keyframes assistantFloat{50%{transform:translateY(-6px)}}@keyframes assistantPing{to{transform:scale(1.35);opacity:0}}@keyframes archiveRecall{to{opacity:0;transform:translate(-34px,-8px) scale(.76);filter:blur(4px)}}@keyframes photoDissolve{to{opacity:0;filter:brightness(2) blur(13px);transform:scale(1.08)}}@keyframes signalPoint{to{opacity:0;transform:scale(.04) translate(300px,40px);filter:blur(6px)}}@keyframes archiveFade{to{opacity:0;filter:blur(8px) brightness(2)}}
@media(max-width:750px){.profile-assistant{left:125px;top:77px;width:39px;height:39px}.wechat-card{right:6vw;bottom:9vh;width:172px}.profile-copy dd small,.profile-wechat dd small{display:none}.profile-close-ring{display:none}}
.profile-signal-point{position:absolute;z-index:40;left:50%;top:50%;font:700 16px 'DM Mono';letter-spacing:-.08em;color:#f4dfff;opacity:0;transform:translate(-50%,-50%) scale(.1);text-shadow:0 0 19px #b764ff;pointer-events:none}.profile-closing .profile-signal-point{animation:signalAppear .55s .22s cubic-bezier(.16,1,.3,1) forwards}@keyframes signalAppear{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
