/* ═══════════════════════════════════════════════════════════════════════════
 *  v121 · نوار بالا/پایین لایو صوتی + نور گرادیانت صحبت
 *  فقط لایو صوتی (#liveRoom49.vb108) — پوستهٔ لایو تصویری دست نمی‌خورد.
 * ═══════════════════════════════════════════════════════════════════════════ */
#liveRoom49{ --g1:#FFD34D; --g2:#FF8A3D; --g3:#FF4D6D; --g4:#C084FC; --g5:#38BDF8 }

/* ── چیپ میزبان ── */
#liveRoom49.vb108 .lr-hostchip{
  position:relative; padding:4px 14px 4px 4px; gap:9px;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04)) padding-box,
             linear-gradient(rgba(34,16,70,.88),rgba(34,16,70,.88)) padding-box,
             linear-gradient(120deg,rgba(255,211,77,.75),rgba(255,77,109,.45),rgba(192,132,252,.5)) border-box;
  border:1px solid transparent; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  box-shadow:0 6px 18px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
}
[dir=rtl] #liveRoom49.vb108 .lr-hostchip{ padding:4px 4px 4px 14px }
#liveRoom49.vb108 #lrHostAv{ width:38px !important; height:38px !important; border:0 !important;
  box-shadow:0 0 0 2px #2a1650, 0 0 0 3.5px var(--g1), 0 0 12px rgba(255,211,77,.45) }
#liveRoom49.vb108 .lr-hostchip p:first-child{ font-size:13px !important; letter-spacing:.1px; text-shadow:0 1px 2px rgba(0,0,0,.35) }
#liveRoom49.vb108 #lrHostId{ color:rgba(255,236,179,.6) !important }

/* ── 👁 شمارنده ── */
#liveRoom49.vb108 .lr-pill.vw121{
  position:relative; cursor:pointer; gap:6px; height:32px; box-sizing:border-box; padding:0 12px 0 10px;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04)) padding-box,
             linear-gradient(rgba(34,16,70,.88),rgba(34,16,70,.88)) padding-box,
             linear-gradient(120deg,rgba(255,211,77,.7),rgba(255,138,61,.35)) border-box;
  border:1px solid transparent; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  color:#FFE9A8; font-size:12.5px; box-shadow:0 4px 14px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.15);
  transition:transform .15s;
}
#liveRoom49.vb108 .lr-pill.vw121:active{ transform:scale(.93) }
#liveRoom49.vb108 .lr-pill.vw121 svg{ width:15px; height:15px; stroke:var(--g1); filter:drop-shadow(0 0 4px rgba(255,211,77,.6)) }
#liveRoom49.vb108 .lr-pill.vw121::before{ content:""; width:6px; height:6px; border-radius:50%; background:#FF4D6D;
  box-shadow:0 0 0 0 rgba(255,77,109,.7); animation:live121 1.6s ease-out infinite; flex:none }
@keyframes live121{ 0%{ box-shadow:0 0 0 0 rgba(255,77,109,.7) } 80%,100%{ box-shadow:0 0 0 7px rgba(255,77,109,0) } }

/* ── دکمه‌های گرد بالا ── */
#liveRoom49.vb108 .lr-barbtn{
  width:36px !important; height:36px !important; position:relative;
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.28),rgba(255,255,255,.06) 55%,rgba(20,8,45,.25)) padding-box,
             linear-gradient(rgba(34,16,70,.88),rgba(34,16,70,.88)) padding-box,
             linear-gradient(140deg,rgba(255,255,255,.45),rgba(255,211,77,.25) 50%,rgba(255,255,255,.08)) border-box !important;
  border:1px solid transparent !important; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  box-shadow:0 4px 14px rgba(0,0,0,.28), inset 0 -4px 8px rgba(0,0,0,.15);
}
#liveRoom49.vb108 .lr-barbtn svg{ stroke:#FFF4D6; filter:drop-shadow(0 1px 1px rgba(0,0,0,.35)) }
#liveRoom49.vb108 button.lr-barbtn[onclick*="openExitSheet68"]{
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.35),rgba(255,77,109,.55) 55%,rgba(150,20,50,.7)) padding-box,
             linear-gradient(140deg,#FFB4C2,#FF4D6D) border-box !important;
  box-shadow:0 4px 16px rgba(255,77,109,.4), inset 0 -4px 8px rgba(0,0,0,.18);
}

/* ── ردیف دوم: this hour / ستاره / آتش ── */
#liveRoom49.vb108 #rk101{
  position:relative; overflow:hidden; height:28px; box-sizing:border-box; padding:0 12px 0 5px; gap:5px;
  background:linear-gradient(100deg,#FFD34D 0%,#FF8A3D 45%,#FF4D6D 100%);
  box-shadow:0 4px 14px rgba(255,77,109,.35), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -2px 4px rgba(150,30,40,.25);
  border:1px solid rgba(255,255,255,.35);
}
[dir=rtl] #liveRoom49.vb108 #rk101{ padding:0 5px 0 12px }
#liveRoom49.vb108 #rk101::after{ content:""; position:absolute; top:0; bottom:0; width:40%; left:-60%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg);
  animation:shine121 3.2s ease-in-out infinite }
#liveRoom49.vb108 #rk101 .rk-cup{ display:grid; place-items:center; width:20px; height:20px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff5c9,#F59E0B); box-shadow:0 1px 3px rgba(0,0,0,.25) }
#liveRoom49.vb108 #rk101 .rk-cup svg{ width:12px; height:12px }
#liveRoom49.vb108 #rk101 .rk-cup svg path{ fill:#9A3412; stroke:#9A3412 }
#liveRoom49.vb108 #rk101 b{ font-size:12.5px; text-shadow:0 1px 2px rgba(150,30,40,.45) }
#liveRoom49.vb108 #rk101 span{ font-size:10.5px; text-shadow:0 1px 2px rgba(150,30,40,.4) }
@keyframes shine121{ 0%,60%{ left:-60% } 100%{ left:130% } }

#liveRoom49.vb108 #star99,
#liveRoom49.vb108 #fire100{
  height:28px; box-sizing:border-box;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.03)) padding-box,
             linear-gradient(rgba(34,16,70,.88),rgba(34,16,70,.88)) padding-box,
             linear-gradient(120deg,rgba(255,211,77,.65),rgba(192,132,252,.4)) border-box !important;
  border:1px solid transparent !important; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  box-shadow:0 4px 14px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.14);
}
#liveRoom49.vb108 #star99 .s99-bar{ height:5px; background:rgba(0,0,0,.35); box-shadow:inset 0 1px 2px rgba(0,0,0,.4) }
#liveRoom49.vb108 #star99 .s99-bar i{ box-shadow:0 0 8px rgba(255,211,77,.8) }
#liveRoom49.vb108 #star99 .s99-n{ color:#FFE9A8; font-weight:900 }
#liveRoom49.vb108 #fire100{
  background:linear-gradient(135deg,rgba(255,138,61,.28),rgba(255,77,109,.14)) padding-box,
             linear-gradient(120deg,#FFD34D,#FF4D6D) border-box !important;
}
#liveRoom49.vb108 #fire100 .f100-i{ font-size:14px; display:inline-block; transform-origin:50% 90%;
  filter:drop-shadow(0 0 5px rgba(255,120,40,.9)); animation:flame121 1.3s ease-in-out infinite }
#liveRoom49.vb108 #fire100 .f100-n{ color:#FFF1DC; text-shadow:0 0 6px rgba(255,138,61,.7) }
@keyframes flame121{ 0%,100%{ transform:scale(1) rotate(-3deg) } 50%{ transform:scale(1.12) rotate(3deg) } }

/* ── نوار پایین ── */
#liveRoom49.vb108 #vb108Bar{ gap:7px }
#liveRoom49.vb108 .vb108-inp{
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.05)) padding-box,
             linear-gradient(rgba(34,16,70,.88),rgba(34,16,70,.88)) padding-box,
             linear-gradient(120deg,rgba(255,255,255,.35),rgba(255,211,77,.3)) border-box;
  border:1px solid transparent; box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 6px 18px rgba(0,0,0,.25);
}
#liveRoom49.vb108 .vb108-inp:focus-within{
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08)) padding-box,
             linear-gradient(rgba(34,16,70,.88),rgba(34,16,70,.88)) padding-box,
             linear-gradient(120deg,var(--g1),var(--g3)) border-box }
#liveRoom49.vb108 .vb108-em,#liveRoom49.vb108 .vb108-ph{ color:#FFE9A8 }
#liveRoom49.vb108 #vb108Bar .vs98-rb{
  position:relative; width:44px; height:44px; border:1px solid transparent; color:#FFF4D6;
  background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.3),rgba(255,255,255,.07) 50%,rgba(20,8,45,.35)) padding-box,
             linear-gradient(rgba(34,16,70,.88),rgba(34,16,70,.88)) padding-box,
             linear-gradient(145deg,rgba(255,255,255,.5),rgba(255,211,77,.3) 45%,rgba(255,255,255,.06)) border-box;
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  box-shadow:0 6px 16px rgba(0,0,0,.32), inset 0 -5px 10px rgba(0,0,0,.2);
  transition:transform .15s, box-shadow .2s;
}
#liveRoom49.vb108 #vb108Bar .vs98-rb svg{ filter:drop-shadow(0 1px 2px rgba(0,0,0,.4)) }
#liveRoom49.vb108 #vb108Bar .vs98-rb:active{ transform:scale(.88) }
/* میکروفون روشن: حلقهٔ طلایی — خاموش: قرمز درخشان */
#liveRoom49.vb108 #vb108Bar .vb108-mic:not(.off){
  background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.35),rgba(255,211,77,.2) 50%,rgba(60,30,10,.35)) padding-box,
             linear-gradient(145deg,#FFE9A8,var(--g1) 50%,var(--g2)) border-box;
  color:#FFE9A8; box-shadow:0 0 14px rgba(255,211,77,.35), 0 6px 16px rgba(0,0,0,.3) }
#liveRoom49.vb108 #vb108Bar .vs98-rb.off{
  background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.4),#FF4D6D 55%,#B4123A) padding-box,
             linear-gradient(145deg,#FFC2CD,#FF4D6D) border-box;
  color:#fff; box-shadow:0 0 16px rgba(255,77,109,.5), 0 6px 16px rgba(0,0,0,.3) }
#liveRoom49.vb108 #vb108Bar .vb108-game{
  background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.4),#A855F7 55%,#6D28D9) padding-box,
             linear-gradient(145deg,#E9D5FF,#C084FC) border-box;
  color:#fff; box-shadow:0 0 14px rgba(168,85,247,.45), 0 6px 16px rgba(0,0,0,.3) }
#liveRoom49.vb108 #vb108Bar .vb108-gift{
  overflow:hidden; color:#fff;
  background:radial-gradient(circle at 35% 22%,#FFF6CC,#FFD34D 40%,#FF8A3D 75%,#E8570C) padding-box,
             linear-gradient(145deg,#FFF1B8,#FF8A3D) border-box !important;
  box-shadow:0 0 18px rgba(255,160,50,.55), 0 6px 16px rgba(0,0,0,.3) !important;
  animation:gift121 3.6s ease-in-out infinite }
#liveRoom49.vb108 #vb108Bar .vb108-gift::after{ content:""; position:absolute; top:-10%; bottom:-10%; width:35%; left:-60%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent); transform:skewX(-20deg);
  animation:shine121 3.6s ease-in-out infinite }
#liveRoom49.vb108 #vb108Bar .vb108-gift svg{ position:relative; z-index:1; filter:drop-shadow(0 1px 2px rgba(150,60,0,.6)) }
@keyframes gift121{ 0%,82%,100%{ transform:none } 86%{ transform:rotate(-12deg) scale(1.06) } 90%{ transform:rotate(10deg) scale(1.06) } 94%{ transform:rotate(-5deg) } }
@media (max-width:370px){ #liveRoom49.vb108 #vb108Bar .vs98-rb{ width:39px; height:39px } }

/* ═══ موج صحبت (v123) ═══
 *  به‌جای حلقهٔ رنگین‌کمانی: سه موج گرم (طلایی → نارنجی → صورتی داغ →
 *  بنفش) که از دور عکس بیرون می‌روند، و اندازه‌شان با «بلندی واقعی صدا»
 *  بزرگ و کوچک می‌شود (متغیر --lvl را 152-v121.js هر ۸۰ms از LiveKit
 *  می‌گذارد).  زیر عکس هم یک اکولایزر کوچک با همان بلندی می‌رقصد.
 *  جای هالهٔ سبز v52 / v69 / v108 را می‌گیرد. */
#liveRoom49{ --w1:#FFE066; --w2:#FF8A3D; --w3:#FF3D7F; --w4:#B14BFF }
#liveRoom49 .lr-seat.speaking:not(.v){ z-index:3 }
/* #lrStage اسکرول دارد و موج بالای ردیف اول را می‌برید — جای نفس کشیدن */
#liveRoom49.vb108 #lrStage{ padding-top:18px; margin-top:0 !important; padding-bottom:6px }
#liveRoom49 .lr-seat .circ img{ border-radius:50% }
#liveRoom49 .lr-seat.speaking:not(.v) .circ{
  overflow:visible; z-index:2; border:2px solid rgba(255,255,255,.95) !important; animation:none !important;
  box-shadow:0 0 calc(10px + var(--lvl,.3) * 26px) calc(1px + var(--lvl,.3) * 5px) rgba(255,122,89,.7),
             0 0 calc(18px + var(--lvl,.3) * 34px) rgba(177,75,255,.35) !important;
  transition:box-shadow .12s linear }

/* موج‌ها — پشت عکس، دقیقاً هم‌اندازهٔ دایره (JS جایش را تنظیم می‌کند) */
.wv123{ position:absolute; z-index:1; pointer-events:none; display:none }
#liveRoom49 .lr-seat.speaking .wv123,
#liveRoom49 .lr-hostchip.spk121 .wv123{ display:block }
.wv123::before{ content:""; position:absolute; inset:-6%; border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,138,61,.55),rgba(255,61,127,.28) 55%,transparent 72%);
  transform:scale(calc(1.05 + var(--lvl,.3) * .55)); transition:transform .12s linear }
.wv123 i{ position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 210deg,var(--w1),var(--w2),var(--w3),var(--w4),var(--w3),var(--w1));
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3px));
  filter:drop-shadow(0 0 5px rgba(255,90,120,.85));
  opacity:0; animation:wave123 1.8s cubic-bezier(.15,.55,.35,1) infinite }
.wv123 i:nth-child(2){ animation-delay:.6s }
.wv123 i:nth-child(3){ animation-delay:1.2s }
@keyframes wave123{
  0%  { transform:scale(1); opacity:.95 }
  100%{ transform:scale(calc(1.25 + var(--lvl,.3) * .45)); opacity:0 } }
.wv123.sm i{ animation-name:wave123s }
@keyframes wave123s{
  0%  { transform:scale(1); opacity:.95 }
  100%{ transform:scale(calc(1.3 + var(--lvl,.3) * .45)); opacity:0 } }

/* اکولایزر — نشان کوچک بالا-راست عکس، روی نام نمی‌افتد */
.eq123{ position:absolute; z-index:4; display:none; align-items:flex-end; gap:2px; height:14px; padding:3px 6px;
  border-radius:999px; background:rgba(20,8,45,.82); border:1px solid rgba(255,224,102,.45);
  box-shadow:0 2px 8px rgba(0,0,0,.4); pointer-events:none }
#liveRoom49 .lr-seat.speaking .eq123{ display:flex }
.eq123 b{ display:block; width:2.5px; height:100%; border-radius:2px; transform-origin:50% 100%;
  background:linear-gradient(0deg,var(--w2),var(--w1)); animation:eq123 .55s ease-in-out infinite alternate }
.eq123 b:nth-child(2){ animation-delay:.15s; background:linear-gradient(0deg,var(--w3),var(--w2)) }
.eq123 b:nth-child(3){ animation-delay:.3s;  background:linear-gradient(0deg,var(--w4),var(--w3)) }
.eq123 b:nth-child(4){ animation-delay:.1s;  background:linear-gradient(0deg,var(--w3),var(--w2)) }
.eq123 b:nth-child(5){ animation-delay:.25s }
@keyframes eq123{ from{ transform:scaleY(.25) } to{ transform:scaleY(calc(.35 + var(--lvl,.3) * .65)) } }

#liveRoom49 .lr-seat.speaking .nm{
  color:transparent !important; background:linear-gradient(90deg,var(--w1),var(--w2),var(--w3));
  -webkit-background-clip:text; background-clip:text; font-weight:900 }

/* کاشی‌های ویدیویی / مهمان — همان رنگ‌های گرم، نبض با بلندی صدا */
#liveRoom49 .lr-seat.v.speaking,
.gt108.speaking:not(.aud), #lrGuestVid65.speaking:not(.aud), .mt113.speaking{
  border-color:transparent !important; animation:glow123 1.8s linear infinite !important }
@keyframes glow123{
  0%  { box-shadow:0 0 0 2.5px var(--w1,#FFE066), 0 0 18px 4px rgba(255,224,102,.45) }
  33% { box-shadow:0 0 0 2.5px var(--w2,#FF8A3D), 0 0 20px 5px rgba(255,138,61,.5) }
  66% { box-shadow:0 0 0 2.5px var(--w3,#FF3D7F), 0 0 20px 5px rgba(255,61,127,.5) }
  100%{ box-shadow:0 0 0 2.5px var(--w1,#FFE066), 0 0 18px 4px rgba(255,224,102,.45) } }

/* عکس میزبان بالای صفحه */
#liveRoom49 .lr-hostchip.spk121 #lrHostAv,
#liveRoom49 #lrHostAv.speaking69{ position:relative; z-index:2; border:0 !important; animation:none !important;
  box-shadow:0 0 0 2px #2a1650, 0 0 0 3.5px #fff, 0 0 calc(8px + var(--lvl,.3) * 16px) rgba(255,122,89,.75) !important }

@media (prefers-reduced-motion:reduce){
  .wv123 i,.eq123 b,
  #liveRoom49.vb108 #vb108Bar .vb108-gift,#liveRoom49.vb108 #rk101::after,#liveRoom49.vb108 #fire100 .f100-i{ animation:none }
}

/* ── شیت حاضران ── */
.ros121-eye{ flex:none; width:40px; height:40px; border-radius:13px; display:grid; place-items:center; color:#fff;
  background:linear-gradient(145deg,#FFE082,#F59E0B); box-shadow:0 4px 12px rgba(245,158,11,.35) }
.ros121-eye svg{ width:21px; height:21px }
.ros121-host{ display:flex; align-items:center; gap:11px; padding:10px 16px; background:linear-gradient(90deg,#FFFBEB,#fff); border-bottom:1px solid #F5F5F4 }
.ms120-rav.host{ border-color:#F59E0B; box-shadow:0 0 0 2px rgba(245,158,11,.25) }
.ros121-tag{ flex:none; font-size:10px; font-weight:900; color:#fff; padding:3px 9px; border-radius:999px;
  background:linear-gradient(135deg,#FBBF24,#EF4444) }
.ros121-row{ cursor:pointer }
.ros121-row:active{ background:#FFFBEB }
.ros121-mic{ flex:none; font-size:11px; font-weight:900; color:#B45309; background:#FEF3C7; padding:3px 9px; border-radius:999px }
.ros121-me{ font-style:normal; font-size:10px; font-weight:900; color:#B45309; background:#FEF3C7; padding:0 6px; border-radius:999px; margin-inline-start:4px }

/* ═══ v249 · چیپ میزبان: قاب آواتار روی نام و ID نیفتد + ID با کلید یاسی ═══ */
#liveRoom49 .lr-hostchip:has(> .fr226) #lrHostAv{ margin-inline-start:6px; margin-inline-end:8px }
#liveRoom49 #lrHostId{ display:inline-flex; align-items:center; gap:4px; direction:ltr; margin-top:2px; font-size:10px !important; font-weight:900 !important; letter-spacing:.6px; color:rgba(255,240,200,.9) !important }
#liveRoom49 #lrHostId .ik249{ font-style:normal; display:inline-grid; place-items:center; height:13px; padding:0 4px; border-radius:5px 2px 5px 2px; font-size:7.5px; letter-spacing:.6px; line-height:1;
  color:#fff; background:linear-gradient(135deg,#C4B5FD,#7C3AED); box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 2px 6px -2px rgba(124,58,237,.8) }
