.pf-afx, .pf-afh { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; }
.pf-lp-flow { isolation: isolate; }
:where(.pf-main, .pf-side) > :where(.pf-lp-flow, .pf-lp-pulse, .pf-ah-border) { position: relative; }

.pfe-anim { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.pfe-anim-i { height: 28px; min-width: 0; padding: 0 4px; border: none; border-radius: 6px; background: transparent; color: rgba(255,255,255,.6); font: inherit; font-size: 11.5px; font-weight: 500; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.pfe-anim-i:hover { background: rgba(255,255,255,.06); color: #e8e8e8; }
.pfe-anim-i.on { background: rgba(255,255,255,.14); color: #fff; }
.pfe-anim-i.pfe-anim-w { grid-column: span 2; }
.pfe-anim.pfe-anim-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (pointer: coarse) { .pfe-anim-i { height: 36px; font-size: 13px; } }
.pfe-anim-i:focus-visible { outline: 2px solid rgba(255,255,255,.6); outline-offset: 1px; }

@media (prefers-reduced-motion: no-preference) {
    body.pf-anw .pf-main > [data-block], body.pf-anw .pf-side > [data-block], .pf-main > [data-block].pf-wait, .pf-side > [data-block].pf-wait { opacity: 0; }
    body.pf-anh [data-block="hero"], [data-block="hero"].pf-wait { opacity: 0; }
    [data-block="hero"].pf-hin :is(.pf-banner, .pf-avatar-wrap, .pf-name-row, .pf-meta, .pf-tg-bio, .pf-act-holder, .pf-rail, .pf-banner-actions) { animation: pfaHeroIn var(--pf-ad, .6s) cubic-bezier(.2, .7, .3, 1) backwards; animation-delay: calc(var(--pf-hd, 0ms) + var(--pf-hi, 0) * 70ms); }
    [data-block="hero"].pf-hin .pf-avatar-wrap { --pf-hi: 1; }
    [data-block="hero"].pf-hin .pf-name-row { --pf-hi: 2; }
    [data-block="hero"].pf-hin :is(.pf-meta, .pf-tg-bio, .pf-act-holder) { --pf-hi: 3; }
    [data-block="hero"].pf-hin .pf-rail { --pf-hi: 4; }
    [data-block="hero"].pf-hin .pf-banner-actions { --pf-hi: 5; }

    html body [data-block].pf-in { animation-duration: var(--pf-ad, .6s) !important; animation-delay: var(--pf-d, 0s) !important; animation-fill-mode: backwards !important; animation-timing-function: cubic-bezier(.2, .7, .3, 1) !important; animation-iteration-count: 1 !important; animation-direction: normal !important; animation-play-state: running !important; }
    [data-block].pf-in.pf-ba-fade { animation-name: pfaFade !important; animation-timing-function: ease !important; }
    [data-block].pf-in.pf-ba-rise { animation-name: pfaRise !important; }
    [data-block].pf-in.pf-ba-drop { animation-name: pfaDrop !important; }
    [data-block].pf-in.pf-ba-slide { animation-name: pfaSlide !important; }
    [data-block].pf-in.pf-ba-zoom { animation-name: pfaZoom !important; }
    [data-block].pf-in.pf-ba-pop { animation-name: pfaPop !important; animation-timing-function: ease-out !important; }
    [data-block].pf-in.pf-ba-blur { animation-name: pfaBlur !important; animation-timing-function: ease-out !important; }
    [data-block].pf-in.pf-ba-flip { animation-name: pfaFlip !important; }
    [data-block].pf-in.pf-ba-curtain { animation-name: pfaCurtain !important; animation-timing-function: cubic-bezier(.3, .6, .3, 1) !important; }
    [data-block].pf-in.pf-ba-swing { animation-name: pfaSwing !important; animation-timing-function: ease-out !important; transform-origin: 50% 0; }

    [data-block].pf-ah-lift, [data-block].pf-ah-zoom, [data-block].pf-ah-shadow { transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .22s ease; }
    [data-block].pf-ah-glow { transition: box-shadow .22s ease, border-color .22s ease; }
    [data-block].pf-ah-tilt { transition: transform .18s ease-out; }
    #pfTrack:is(.pf-ah-lift, .pf-ah-zoom, .pf-ah-shadow, .pf-ah-glow, .pf-ah-tilt) { transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .12s linear; }
    html.pf-editing [data-block].pfe-pv:is(.pf-ah-lift, .pf-ah-zoom, .pf-ah-shadow, .pf-ah-glow) { transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .22s ease, outline-color .14s; }
    html:not(.pf-editing) body [data-block].pf-ah-lift:hover, body [data-block].pf-ah-lift.pfe-pvh { transform: translateY(-4px); box-shadow: 0 16px 30px -18px rgba(0,0,0,.8) !important; }
    html:not(.pf-editing) body [data-block].pf-ah-zoom:hover, body [data-block].pf-ah-zoom.pfe-pvh { transform: scale(1.025); }
    html:not(.pf-editing) body [data-block].pf-ah-shadow:hover, body [data-block].pf-ah-shadow.pfe-pvh { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 color-mix(in srgb, var(--pf-acc-b, var(--pf-acc, #8b93f5)) 55%, transparent) !important; }
    html:not(.pf-editing) body [data-block].pf-ah-glow:hover, body [data-block].pf-ah-glow.pfe-pvh { box-shadow: 0 0 0 1px color-mix(in srgb, var(--pf-acc-b, var(--pf-acc, #fff)) 45%, transparent), 0 12px 34px -16px color-mix(in srgb, var(--pf-acc-b, var(--pf-acc, #fff)) 70%, transparent) !important; border-color: color-mix(in srgb, var(--pf-acc-b, var(--pf-acc, #fff)) 50%, transparent) !important; }
    html:not(.pf-editing) body [data-block].pf-ah-tilt.pf-tilt { transform: perspective(900px) rotateX(var(--pf-ty, 0deg)) rotateY(var(--pf-tx, 0deg)); }
    body [data-block].pf-ah-tilt.pfe-pvh.pfe-pv:not(.pf-in) { animation-name: pfaTiltDemo !important; animation-duration: 1.2s !important; animation-timing-function: ease-in-out !important; animation-iteration-count: 1 !important; animation-delay: 0s !important; }

    .pf-ah-border > .pf-afh { inset: -1px; padding: 1.5px; background: conic-gradient(from var(--pf-ang), transparent 0 55%, color-mix(in srgb, var(--pf-acc-b, var(--pf-acc, #8b93f5)) 90%, transparent) 78%, var(--pf-grad2, #fff) 90%, transparent 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); display: none; opacity: 1; animation: pfaAng 2.6s linear infinite; }
    html:not(.pf-editing) body .pf-ah-border:hover > .pf-afh, body .pf-ah-border.pfe-pvh > .pf-afh { display: block; }

    html:not(.pf-editing) [data-block].pf-lp-float:not(.pf-in), [data-block].pfe-pv.pf-lp-float:not(.pf-in), html:not(.pf-editing) [data-block].pf-lp-breathe:not(.pf-in), [data-block].pfe-pv.pf-lp-breathe:not(.pf-in), html:not(.pf-editing) [data-block].pf-lp-sway:not(.pf-in), [data-block].pfe-pv.pf-lp-sway:not(.pf-in) { animation-timing-function: ease-in-out !important; animation-delay: var(--pf-ph, 0s) !important; animation-iteration-count: infinite !important; animation-direction: alternate !important; animation-fill-mode: none !important; }
    html:not(.pf-editing) [data-block].pf-lp-float:not(.pf-in), [data-block].pfe-pv.pf-lp-float:not(.pf-in) { animation-name: pfaFloat !important; animation-duration: 3.6s !important; }
    html:not(.pf-editing) [data-block].pf-lp-breathe:not(.pf-in), [data-block].pfe-pv.pf-lp-breathe:not(.pf-in) { animation-name: pfaBreathe !important; animation-duration: 3.2s !important; }
    html:not(.pf-editing) [data-block].pf-lp-sway:not(.pf-in), [data-block].pfe-pv.pf-lp-sway:not(.pf-in) { animation-name: pfaSway !important; animation-duration: 4.5s !important; transform-origin: 50% 0; }
    .pf-lp-pulse > .pf-afx { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--pf-acc-b, var(--pf-acc, #8b93f5)) 85%, transparent), 0 0 22px -6px color-mix(in srgb, var(--pf-acc-b, var(--pf-acc, #8b93f5)) 70%, transparent); animation: pfaPulse 3.2s ease-in-out var(--pf-ph, 0s) infinite alternate; }
    .pf-lp-flow > .pf-afx { opacity: 1; overflow: hidden; z-index: -1; }
    .pf-lp-flow > .pf-afx::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 300%; background: linear-gradient(110deg, transparent 0%, color-mix(in srgb, var(--pf-acc-b, var(--pf-acc, #8b93f5)) 26%, transparent) 20%, transparent 40%, color-mix(in srgb, var(--pf-grad2, var(--pf-acc-b, #8b93f5)) 26%, transparent) 60%, transparent 80%); animation: pfaFlow 10s linear var(--pf-ph, 0s) infinite; }
    .pf-off, .pf-off > .pf-afx, .pf-off > .pf-afx::before, html.pf-editing [data-block]:not(.pfe-pv) > .pf-afx, html.pf-editing [data-block]:not(.pfe-pv) > .pf-afx::before { animation-play-state: paused !important; }

    .pf-name.pf-nx-shine, .pf-name.pf-nx-glitch { position: relative; }
    .pf-name.pf-nx-shine::after, .pf-name.pf-nx-glitch::before, .pf-name.pf-nx-glitch::after { content: attr(data-text); position: absolute; inset: 0; padding: inherit; pointer-events: none; text-shadow: none; filter: none; }
    .pf-name.pf-nx-shine::after { color: transparent; -webkit-text-fill-color: transparent; background: linear-gradient(100deg, transparent 40%, color-mix(in oklab, var(--pf-grad, var(--pf-acc-b, #8b93f5)) 55%, #7c86ff) 50%, transparent 60%) no-repeat; background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; animation: pfaShine 4.5s ease-in-out 1s infinite; }
    .pf-name.pf-nx-glitch { animation: pfaGlM 4s steps(1) 1.2s infinite; }
    .pf-name.pf-nx-glitch::before, .pf-name.pf-nx-glitch::after { background: none; opacity: 0; mix-blend-mode: screen; }
    .pf-name.pf-nx-glitch::before { color: #ff2e63; -webkit-text-fill-color: #ff2e63; animation: pfaGlA 4s steps(1) 1.2s infinite; }
    .pf-name.pf-nx-glitch::after { color: #2de2e6; -webkit-text-fill-color: #2de2e6; animation: pfaGlB 4s steps(1) 1.2s infinite; }
    .pf-name.pf-nx-type.pf-nx-go { animation: pfaType calc(var(--pf-nl, 10) * 75ms) steps(var(--pf-nl, 10)) .25s backwards; }
}

@keyframes pfaFade { from { opacity: 0; } }
@keyframes pfaHeroIn { from { opacity: 0; transform: translateY(10px); } }
@keyframes pfaRise { from { opacity: 0; transform: translateY(26px); } }
@keyframes pfaDrop { from { opacity: 0; transform: translateY(-26px); } }
@keyframes pfaSlide { from { opacity: 0; transform: translateX(-32px); } }
@keyframes pfaZoom { from { opacity: 0; transform: scale(.9); } }
@keyframes pfaPop { 0% { opacity: 0; transform: scale(.82); } 55% { opacity: 1; transform: scale(1.035); } 78% { transform: scale(.99); } 100% { transform: none; } }
@keyframes pfaBlur { from { opacity: 0; filter: blur(14px); transform: scale(1.04); } }
@keyframes pfaFlip { from { opacity: 0; transform: perspective(900px) rotateY(-38deg) translateX(-10px); } }
@keyframes pfaCurtain { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes pfaSwing { 0% { opacity: 0; transform: rotate(-7deg); } 45% { opacity: 1; transform: rotate(3deg); } 75% { transform: rotate(-1.2deg); } 100% { transform: none; } }
@keyframes pfaTiltDemo { 0%, 100% { transform: none; } 30% { transform: perspective(900px) rotateX(4deg) rotateY(-6deg); } 65% { transform: perspective(900px) rotateX(-3deg) rotateY(6deg); } }
@property --pf-ang { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@keyframes pfaAng { to { --pf-ang: 360deg; } }
@keyframes pfaFloat { from { translate: 0 0; } to { translate: 0 -7px; } }
@keyframes pfaBreathe { from { scale: 1; } to { scale: 1.022; } }
@keyframes pfaSway { from { rotate: -.9deg; } to { rotate: .9deg; } }
@keyframes pfaPulse { from { opacity: .12; } to { opacity: .95; } }
@keyframes pfaFlow { to { transform: translateX(-66.667%); } }
@keyframes pfaShine { 0% { background-position: 130% 0; } 45%, 100% { background-position: -30% 0; } }
@keyframes pfaGlM { 0%, 84%, 100% { translate: 0 0; } 86% { translate: -2px 0; } 88% { translate: 2px 1px; } 90% { translate: -1px 0; } 92% { translate: 0 0; } }
@keyframes pfaGlA { 0%, 84%, 94%, 100% { opacity: 0; transform: none; clip-path: inset(0 0 0 0); } 85% { opacity: .85; transform: translate(-3px, 0); clip-path: inset(12% 0 58% 0); } 88% { transform: translate(3px, 0); clip-path: inset(62% 0 6% 0); } 91% { transform: translate(-2px, 0); clip-path: inset(34% 0 38% 0); } }
@keyframes pfaGlB { 0%, 84%, 94%, 100% { opacity: 0; transform: none; clip-path: inset(0 0 0 0); } 85% { opacity: .85; transform: translate(3px, 0); clip-path: inset(56% 0 14% 0); } 88% { transform: translate(-3px, 0); clip-path: inset(8% 0 70% 0); } 91% { transform: translate(2px, 0); clip-path: inset(44% 0 30% 0); } }
@keyframes pfaType { from { clip-path: inset(-40% calc(100% - var(--pf-tl, 0px)) -40% -40px); } to { clip-path: inset(-40% var(--pf-tr, 0px) -40% -40px); } }
