/* biografia del admin + animaciones (solo CSS, ligeras; se apagan con "reducir movimiento") */
.bio{--a:var(--ac);position:relative;overflow:hidden;border-radius:20px;padding:16px;margin-bottom:12px;background:linear-gradient(160deg,color-mix(in srgb,var(--a) 15%,var(--bg)),var(--bg) 72%);border:1px solid color-mix(in srgb,var(--a) 38%,transparent)}
.bio>:not(.fx){position:relative;z-index:1}
.bio .bt{margin:12px 0 0;white-space:pre-line;word-break:break-word;font-size:14.5px;line-height:1.45}
.rt2{font-size:13px;margin-top:2px}
.tgs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tg{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;color:var(--tx);background:color-mix(in srgb,var(--a) 14%,transparent);border:1px solid color-mix(in srgb,var(--a) 40%,transparent)}
.tg.pm{background:var(--bg);border-color:var(--line);color:var(--hint)}
.bl{font-size:12px;font-weight:700;color:var(--hint);margin:14px 0 0}
.rv{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin:8px -16px 0;padding:2px 16px;scrollbar-width:none;overscroll-behavior-x:contain}.rv::-webkit-scrollbar{display:none}
.rv>div{flex:0 0 84%;scroll-snap-align:center;background:color-mix(in srgb,var(--bg) 78%,transparent);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:13.5px;word-break:break-word}
.rv>div:only-child{flex-basis:100%}
.dots{display:flex;gap:5px;justify-content:center;margin-top:8px}.dots i{width:5px;height:5px;border-radius:50%;background:var(--line);transition:all .2s}.dots i.on{width:14px;background:var(--a)}
/* capa de efectos */
.fx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.fx i,.fx svg{position:absolute;display:block}
@keyframes up{0%{transform:translate(0,0) scale(1);opacity:0}12%{opacity:.9}100%{transform:translate(var(--dx),-520px) scale(.3);opacity:0}}
@keyframes dn{0%{opacity:0}10%{opacity:.9}100%{transform:translate(var(--dx,0),520px);opacity:.9}}
.fx-sparkle i{left:var(--x);top:var(--y);width:var(--s);height:var(--s);background:var(--a);opacity:0;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:tw var(--t) var(--d) infinite ease-in-out}
@keyframes tw{0%,100%{opacity:0;transform:scale(.2) rotate(0)}50%{opacity:1;transform:scale(1) rotate(90deg)}}
.fx-fire i{left:var(--x);bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;opacity:0;background:radial-gradient(circle,#fff8 0,#ffb020 38%,#ff4d00 72%,transparent 75%);animation:up var(--t) var(--d) infinite linear}
.fx-snow i{left:var(--x);top:-8px;width:var(--s);height:var(--s);border-radius:50%;opacity:0;background:color-mix(in srgb,var(--a) 55%,#fff);box-shadow:0 0 5px var(--a);animation:dn var(--t) var(--d) infinite linear}
.fx-bubbles i{left:var(--x);bottom:-24px;width:var(--s);height:var(--s);border-radius:50%;opacity:0;border:1.5px solid color-mix(in srgb,var(--a) 65%,transparent);background:color-mix(in srgb,var(--a) 12%,transparent);animation:up var(--t) var(--d) infinite linear}
.fx-matrix i{left:var(--x);top:-110px;font:700 12px/1.05 ui-monospace,monospace;color:var(--a);writing-mode:vertical-rl;opacity:0;letter-spacing:1px;text-shadow:0 0 6px var(--a);animation:dn var(--t) var(--d) infinite linear;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 70%);mask-image:linear-gradient(to bottom,transparent,#000 70%)}
.fx-aurora i{width:75%;height:100%;border-radius:50%;filter:blur(34px);opacity:.5;animation:dr 9s infinite alternate ease-in-out}
.fx-aurora i:nth-child(1){left:-15%;top:-20%;background:var(--a)}.fx-aurora i:nth-child(2){right:-20%;bottom:-25%;background:color-mix(in srgb,var(--a) 40%,#22d3ee);animation-duration:12s;animation-direction:alternate-reverse}
@keyframes dr{from{transform:translate(-8%,-8%) scale(1)}to{transform:translate(30%,22%) scale(1.25)}}
.fx-shine{background:linear-gradient(120deg,#ff6ec433,#7c4dff30,#00e5ff30,#ffd60030,#ff6ec433);background-size:300% 300%;animation:holo 7s infinite linear}
@keyframes holo{to{background-position:300% 0}}
.fx-shine i{inset:-60% auto -60% 0;width:38%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-120%) skewX(-18deg);animation:sw 4.5s infinite ease-in-out}
@keyframes sw{0%{transform:translateX(-120%) skewX(-18deg)}55%,100%{transform:translateX(420%) skewX(-18deg)}}
.fx-bolt svg{top:-4px;left:var(--x);width:28px;height:58px;fill:var(--a);opacity:0;transform:rotate(var(--r));filter:drop-shadow(0 0 7px var(--a)) drop-shadow(0 0 14px var(--a));animation:zap var(--t) var(--d) infinite}
@keyframes zap{0%,85%,100%{opacity:0}87%{opacity:1}89%{opacity:.15}91%{opacity:1}95%{opacity:0}}
.fx-bolt:after{content:"";position:absolute;inset:0;background:var(--a);opacity:0;animation:fl 4.1s .6s infinite}
@keyframes fl{0%,85%,100%{opacity:0}87%{opacity:.18}89%{opacity:0}91%{opacity:.22}95%{opacity:0}}
.bio[data-fx=neon]{animation:ng 2.2s infinite alternate ease-in-out}
@keyframes ng{from{box-shadow:0 0 5px color-mix(in srgb,var(--a) 45%,transparent),inset 0 0 6px color-mix(in srgb,var(--a) 25%,transparent)}to{box-shadow:0 0 20px var(--a),inset 0 0 16px color-mix(in srgb,var(--a) 45%,transparent)}}
@media (prefers-reduced-motion:reduce){.fx,.fx *{animation:none!important;opacity:0}.bio{animation:none!important}}
/* selector de animaciones (panel del admin) */
.fxg{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none;scroll-snap-type:x proximity}.fxg::-webkit-scrollbar{display:none}
.fxt{flex:none;width:92px;scroll-snap-align:start;text-align:center;font-size:12px;font-weight:600;color:var(--hint)}
.fxt .bio{height:62px;padding:0;margin:0 0 5px;border-radius:14px;display:grid;place-items:center;font-size:20px}.fxt.on{color:var(--tx)}.fxt.on .bio{box-shadow:0 0 0 2.5px var(--ac)}
.acs{display:flex;gap:10px;margin:4px 2px}.acs button{width:32px;height:32px;border-radius:50%;border:3px solid var(--bg);background:var(--c);box-shadow:0 0 0 1.5px var(--line)}.acs button.on{box-shadow:0 0 0 2.5px var(--tx)}
.tgi{display:flex;gap:8px;margin-top:8px}.tgi .in{margin:0}
.tg button{border:0;background:none;color:var(--hint);padding:0 0 0 2px;font-size:14px;line-height:1}
.sug{display:flex;gap:6px;overflow-x:auto;margin-top:8px;scrollbar-width:none}.sug button{flex:none;border:1px dashed var(--line);background:none;color:var(--hint);border-radius:99px;padding:3px 10px;font-weight:500;font-size:12px;font-family:inherit;}
/* lista de administradores: tarjeta compacta que se despliega en su lugar */
.adm{margin-bottom:10px}
.adm-h{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:0;border-radius:18px;background:var(--bg);color:var(--tx);font:inherit;text-align:left;transition:transform .12s}.adm-h:active{transform:scale(.98)}
.vbadge{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700;color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.chv{display:grid;place-items:center;flex:none;color:var(--hint);transform:rotate(90deg);transition:transform .2s}.chv.up{transform:rotate(-90deg)}
.adm-x{animation:in .22s ease both}.adm-x .bio{margin-bottom:0}
