.tcx-avatar{position:relative;display:inline-block;width:91.2px;height:91.2px;flex:none;isolation:isolate}.tcx-avatar svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.tcx-avatar-letter{position:absolute;inset:21%;border-radius:50%;background:radial-gradient(circle at 35% 25%,#28433c,#0f211f);color:#f6fffb;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:800}.tcx-aura{animation:tcx-breathe 4s ease-in-out infinite}.tcx-glint{animation:tcx-glint 8s linear infinite;transform-origin:60px 60px}.tcx-gem{animation:tcx-breathe 3s ease-in-out infinite}.tcx-flame{animation:tcx-flame 1.6s ease-in-out infinite;animation-delay:var(--delay,0s)}.tcx-orbit{animation:tcx-orbit 12s linear infinite;transform-origin:60px 60px;animation-delay:var(--delay,0s)}.tcx-sparkle{animation:tcx-fall 8s linear infinite;animation-delay:var(--delay,0s)}.tcx-star{animation:tcx-star 4s ease-in-out infinite;animation-delay:var(--delay,0s)}.tcx-medal{transform-origin:60px 101px;animation:tcx-sway 4s ease-in-out infinite}.tcx-leaf{animation:tcx-leaf 4s ease-in-out infinite;animation-delay:var(--delay,0s)}.tcx-letter{animation:tcx-letter 6s linear infinite;animation-delay:var(--delay,0s)}.tcx-firework{animation:tcx-firework 4s ease-out infinite;animation-delay:var(--delay,0s)}.frame-superstar .tcx-metal{animation:tcx-rainbow 8s linear infinite}.public-identity .tcx-avatar{width:64.8px;height:64.8px}.public-identity .tcx-avatar-letter{font-size:18px}.reward-card .tcx-avatar{width:144px;height:144px}.comments-dialog{width:min(92vw,700px);max-height:85vh;overflow:auto;border:0;border-radius:20px}.comments-dialog textarea{width:100%}.comments-dialog label{display:flex;gap:8px;margin:12px 0}
@keyframes tcx-breathe{0%,100%{opacity:.35}50%{opacity:.9}}@keyframes tcx-glint{to{transform:rotate(360deg)}}@keyframes tcx-flame{0%,100%{transform:scale(.9,1);opacity:.88}50%{transform:scale(1.08,1.22);opacity:1}}@keyframes tcx-orbit{to{transform:rotate(360deg)}}@keyframes tcx-fall{0%{opacity:0;transform:translateY(-7px)}15%{opacity:1}85%{opacity:.7}100%{opacity:0;transform:translateY(27px)}}@keyframes tcx-star{0%,100%{opacity:.65;transform:rotate(-4deg) scale(.95)}50%{opacity:1;transform:rotate(4deg) scale(1.07)}}@keyframes tcx-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes tcx-leaf{0%,100%{opacity:.8;scale:1}50%{opacity:1;scale:1.06}}@keyframes tcx-letter{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(-24px)}}@keyframes tcx-firework{0%,100%{opacity:0;scale:.2}35%{opacity:.8;scale:1.1}70%{opacity:0;scale:1.35}}@keyframes tcx-rainbow{0%{stroke:#ff72c8}20%{stroke:#71cbff}40%{stroke:#ae78ff}60%{stroke:#64efb2}80%{stroke:#ffe077}100%{stroke:#ff72c8}}@media(prefers-reduced-motion:reduce){.tcx-avatar *{animation:none!important}.tcx-aura{opacity:.4}.tcx-sparkle,.tcx-letter{opacity:.7}.tcx-firework{opacity:.4}}

/* Shared viewport/lifecycle pause; layered ornaments remain visible. */
.tcx-avatar-letter{box-shadow:inset 0 2px 8px #0009,0 1px 1px #ffffff25;font-size:clamp(14px,2.2vw,28px)}.tcx-avatar svg{filter:drop-shadow(0 2px 2px #0008)}.tcx-rainbow-flow{transform-origin:60px 60px;animation:tcx-orbit 9s linear infinite}.tcx-ember{animation:tcx-ember 3.6s ease-out infinite;animation-delay:var(--delay,0s)}.frame-admin .tcx-aura,.frame-top1 .tcx-aura{animation-duration:5s}.frame-streak30 .tcx-aura{stroke:#ff850c;opacity:.7}.frame-guru .tcx-aura{stroke:#62fa90}.tcx-avatar[data-paused="true"] *{animation-play-state:paused!important}@keyframes tcx-ember{0%{opacity:0;transform:translateY(5px)}20%{opacity:1}100%{opacity:0;transform:translateY(-16px)}}@media(prefers-reduced-motion:reduce){.tcx-avatar *{animation:none!important}.tcx-rainbow-flow{transform:none}.tcx-ember{opacity:.5}}

.tcx-accent-flow{transform-origin:60px 60px;animation:tcx-orbit var(--flow-duration,10s) linear infinite;animation-direction:var(--flow-direction,normal)}@media(prefers-reduced-motion:reduce){.tcx-accent-flow{animation:none!important}}

.tcx-galaxy-orbit{transform-origin:60px 60px;animation:tcx-galaxy-drift 18s ease-in-out infinite}.tcx-dragon-body{animation:tcx-breathe 6s ease-in-out infinite}@keyframes tcx-galaxy-drift{0%,100%{transform:rotate(var(--galaxy-angle));opacity:.5}50%{transform:rotate(calc(var(--galaxy-angle) + 12deg));opacity:1}}

.tcx-jewel-flash{animation:tcx-jewel-flash 2.4s ease-in-out infinite;animation-delay:var(--delay,0s)}.frame-admin .tcx-glint{animation-duration:4s}.frame-admin .tcx-aura{stroke:#ffdf69;animation-duration:2.8s}.tcx-admin-crown{filter:drop-shadow(0 0 2px #ffb94f70)}@keyframes tcx-jewel-flash{0%,100%{opacity:.35}45%{opacity:1}60%{opacity:.55}75%{opacity:1}}@media(prefers-reduced-motion:reduce){.tcx-jewel-flash{animation:none!important;opacity:.85}}

/* Luminous revision: rotating neon trails, visible pulses and short labels. */
.tcx-avatar-letter{inset:19%}.tcx-avatar-photo{object-fit:cover;width:62%;height:62%;padding:0}.frame-none .tcx-avatar-letter{inset:12%;width:76%;height:76%}#identity-avatar .tcx-avatar{width:62.4px;height:62.4px}
.tcx-neon-spin{transform-origin:60px 60px;animation:tcx-orbit 5s linear infinite;filter:drop-shadow(0 0 2px #80dfff)}
.tcx-neon-counter{transform-origin:60px 60px;animation:tcx-orbit 8s linear infinite reverse}
.tcx-neon-pulse{animation:tcx-neon-pulse 2.4s ease-in-out infinite}
.tcx-avatar .tcx-accent-flow{--flow-duration:5s!important}
.tcx-frame-name{filter:drop-shadow(0 0 2px #91d7ff90)}
.frame-streak30 .tcx-neon-spin{animation-duration:3.8s;filter:drop-shadow(0 0 3px #ff428f)}
.frame-streak30 .tcx-neon-counter{animation-duration:6s}
.frame-streak30 .tcx-metal{stroke:#ff945c;stroke-width:5}
.frame-streak30 [data-layer="engraved-bevel"]{display:none}
.frame-streak30 .tcx-neon-pulse{stroke:#ff53a6}
.frame-streak30 .tcx-aura{stroke:#ff4c9d;stroke-width:20;animation:tcx-neon-pulse 2.4s ease-in-out infinite}
.frame-admin .tcx-neon-spin{filter:drop-shadow(0 0 3px #ffd955)}
.frame-guru .tcx-neon-spin,.frame-dragon .tcx-neon-spin{filter:drop-shadow(0 0 3px #58ffc7)}
@keyframes tcx-neon-pulse{0%,100%{opacity:.22}36%{opacity:1}55%{opacity:.4}74%{opacity:1}}
@media(prefers-reduced-motion:reduce){.tcx-avatar *{animation:none!important}.tcx-neon-pulse{opacity:.7}}

/* Keep the SVG canvas transparent. Portrait and frame grow together by 20%. */
.tcx-avatar{background:transparent;border:0;border-radius:50%;box-shadow:none}
