/* LBTChat v7 - VIP bertingkat. Dimuat setelah app.css/extra.css (chat), juga di profil & vipmember. */
.vt1,.vf1{--v1:#F4F7FB;--v2:#9AA6B5;--vg:rgba(190,202,218,.55);--vbg:linear-gradient(135deg,#2C3541,#58667A 62%,#8A97A8 135%);--vbd:rgba(226,232,240,.65);--vcard:linear-gradient(135deg,#323B48,#5B6779 55%,#9AA6B5)}
.vt2,.vf2{--v1:#FFE259;--v2:#FF9F0A;--vg:rgba(255,184,0,.5);--vbg:linear-gradient(135deg,#2A1650,#5B2A86 58%,#8B5A12 135%);--vbd:rgba(255,214,10,.55);--vcard:linear-gradient(135deg,#2A1650,#5B2A86 58%,#B8791A)}
.vt3,.vf3{--v1:#8FE9FF;--v2:#2F8CFF;--vg:rgba(79,180,255,.65);--vbg:linear-gradient(135deg,#071A44,#1550B8 58%,#5B2FD4 135%);--vbd:rgba(120,210,255,.75);--vcard:linear-gradient(135deg,#071A44,#1550B8 55%,#5B2FD4)}

/* lencana verified per tingkat */
.vb{display:inline-block;flex:none;margin-left:4px;font-size:.95em;line-height:1;vertical-align:-1px;background:linear-gradient(135deg,var(--v1,#FFE259),var(--v2,#FF9F0A));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 3px var(--vg,rgba(255,184,0,.5)))}
.vb.vt3{animation:vbsp 2.8s ease-in-out infinite}
@keyframes vbsp{50%{filter:drop-shadow(0 0 7px var(--vg)) brightness(1.25)}}

/* bingkai avatar */
.av.vf{position:relative;overflow:visible}.av.vf img{border-radius:50%}
.vf1{box-shadow:0 0 0 2px #DCE3EC,0 0 8px var(--vg)}
.vf2{box-shadow:0 0 0 2px #FFC300,0 0 10px var(--vg)}
.vf3{box-shadow:0 0 0 2px #6FD3FF,0 0 12px var(--vg);animation:vfp 2.6s ease-in-out infinite}
@keyframes vfp{50%{box-shadow:0 0 0 2px #B388FF,0 0 16px rgba(179,136,255,.9)}}

/* bubble chat & pratinjau */
.bubble.vip.vt1,.bubble.vip.vt2,.bubble.vip.vt3,.pvb{background:var(--vbg);border:1px solid var(--vbd);color:#fff;box-shadow:0 0 0 1px var(--vg),0 6px 16px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.18)}
.pvb{display:inline-block;position:relative;overflow:hidden;padding:8px 13px;border-radius:14px;font-size:14px;line-height:1.3}
.bubble.vip::after,.pvb::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.16) 47%,rgba(255,255,255,.26) 52%,transparent 70%);background-size:300% 100%;animation:vipsh2 5.5s ease-in-out infinite}
@keyframes vipsh2{0%{background-position:130% 0}60%,100%{background-position:-60% 0}}
.bubble.vip a{color:var(--v1)}.bubble.vip .sn{color:var(--v1)!important}
.bubble.vip .meta .pn,.bubble.vip .tick.rd{color:var(--v1)}
.bubble.vip .doc .ic{background:linear-gradient(135deg,var(--v1),var(--v2));color:#10131a}
.bubble.vip .rp{background:rgba(255,255,255,.16)}
/* gaya pilihan (menimpa warna tingkat) */
.bubble.vip.vs-gold,.pvb.vs-gold{background:linear-gradient(135deg,#3B2A00,#9A6A00 70%,#D4A017);border-color:#FFE08A}
.bubble.vip.vs-neon,.pvb.vs-neon{background:#0B0B14;border-color:#39FF14;box-shadow:0 0 12px rgba(57,255,20,.5);color:#E8FFE8}
.bubble.vip.vs-sakura,.pvb.vs-sakura{background:linear-gradient(135deg,#7A2B52,#E26A9B);border-color:#FFD1E3;box-shadow:0 0 12px rgba(255,150,190,.45)}
.bubble.vip.vs-galaxy,.pvb.vs-galaxy{background:radial-gradient(1px 1px at 18% 32%,#fff,transparent),radial-gradient(1px 1px at 72% 62%,#fff,transparent),radial-gradient(1.5px 1.5px at 45% 20%,#cfe,transparent),radial-gradient(circle at 20% 20%,#6B3FD4,#1A1040 60%,#07051A);border-color:#B388FF;box-shadow:0 0 14px rgba(150,110,255,.5)}

/* pil di kartu profil */
.vippill.vt1,.vippill.vt2,.vippill.vt3{background:linear-gradient(135deg,var(--v1),var(--v2));color:#1a1200;box-shadow:0 2px 10px var(--vg)}.vippill.vt3{color:#fff}

/* kartu VIP di Profil */
.vipcard{position:relative;overflow:hidden;margin:10px 0 14px;padding:16px;border-radius:18px;color:#fff;background:var(--vcard);box-shadow:0 8px 24px var(--vg)}
.vipcard::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.14) 50%,transparent 65%);background-size:300% 100%;animation:vipsh2 6s ease-in-out infinite}
.vc-h{display:flex;align-items:center;gap:14px}
.vavp{width:58px;height:58px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;background:rgba(255,255,255,.2);overflow:hidden}.vavp img{width:100%;height:100%;object-fit:cover}
.vc-t h3{margin:0;font-size:18px;display:flex;align-items:center}
.vc-tier{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:3px 11px;border-radius:99px;font-size:12.5px;font-weight:800;color:#1a1200;background:linear-gradient(135deg,var(--v1),var(--v2))}
.vipcard.vt3 .vc-tier{color:#fff}
.vc-exp{margin-top:14px;font-size:13.5px}.vc-bar{height:7px;margin-top:7px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}.vc-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v1),var(--v2))}
.vc-warn{margin-top:6px;font-weight:700;color:#FFD0D0}
.vc-l{margin:14px 0 8px;font-size:13px;font-weight:700;opacity:.9}
.vstyles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.vopt{display:flex;flex-direction:column;gap:5px;cursor:pointer}.vopt small{font-size:12px;opacity:.9}
.vopt input:checked~.pvb{outline:2px solid #fff;outline-offset:2px}
.vopt.lock{opacity:.5;cursor:not-allowed;filter:grayscale(.6)}

/* ===== v8: animasi VIP tambahan ===== */
/* nama VIP berkilau */
.nv.vt1 .nt,.nv.vt2 .nt,.nv.vt3 .nt{background:linear-gradient(100deg,currentColor 0 38%,var(--v1) 48%,#fff 50%,var(--v1) 52%,currentColor 62% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:vnm 4.2s linear infinite}
@keyframes vnm{0%{background-position:130% 0}60%,100%{background-position:-130% 0}}
/* lencana: semua tingkat berdenyut, diamond paling kuat */
.vb.vt1{animation:vbsp 4s ease-in-out infinite}.vb.vt2{animation:vbsp 3.2s ease-in-out infinite}
.vb{transform-origin:50% 60%}
.vb.vt2,.vb.vt3{animation-name:vbsp,vbtw}
@keyframes vbtw{0%,88%,100%{transform:none}92%{transform:rotate(-14deg) scale(1.2)}96%{transform:rotate(10deg) scale(1.1)}}
/* cincin berputar di foto VIP */
.av.vf::after{content:"";position:absolute;inset:-4px;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,var(--v1),var(--v2),transparent 35%,var(--v1) 60%,transparent 80%,var(--v2));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation:vspin 3.4s linear infinite}
.av.vf3::after{animation-duration:2s}
@keyframes vspin{to{transform:rotate(360deg)}}
/* bubble: kilau tepi berdenyut */
.bubble.vip.vt2,.bubble.vip.vt3{animation:vglow 3.4s ease-in-out infinite}
@keyframes vglow{50%{box-shadow:0 0 0 1px var(--vg),0 0 16px var(--vg),0 6px 16px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.18)}}
.bubble.vip.vs-neon{animation:vneon 2s ease-in-out infinite}
@keyframes vneon{50%{box-shadow:0 0 22px rgba(57,255,20,.85),0 0 4px #39FF14}}
/* kartu VIP & pil di profil: bintang berkelip */
.vipcard::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(2px 2px at 12% 28%,#fff,transparent),radial-gradient(1.5px 1.5px at 38% 74%,#fff,transparent),radial-gradient(2px 2px at 66% 22%,#fff,transparent),radial-gradient(1.5px 1.5px at 86% 66%,#fff,transparent),radial-gradient(2px 2px at 54% 50%,var(--v1),transparent);animation:vtw 2.6s ease-in-out infinite}
@keyframes vtw{50%{opacity:.25}}
.vippill{position:relative;overflow:hidden}
.vippill::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:250% 100%;animation:vnm 3s linear infinite}
@media (prefers-reduced-motion:reduce){.nv .nt,.vb,.av.vf::after,.bubble.vip,.vipcard::before,.vippill::after{animation:none!important}}
