/* V15.72.9 - Tiên cảnh quang hoa: 11 translucent SVG VIP avatar frames.
   Presentation only; no change to VIP permissions or levels. */
.tgvip-level-0{--vip-art:url("assets/vip-frames/vip-0.svg");--vip-art-strong:#bdc4d7;--vip-art-dark:#5c687b;--vip-halo-strength:0.120;}
.tgvip-level-1{--vip-art:url("assets/vip-frames/vip-1.svg");--vip-art-strong:#ecad71;--vip-art-dark:#744629;--vip-halo-strength:0.155;}
.tgvip-level-2{--vip-art:url("assets/vip-frames/vip-2.svg");--vip-art-strong:#5adeff;--vip-art-dark:#1665ae;--vip-halo-strength:0.190;}
.tgvip-level-3{--vip-art:url("assets/vip-frames/vip-3.svg");--vip-art-strong:#82ffae;--vip-art-dark:#176d4f;--vip-halo-strength:0.225;}
.tgvip-level-4{--vip-art:url("assets/vip-frames/vip-4.svg");--vip-art-strong:#ffdb71;--vip-art-dark:#a35d09;--vip-halo-strength:0.260;}
.tgvip-level-5{--vip-art:url("assets/vip-frames/vip-5.svg");--vip-art-strong:#de93ff;--vip-art-dark:#6631a9;--vip-halo-strength:0.295;}
.tgvip-level-6{--vip-art:url("assets/vip-frames/vip-6.svg");--vip-art-strong:#7fabff;--vip-art-dark:#2857db;--vip-halo-strength:0.330;}
.tgvip-level-7{--vip-art:url("assets/vip-frames/vip-7.svg");--vip-art-strong:#ff6c6c;--vip-art-dark:#b22236;--vip-halo-strength:0.365;}
.tgvip-level-8{--vip-art:url("assets/vip-frames/vip-8.svg");--vip-art-strong:#b1f8ff;--vip-art-dark:#387aee;--vip-halo-strength:0.400;}
.tgvip-level-9{--vip-art:url("assets/vip-frames/vip-9.svg");--vip-art-strong:#fff6dc;--vip-art-dark:#ad9bff;--vip-halo-strength:0.435;}
.tgvip-level-10{--vip-art:url("assets/vip-frames/vip-10.svg");--vip-art-strong:#ffe17a;--vip-art-dark:#e88b1d;--vip-halo-strength:0.470;}

/* Real avatar stays intact in the middle. SVG frames are decorative layers. */
.tgvip-avatar-wrap{
  --vip-size:180px;
  position:relative!important;width:var(--vip-size)!important;height:var(--vip-size)!important;
  margin:18px auto 44px!important;border:0!important;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#15171e 0%,#111219 66%,transparent 72%)!important;
  box-shadow:0 0 22px var(--vip-ambient),0 0 48px rgba(0,0,0,.22)!important;
  overflow:visible!important;isolation:isolate;flex-shrink:0;
}
.tgvip-avatar-wrap .member-avatar,.member-account-v9 .tgvip-avatar-wrap>.member-avatar{
  width:118px!important;height:118px!important;margin:0!important;border:2px solid var(--vip-color)!important;
  box-shadow:inset 0 0 9px var(--vip-ambient)!important;
  border-radius:50%;position:relative;z-index:1;overflow:hidden;
}
.tgvip-avatar-wrap .member-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.tgvip-avatar-wrap::before{
  content:""!important;position:absolute!important;inset:-25px!important;
  background-image:var(--vip-art)!important;background-size:100% 100%!important;
  background-position:center!important;background-repeat:no-repeat!important;
  z-index:3!important;pointer-events:none!important;border:0!important;
  box-shadow:none!important;filter:drop-shadow(0 0 9px var(--vip-ambient));
  animation:tgVipFrameBreathe 4s ease-in-out infinite alternate;
}
.tgvip-avatar-wrap::after{
  content:""!important;position:absolute!important;inset:-14px!important;
  border-radius:50%;background:conic-gradient(from 0deg,transparent,var(--vip-ambient),transparent,var(--vip-color),transparent);
  opacity:var(--vip-halo-strength,.2);filter:blur(16px);z-index:-1!important;
  pointer-events:none!important;animation:tgVipHalo 14s linear infinite;
}
.tgvip-avatar-medallion{
  right:-14px!important;bottom:-10px!important;z-index:5!important;
  border:1px solid var(--vip-art-strong,var(--vip-color))!important;
  border-radius:11px!important;padding:5px 9px!important;
  background:linear-gradient(135deg,#1e2028,#080a0f)!important;
  color:var(--vip-art-strong,var(--vip-color))!important;
  font-family:"Times New Roman",serif;font-weight:900;font-size:.83rem;
  letter-spacing:.03em;box-shadow:0 0 0 2px #000,0 0 15px var(--vip-ambient)!important;
}
.tgvip-member-status{margin-top:10px;gap:9px}
.tgvip-badge{
  border-color:var(--vip-art-strong,var(--vip-color));border-radius:12px;
  background:linear-gradient(115deg,rgba(3,4,8,.98),var(--vip-dark,#29262e),rgba(2,3,7,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 16px var(--vip-ambient),0 8px 22px rgba(0,0,0,.35);
  white-space:normal;text-align:center;
}
.tgvip-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}
.tgvip-tier{
  position:relative;isolation:isolate;justify-content:flex-start;min-width:0;min-height:214px;
  gap:4px;padding:12px 8px 13px;border-radius:18px;
  border:1px solid color-mix(in srgb,var(--vip-color) 55%,transparent);
  background:radial-gradient(circle at 50% 15%,var(--vip-ambient),transparent 68%),linear-gradient(180deg,#191923,#090b10 95%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 12px 28px rgba(0,0,0,.36);
}
.tgvip-tier:focus-within,.tgvip-tier:hover{border-color:var(--vip-color);box-shadow:0 0 24px var(--vip-ambient),0 12px 30px #0009}
.tgvip-tier .tgvip-tier-symbol{display:none}
.tgvip-tier .tgvip-avatar-wrap{--vip-size:104px;margin:7px auto 12px!important}
.tgvip-tier .tgvip-avatar-wrap::before{inset:-15px!important;animation:none}
.tgvip-tier .tgvip-avatar-wrap::after{inset:-7px!important;animation:none}
.tgvip-avatar-wrap.tgvip-avatar-compact .tgvip-demo-face{
  display:block;position:relative;z-index:1;border-radius:50%;
  width:69px;height:69px;object-fit:cover;border:2px solid var(--vip-color)
}
.tgvip-avatar-wrap.tgvip-avatar-compact .tgvip-avatar-medallion{right:-8px!important;bottom:-3px!important;font-size:9px;padding:3px 5px!important}
.tgvip-tier strong{font-size:1.03rem;letter-spacing:.08em;margin-top:2px}
.tgvip-tier span:last-child{color:#f6e7ce;font-size:.85rem}
.tgvip-tier.tgvip-level-10{background:radial-gradient(circle at 50% 18%,rgba(255,214,99,.29),transparent 74%),linear-gradient(180deg,#271b10,#0c0b0b)}
/* show decorative frames around a compact avatar in additional UI placements */
.tgvip-mini-frame{position:relative;display:inline-flex;width:52px;height:52px;justify-content:center;align-items:center;isolation:isolate;flex-shrink:0}
.tgvip-mini-frame::after{content:"";position:absolute;inset:-7px;pointer-events:none;z-index:2;background:var(--vip-art) center/contain no-repeat;filter:drop-shadow(0 0 4px var(--vip-ambient))}
.tgvip-mini-frame>img{width:35px;height:35px;border-radius:50%;object-fit:cover;position:relative;z-index:1}
@keyframes tgVipFrameBreathe{from{opacity:.86;filter:drop-shadow(0 0 5px var(--vip-ambient))}to{opacity:1;filter:drop-shadow(0 0 15px var(--vip-ambient))}}
@keyframes tgVipHalo{to{transform:rotate(360deg)}}
@media(max-width:900px){.tgvip-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.tgvip-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tgvip-tier{min-height:210px}}
@media(max-width:380px){.tgvip-tier{padding:10px 5px;min-height:196px}.tgvip-tier .tgvip-avatar-wrap{--vip-size:90px}.tgvip-avatar-wrap.tgvip-avatar-compact .tgvip-demo-face{width:60px;height:60px}.tgvip-tier strong{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.tgvip-avatar-wrap::before,.tgvip-avatar-wrap::after{animation:none!important}}
/* Legacy profile card stays two columns; no data structures touched. */
.member-account-v9 .tgvip-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}

/* Real user VIP levels in existing comment names and opt-in ranking; no private avatar URL exposed. */
.tg-comment-head strong .tgvip-badge{vertical-align:middle;display:inline-flex;padding:3px 8px;font-size:.72rem;max-width:100%;margin-left:5px;letter-spacing:0;line-height:1.3}
.tg29-card>.tgvip-badge,.tg29-list-name .tgvip-badge{padding:3px 8px;font-size:.73rem;max-width:100%;line-height:1.25}
.tg29-list-name strong .tgvip-badge{display:inline-flex;vertical-align:middle;font-size:.69rem;margin-left:5px}
.tg29-avatar.tgvip-rank-ring{position:relative;isolation:isolate;border-color:var(--vip-color);overflow:visible;box-shadow:0 0 15px var(--vip-ambient);background:radial-gradient(circle,#262632,#0b0d12)}
.tg29-avatar.tgvip-rank-ring::after{content:"";position:absolute;inset:-27px;z-index:2;pointer-events:none;background:var(--vip-art) center/contain no-repeat;filter:drop-shadow(0 0 5px var(--vip-ambient))}
@media(max-width:390px){.tg-comment-head strong .tgvip-badge{font-size:.64rem}}
