/* MorFM VIP runtime identity — shared by profile, rooms and messaging. */
.vip-identity{--vip-accent:#a855f7;--vip-secondary:#ec4899;--nick-color:#f8fafc;--nick-g1:var(--vip-accent);--nick-g2:var(--vip-secondary);--nick-g3:#f8fafc;--nick-font:Inter,system-ui,sans-serif}
.vip-name{position:relative;display:inline-block;color:var(--nick-color)!important;font-family:var(--nick-font)!important;font-weight:850!important;letter-spacing:.01em;isolation:isolate}
.vip-identity.nick-gradient .vip-name,.vip-name.nick-gradient{background:linear-gradient(100deg,var(--nick-g1),var(--nick-g2),var(--nick-g3));background-size:180% 180%;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.vip-tier-badge{display:inline-flex!important;align-items:center;gap:5px;min-height:22px;padding:2px 7px;border-radius:7px;border:1px solid color-mix(in srgb,var(--vip-accent) 56%,#fff 10%);background:linear-gradient(135deg,color-mix(in srgb,var(--vip-accent) 24%,#111827),color-mix(in srgb,var(--vip-secondary) 18%,#090d1c));color:#fff!important;font-size:10px!important;font-weight:900!important;line-height:1!important;letter-spacing:.02em;white-space:nowrap;box-shadow:0 0 16px color-mix(in srgb,var(--vip-accent) 22%,transparent),inset 0 1px rgba(255,255,255,.12)}
.vip-tier-badge img{width:16px!important;height:16px!important;object-fit:contain;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--vip-accent) 60%,transparent))}.vip-tier-badge--compact{min-height:19px;padding:1px 5px;font-size:9px!important}.vip-tier-badge--compact img{width:13px!important;height:13px!important}
.vip-avatar-frame{position:relative!important;border-color:var(--vip-accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--vip-accent) 55%,transparent),0 0 24px color-mix(in srgb,var(--vip-accent) 38%,transparent),inset 0 0 15px color-mix(in srgb,var(--vip-secondary) 15%,transparent)!important}.vip-avatar-frame:after{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1px solid color-mix(in srgb,var(--vip-secondary) 48%,transparent);pointer-events:none;opacity:.62}
.vip-profile-identity-card{margin:14px 0 2px;max-width:730px;display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:14px;border:1px solid color-mix(in srgb,var(--vip-accent) 36%,rgba(255,255,255,.08));background:linear-gradient(120deg,color-mix(in srgb,var(--vip-accent) 14%,rgba(7,10,24,.90)),rgba(7,10,24,.86) 46%,color-mix(in srgb,var(--vip-secondary) 11%,rgba(7,10,24,.9)));box-shadow:0 13px 32px rgba(0,0,0,.24),0 0 24px color-mix(in srgb,var(--vip-accent) 12%,transparent);backdrop-filter:blur(14px)}
.vip-profile-identity-card>img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--vip-accent) 55%,transparent))}.vip-profile-identity-card__copy{min-width:0;display:grid;gap:2px;flex:1}.vip-profile-identity-card__copy small{font-size:9px;color:#aeb8d4;font-weight:800;letter-spacing:.13em}.vip-profile-identity-card__copy strong{font-size:13px;color:#fff}.vip-profile-identity-card__copy span{font-size:10px;color:#c8d0e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vip-profile-identity-card__chips{display:flex;gap:5px;flex-wrap:wrap}.vip-profile-identity-card__chips i{font-style:normal;font-size:9px;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);color:#dbe2f5}.vip-profile-identity-card>a{min-height:31px;display:inline-flex;align-items:center;padding:0 10px;border-radius:9px;text-decoration:none!important;color:#fff!important;font-size:10px;font-weight:900;border:1px solid color-mix(in srgb,var(--vip-accent) 48%,transparent);background:linear-gradient(135deg,var(--vip-accent),var(--vip-secondary));box-shadow:0 7px 18px color-mix(in srgb,var(--vip-accent) 22%,transparent)}
.vip-participant-row{position:relative!important;background:linear-gradient(90deg,color-mix(in srgb,var(--vip-accent) 7%,transparent),transparent 62%)!important;border-left:2px solid color-mix(in srgb,var(--vip-accent) 62%,transparent)!important}.vip-participant-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--vip-accent) 13%,transparent),rgba(255,255,255,.025))!important}.vip-participant-row:after{content:"";position:absolute;right:7px;top:8px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--vip-accent) 16%,transparent),transparent 70%);pointer-events:none}
.vip-chat-message{position:relative!important}.vip-chat-message>.room-msg-bubble,.vip-chat-message .room-vip-bubble{border-color:color-mix(in srgb,var(--vip-accent) 42%,rgba(255,255,255,.08))!important;box-shadow:0 5px 20px color-mix(in srgb,var(--vip-accent) 10%,rgba(0,0,0,.28))!important}.vip-chat-message .room-vip-bubble{background:linear-gradient(135deg,color-mix(in srgb,var(--vip-accent) 22%,#171529),color-mix(in srgb,var(--vip-secondary) 15%,#10152a))!important}
.vip-dm-message .dm-bubble-body{border:1px solid color-mix(in srgb,var(--vip-accent) 32%,rgba(255,255,255,.08))!important;box-shadow:0 8px 24px color-mix(in srgb,var(--vip-accent) 12%,rgba(0,0,0,.28))!important}.vip-dm-message.vip-dm-bubble-enabled .dm-bubble-body{background:linear-gradient(135deg,color-mix(in srgb,var(--vip-accent) 62%,#171529),color-mix(in srgb,var(--vip-secondary) 52%,#0f1428))!important;border-color:color-mix(in srgb,var(--vip-accent) 58%,#fff 8%)!important}
.vip-conversation-card{border-left:2px solid color-mix(in srgb,var(--vip-accent) 56%,transparent)!important}.vip-conversation-header{background:linear-gradient(90deg,color-mix(in srgb,var(--vip-accent) 7%,rgba(14,12,24,.96)),rgba(14,12,24,.94) 52%,color-mix(in srgb,var(--vip-secondary) 5%,rgba(14,12,24,.96)))!important}
.nick-effect-soft-glow .vip-name,.nick-effect-soft-glow.vip-name{text-shadow:0 0 8px color-mix(in srgb,var(--vip-accent) 60%,transparent),0 0 18px color-mix(in srgb,var(--vip-secondary) 28%,transparent)}
.nick-effect-glow .vip-name,.nick-effect-glow.vip-name{text-shadow:0 0 4px #fff,0 0 12px var(--vip-accent),0 0 26px var(--vip-accent),0 0 40px var(--vip-secondary)}
.nick-effect-shadow .vip-name,.nick-effect-shadow.vip-name{text-shadow:0 2px 0 rgba(0,0,0,.65),2px 4px 0 color-mix(in srgb,var(--vip-accent) 35%,#090d1c),0 8px 18px rgba(0,0,0,.5)}
.nick-effect-electric .vip-name,.nick-effect-electric.vip-name{text-shadow:-1px 0 #67e8f9,1px 0 #d946ef,0 0 11px #38bdf8,0 0 24px var(--vip-accent)}
.nick-effect-diamond .vip-name,.nick-effect-diamond.vip-name{text-shadow:0 0 4px #fff,0 0 13px #7dd3fc,0 0 25px #c084fc}.nick-effect-diamond .vip-name:after{content:"✦";position:absolute;right:-12px;top:-8px;font-size:.55em;color:#e0f2fe;text-shadow:0 0 8px #fff}
.nick-effect-phoenix .vip-name,.nick-effect-phoenix.vip-name{text-shadow:0 0 5px #fff2c7,0 0 12px #ff9f43,0 0 26px #ff4d8d,0 0 42px #9d55ff}.nick-effect-phoenix .vip-name:before{content:"✦";position:absolute;left:-12px;top:-4px;font-size:.55em;color:#ffd166;text-shadow:0 0 10px #ff7a18}
.nick-effect-cosmic .vip-name,.nick-effect-cosmic.vip-name{text-shadow:0 0 5px #fff,0 0 14px #7dd3fc,0 0 28px #8b5cf6,0 0 42px #ec4899}
.nick-effect-legend .vip-name,.nick-effect-legend.vip-name{text-shadow:0 0 5px #fff,0 0 14px #f0abfc,0 0 29px #d946ef,0 0 48px #8b5cf6}.nick-effect-legend .vip-name:after{content:"✧";position:absolute;right:-15px;top:-9px;color:#fde68a;font-size:.64em;text-shadow:0 0 8px #fff}
.nick-nameplate-soft .vip-name,.nick-nameplate-silver .vip-name,.nick-nameplate-royal .vip-name,.nick-nameplate-platinum .vip-name,.nick-nameplate-diamond .vip-name,.nick-nameplate-phoenix .vip-name,.nick-nameplate-cosmic .vip-name,.nick-nameplate-legend .vip-name{padding:2px 7px;border-radius:8px}.nick-nameplate-soft .vip-name{background:color-mix(in srgb,var(--vip-accent) 12%,rgba(8,12,28,.8))}.nick-nameplate-silver .vip-name{background:linear-gradient(90deg,rgba(148,163,184,.16),rgba(255,255,255,.08),rgba(100,116,139,.15));border:1px solid rgba(203,213,225,.24)}.nick-nameplate-royal .vip-name{background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(124,58,237,.14));border:1px solid rgba(250,204,21,.25)}.nick-nameplate-platinum .vip-name{background:linear-gradient(90deg,rgba(96,165,250,.13),rgba(216,180,254,.12));border:1px solid rgba(191,219,254,.24)}.nick-nameplate-diamond .vip-name{background:linear-gradient(90deg,rgba(34,211,238,.11),rgba(168,85,247,.14));border:1px solid rgba(125,211,252,.26)}.nick-nameplate-phoenix .vip-name{background:linear-gradient(90deg,rgba(249,115,22,.13),rgba(236,72,153,.14),rgba(124,58,237,.14));border:1px solid rgba(251,146,60,.27)}.nick-nameplate-cosmic .vip-name{background:linear-gradient(90deg,rgba(59,130,246,.12),rgba(139,92,246,.17),rgba(236,72,153,.11));border:1px solid rgba(167,139,250,.26)}.nick-nameplate-legend .vip-name{background:linear-gradient(90deg,rgba(236,72,153,.14),rgba(139,92,246,.18),rgba(250,204,21,.09));border:1px solid rgba(244,114,182,.28)}
.nick-animation-pulse .vip-name{animation:vipNickPulse 2.2s ease-in-out infinite}.nick-animation-shimmer .vip-name{animation:vipNickShimmer 3.4s linear infinite}.nick-animation-wave .vip-name{animation:vipNickWave 2.8s ease-in-out infinite}.nick-animation-phoenix .vip-name{animation:vipNickPhoenix 2.7s ease-in-out infinite}.nick-animation-aurora .vip-name{animation:vipNickShimmer 4s linear infinite}.nick-animation-prism .vip-name{animation:vipNickPrism 3.2s ease-in-out infinite}
@keyframes vipNickPulse{50%{filter:brightness(1.24);transform:scale(1.025)}}@keyframes vipNickShimmer{0%{background-position:0% 50%}100%{background-position:180% 50%}}@keyframes vipNickWave{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes vipNickPhoenix{0%,100%{filter:drop-shadow(0 0 4px #ff8a4c)}50%{filter:drop-shadow(0 0 12px #ff4d8d) brightness(1.15);transform:translateY(-1px)}}@keyframes vipNickPrism{0%,100%{filter:hue-rotate(0)}50%{filter:hue-rotate(32deg) brightness(1.12)}}
.vip-tier-1{--vip-accent:#f59e0b;--vip-secondary:#f97316}.vip-tier-2{--vip-accent:#cbd5e1;--vip-secondary:#7dd3fc}.vip-tier-3{--vip-accent:#facc15;--vip-secondary:#f59e0b}.vip-tier-4{--vip-accent:#60a5fa;--vip-secondary:#a78bfa}.vip-tier-5{--vip-accent:#67e8f9;--vip-secondary:#c084fc}.vip-tier-6{--vip-accent:#fb923c;--vip-secondary:#ec4899}.vip-tier-7{--vip-accent:#a78bfa;--vip-secondary:#60a5fa}.vip-tier-8{--vip-accent:#e879f9;--vip-secondary:#facc15}
@media(max-width:700px){.vip-profile-identity-card{align-items:flex-start;flex-wrap:wrap}.vip-profile-identity-card>a{width:100%;justify-content:center}.vip-tier-badge{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.vip-identity .vip-name{animation:none!important;transition:none!important}}

/* MorFM VIP Runtime V3 — readable premium identity across profile / participants / chat / DM */
.vip-identity .vip-name{max-width:100%;vertical-align:middle;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.profile-reference .vip-name{font-weight:850!important;letter-spacing:-.015em!important;text-shadow:0 0 3px rgba(255,255,255,.28),0 0 8px color-mix(in srgb,var(--vip-accent) 48%,transparent),0 0 14px color-mix(in srgb,var(--vip-secondary) 24%,transparent)!important}
.profile-reference.nick-effect-electric .vip-name{text-shadow:-1px 0 rgba(103,232,249,.8),1px 0 rgba(217,70,239,.75),0 0 7px rgba(56,189,248,.58),0 0 12px color-mix(in srgb,var(--vip-accent) 35%,transparent)!important}
.profile-reference.nick-effect-phoenix .vip-name{ text-shadow:0 0 3px #fff2c7,0 0 7px rgba(255,159,67,.74),0 0 13px rgba(255,77,141,.48),0 0 18px color-mix(in srgb,var(--vip-accent) 28%,transparent)!important}
.profile-reference.nick-effect-legend .vip-name{text-shadow:0 0 3px rgba(255,255,255,.72),0 0 7px rgba(240,171,252,.72),0 0 12px rgba(217,70,239,.43),0 0 18px rgba(139,92,246,.32)!important}
.vip-tier-badge{font-family:Inter,system-ui,sans-serif!important;letter-spacing:.025em!important}
.vip-tier-badge img{flex:0 0 auto}
.vip-profile-identity-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--vip-accent) 42%,rgba(255,255,255,.08));background:linear-gradient(115deg,color-mix(in srgb,var(--vip-accent) 12%,#090e22),#0a1025 48%,color-mix(in srgb,var(--vip-secondary) 10%,#090e22));box-shadow:0 14px 34px rgba(0,0,0,.26),0 0 22px color-mix(in srgb,var(--vip-accent) 10%,transparent)}
.vip-profile-identity-card:before{content:"";position:absolute;inset:-1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--vip-accent) 14%,transparent),transparent);transform:translateX(-100%);animation:vipCardSheen 6s ease-in-out infinite;pointer-events:none}.vip-profile-identity-card>*{position:relative;z-index:1}
.vip-participant-row{border:1px solid color-mix(in srgb,var(--vip-accent) 18%,rgba(255,255,255,.04))!important;border-left:3px solid color-mix(in srgb,var(--vip-accent) 70%,#fff 4%)!important;border-radius:12px!important;background:linear-gradient(90deg,color-mix(in srgb,var(--vip-accent) 10%,rgba(11,15,33,.92)),rgba(11,15,33,.72) 58%,transparent)!important;box-shadow:inset 0 0 22px color-mix(in srgb,var(--vip-accent) 4%,transparent)!important}
.vip-participant-row .vip-name{font-size:.9rem!important;text-shadow:0 0 5px color-mix(in srgb,var(--vip-accent) 42%,transparent),0 0 10px color-mix(in srgb,var(--vip-secondary) 18%,transparent)!important}
.vip-participant-row .vip-avatar-frame{box-shadow:0 0 0 2px color-mix(in srgb,var(--vip-accent) 45%,transparent),0 0 17px color-mix(in srgb,var(--vip-accent) 28%,transparent)!important}
.vip-chat-message{border-left:2px solid color-mix(in srgb,var(--vip-accent) 62%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--vip-accent) 7%,rgba(10,14,31,.5)),rgba(10,14,31,.18) 45%,transparent)!important}
.vip-chat-message .vip-name{font-size:.86rem!important;text-shadow:0 0 5px color-mix(in srgb,var(--vip-accent) 38%,transparent)!important}
.vip-chat-message .vip-tier-badge{transform:translateY(-1px)}
.vip-dm-message .vip-name{font-size:.8rem!important;text-shadow:0 0 5px color-mix(in srgb,var(--vip-accent) 36%,transparent)!important}
.vip-dm-message .dm-bubble-body{border-color:color-mix(in srgb,var(--vip-accent) 38%,rgba(255,255,255,.08))!important;box-shadow:0 9px 24px rgba(0,0,0,.24),0 0 15px color-mix(in srgb,var(--vip-accent) 8%,transparent)!important}
.vip-dm-message.vip-dm-bubble-enabled .dm-bubble-body{background:linear-gradient(135deg,color-mix(in srgb,var(--vip-accent) 38%,#171529),color-mix(in srgb,var(--vip-secondary) 30%,#10152a))!important}
.vip-conversation-card{border-left:3px solid color-mix(in srgb,var(--vip-accent) 66%,transparent)!important;box-shadow:inset 0 0 22px color-mix(in srgb,var(--vip-accent) 4%,transparent)!important}.vip-conversation-card .vip-name{text-shadow:0 0 5px color-mix(in srgb,var(--vip-accent) 34%,transparent)!important}
@keyframes vipCardSheen{0%,72%,100%{transform:translateX(-115%)}82%{transform:translateX(115%)}}
@media(prefers-reduced-motion:reduce){.vip-profile-identity-card:before{animation:none!important}}
