/* Fondo animado compartido (index, cuenta, foro) */
#bgfx{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none;background:linear-gradient(160deg,#1d1a28 0%,#13121a 55%,#09090c 100%)}
#bgfx .aur{translate:0 calc(var(--sy,0) * -.12px);position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}
#bgfx .a1{width:62vmax;height:62vmax;background:#6a58a6;left:-18vmax;top:-24vmax;opacity:.32;animation:d1 24s ease-in-out infinite alternate}
#bgfx .a2{width:50vmax;height:50vmax;background:#4d4870;right:-16vmax;top:18vh;opacity:.34;animation:d2 28s ease-in-out infinite alternate}
#bgfx .a3{width:46vmax;height:46vmax;background:#5b3fa0;left:18vw;bottom:-26vmax;opacity:.26;animation:d3 32s ease-in-out infinite alternate}
@keyframes d1{to{transform:translate(22vw,16vh) scale(1.15)}}@keyframes d2{to{transform:translate(-20vw,-14vh) scale(1.2)}}@keyframes d3{to{transform:translate(18vw,-12vh) scale(1.1)}}
#bgfx .grid{position:absolute;left:-60%;right:-60%;bottom:-2%;height:58vh;background-image:linear-gradient(rgba(190,170,230,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(190,170,230,.13) 1px,transparent 1px);background-size:64px 64px;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;animation:gm 3.2s linear infinite;-webkit-mask:linear-gradient(0deg,#000 5%,transparent 80%);mask:linear-gradient(0deg,#000 5%,transparent 80%)}
@keyframes gm{to{background-position:0 64px}}
#bgfx .veil{position:absolute;inset:0;background:radial-gradient(520px circle at var(--mx,50%) var(--my,30%),rgba(200,180,255,.10),transparent 70%),linear-gradient(180deg,rgba(9,9,12,.2),rgba(9,9,12,.55))}
#bgfx canvas{position:absolute;inset:0;width:100%;height:100%}
#bgfx .emb{position:absolute;right:-10px;bottom:-70px;width:min(540px,72vw);opacity:.2;filter:drop-shadow(0 0 30px rgba(150,120,210,.6));animation:embf 7s ease-in-out infinite alternate;translate:0 calc(var(--sy,0) * -.04px)}
@keyframes embf{from{transform:translateY(0)}to{transform:translateY(-70px)}}
.orb{display:none!important}
.card,.box{backdrop-filter:blur(14px) saturate(1.25)}
:focus-visible{outline:2px solid #e9d5ff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){#bgfx *{animation:none!important}}

:root{--bg:#09090c;--card:rgba(26,25,35,.66);--line:rgba(190,160,255,.15);--tx:#f2eff9;--mut:#9d9bb0;--p:#7c3aed;--p2:#b79cf5;--p3:#e4dbff}
