/* ═══════════════════════════════════════════════════════════════════════════
 *  v480 · اتاق صوتی فشرده — «لانژ طلایی»
 *
 *  مشکل: لایو صوتی «خیلی زوم» بود — مایک ۵۶px با ردیف‌های ۱۲۳px، سربرگ+آمار ۱۱۲px، داک ۶۳px با هدیهٔ ۶۲px وسط
 *  و خانهٔ پیامی که به یک آیکن جمع شده بود. مالک داک اپ مرجع را خواست (خانهٔ پیام کشیده چپ، دکمه‌های گرد،
 *  هدیهٔ بزرگ راست، ستون شناور بازی) و همهٔ اتاق صوتی را کم‌زوم‌تر و «کاستومایزتر».
 *  راه‌حل (فقط CSS؛ رفتار تایپ، ارسال، کیبورد و دکمه‌ها همان قبلی):
 *   • مایک‌ها ۴۶px (v481: ۵/۱۰ مایک ۵۰px، ۱۵/۲۰ مایک ۴۰px) با حلقهٔ گرادیانی نازک ۱٫۵px، نام ۱۰٫۵px، شمارهٔ مایک خالی در پیل ریز طلایی،
 *     قفل = حباب یاقوتی آبی با قفل سفید، تگ Host کنار نام در همان خط (هر مایک یک grid دو‌ستونه؛ ردیف‌ها هم‌قد
 *     ≈۷۱px)، تاج/میوت/اکولایزر/نشان مدیر ۷۰٪، قاب VIP با همان سازوکار v280 (--fs) در ستون خودش می‌ماند.
 *   • سربرگ ۸px از بالا، آواتار میزبان ۳۴px، کپسول‌های آمار ۲۷px (مدال ۲۰، عدد ۱۲٫۵، برچسب ۸) با همان رنگ هر نشان
 *     — صحنه به‌جای ۱۱۲px از ≈۸۷px شروع می‌شود.
 *   • داک مثل مرجع، چپ←راست مستقل از RTL: خانهٔ پیام کشیده ۳۶px (فیلد واقعی با placeholder) · ری‌اکشن · مایک ·
 *     (دوربین) · بلندگو · منو · هدیهٔ طلایی برجستهٔ ۴۸px سمت راست؛ دکمهٔ بازی شناور ۴۰px بالای هدیه (هنگام تایپ
 *     پنهان). گروه‌های .l126/.r126 با display:contents باز می‌شوند و order ترتیب فیزیکی را می‌دهد؛ .vb108-pop
 *     همچنان نسبت به خود نوار قرار می‌گیرد. ارتفاع کل ۵۰px + safe-area (سینما هم همین داک را می‌گیرد؛ بودجه‌اش
 *     حفظ می‌شود — مایک/سربرگ/آمار سینما دست نمی‌خورد).
 *   • پنل سه طرح + دو داور: پایه «لانژ طلایی» (B)؛ از طرح A جای خالی ته چت زیر دکمهٔ شناور بازی و پنهان‌شدنش با کیبورد،
 *     از طرح C زوم ملایم‌تر مایک‌ها با کیبورد باز (۰٫۷۲ به‌جای ۰٫۶ برای ۵/۱۰ مایک). در سینما (383) دکمهٔ بازی شناور نیست و
 *     مثل بقیه داخل ردیف داک می‌ماند (چت سینما کوتاه است و جای خالی ته چت ندارد).
 *  وزن انتخابگر: مایک/سربرگ/آمار با #liveRoom49.vb108:not(.cn471on)؛ داک با چهار بار .vb108 (الگوی 383-v471) تا از
 *  125/126/369/471 که با !important می‌نویسند جلو بزند. بدون :has روی body/html/#liveRoom49، بدون backdrop-filter روی
 *  داک، انیمیشن بی‌پایان تازه ندارد (تنفس box-shadow مایک خالی v273 در این حالت خاموش می‌شود؛ حلقهٔ چرخان می‌ماند).
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ ۱) سربرگ: ۸px از بالا، آواتار میزبان و دکمه‌ها ۳۴px — v481: همهٔ اتاق‌های نوار‌دار (صوتی، چندمهمانی، تصویری .vs98، سینما) ═══ */
#liveRoom49:is(.vb108,.vs98) > .px-4.pt-4{ padding-top:8px !important; gap:8px }
#liveRoom49:is(.vb108,.vs98) #lrHostAv{ width:34px !important; height:34px !important }
#liveRoom49:is(.vb108,.vs98) > .px-4.pt-4 .lr-barbtn{ width:34px !important; height:34px !important }
#liveRoom49:is(.vb108,.vs98) > .px-4.pt-4 .lr-pill{ padding:4px 9px; font-size:10.5px; gap:4px }
/* خط ID میزبان inline-flex بود و در یک خط ۲۴px می‌نشست (بلوک متن ۴۰px ← چیپ ۵۰px)؛ بلوکی می‌شود ← چیپ ۴۲px.
   v481: نه در اتاق‌های tb101 (تصویری/چندمهمانی) که 119-v96 خط ID را پنهان و به‌جایش سکهٔ دریافتی (#hc101) را می‌گذارد —
   v480 آن‌جا ID را دوباره نشان می‌داد و چیپ ۵۲px می‌شد */
#liveRoom49:is(.vb108,.vs98):not(.tb101) #lrHostId{ display:flex !important; margin-top:1px !important }

/* ═══ ۲) نوار آمار: کپسول‌های جواهری ۲۷px با همان رنگ هر نشان — v481: در لایو تصویری (.vs98) هم (324-v372 با html body + :where می‌نویسد؛
 *       این‌جا #liveRoom49:is(.vb108,.vs98):not(.cn471on) + :is(#id.c.c) سنگین‌تر است) ═══ */
/* ردیف آمار قبلاً padding 8/10px و margin-bottom:-10px داشت (جعبهٔ ۴۵px برای کپسول ۳۶) — حالا ۱px دور کپسول ۲۷ */
#liveRoom49:is(.vb108,.vs98):not(.cn471on) > .px-4.mt-2\.5{ margin:6px 0 -1px !important; padding:1px 16px !important; gap:5px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) :is(#rk101.v261.v261, #lv126.v266.v266, #fire100.v268.v268, .cup312.cup312){
  height:27px !important; min-height:27px !important; gap:5px !important; padding:0 9px 0 3px !important }
[dir=rtl] #liveRoom49:is(.vb108,.vs98):not(.cn471on) :is(#rk101.v261.v261, #lv126.v266.v266, #fire100.v268.v268, .cup312.cup312){ padding:0 3px 0 9px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #fire100.v268.v268:has(> .f268-r){ padding-inline-end:4px !important }
/* مدال گرد ۲۰px */
#liveRoom49:is(.vb108,.vs98):not(.cn471on) :is(#rk101.v261.v261 .rk-cup, #lv126.v266.v266 .lv126-e, #fire100.v268.v268 .f268-i, .cup312.cup312 .ci){
  width:20px !important; height:20px !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.65), 0 2px 5px -1px rgba(0,0,0,.45), inset 0 -2px 4px rgba(0,0,0,.18) !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #rk101.v261.v261 .rk-cup svg,
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #rk101.v261.v261 .rk-cup img.ic265{ width:18px !important; height:18px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #rk101.v261.v261 .rk-cup::before{ inset:-2px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #lv126.v266.v266 .lv126-ring{ inset:-1px !important; width:22px !important; height:22px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #lv126.v266.v266 .gm266{ width:16px !important; height:16px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #fire100.v268.v268 .fo268,
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #fire100.v268.v268 .fi268{ width:17px !important; height:17px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #fire100.v268.v268 .f268-r{ height:15px !important; padding:0 5px !important; font-size:9px !important; line-height:15px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) .cup312.cup312 .ci{ padding:2px !important }
/* متن: عدد ۱۲٫۵px، برچسب ۸px */
#liveRoom49:is(.vb108,.vs98):not(.cn471on) :is(#rk101.v261.v261 .tx264, #lv126.v266.v266 .lt266, #fire100.v268.v268 .f268-t, .cup312.cup312 .cv){ gap:1px !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) :is(#rk101.v261.v261 b, #lv126.v266.v266 .lt266 b, #fire100.v268.v268 .f268-t b, .cup312.cup312 .cv b){
  font-size:12.5px !important; text-shadow:0 1px 0 rgba(0,0,0,.28), 0 0 7px var(--gl) !important }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) :is(#rk101.v261.v261 .tx264 > span, #lv126.v266.v266 .lt266 small, #fire100.v268.v268 .f268-t small, .cup312.cup312 .cv small){
  font-size:7.5px !important; letter-spacing:.35px !important }
[dir=rtl] #liveRoom49:is(.vb108,.vs98):not(.cn471on) :is(#rk101.v261.v261 .tx264 > span, #lv126.v266.v266 .lt266 small, #fire100.v268.v268 .f268-t small, .cup312.cup312 .cv small){
  font-size:8px !important; letter-spacing:0 !important }
/* جرقه‌های رتبهٔ ۱ نزدیک‌تر به لبه */
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #rk101.v261.v261 .sp264.a{ top:3px; inset-inline-end:5px; inset-inline-start:auto }
#liveRoom49:is(.vb108,.vs98):not(.cn471on) #rk101.v261.v261 .sp264.b{ bottom:3px; inset-inline-end:11px; inset-inline-start:auto }

/* ═══ ۳) صحنه و مایک‌ها ═══ */
#liveRoom49.vb108:not(.cn471on) #lrStage{ padding-top:12px; padding-bottom:4px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap{ gap:10px !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc15,.mc20){ gap:8px !important }
/* فاصلهٔ ردیف‌ها فقط از gap (ردیف دوم کلاس mt-3 دارد و 183 برای ۱۵/۲۰ مایک margin-top:14px می‌داد — هر دو صفر) */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap > div + div{ margin-top:0 !important }
/* هر مایک: grid دو‌ستونه — ردیف ۱ دایره (تمام عرض)، ردیف ۲ نام (و تگ Host کنارش) */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v){
  display:grid; grid-template-columns:auto auto; grid-auto-flow:row; justify-content:center; justify-items:center; align-items:center;
  column-gap:3px; row-gap:3px; gap:3px; min-width:46px }   /* جعبهٔ لمس ≥ ۴۴px حتی با آواتار ۴۰ */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .circ{ grid-column:1 / -1; order:0; width:46px !important; height:46px !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc15,.mc20) .lr-seat:not(.v) > .circ{ width:40px !important; height:40px !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .circ > span.text-lg{ font-size:15px; line-height:1 }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .nm{
  grid-column:1 / -1; order:1; margin:0; font-size:10.5px; line-height:1.25; font-weight:800; max-width:66px; color:rgba(255,255,255,.84) }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc15,.mc20) .lr-seat:not(.v) > .nm{ max-width:58px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .lr-hosttag57 + .nm{ grid-column:auto; max-width:50px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .lr-hosttag57{
  grid-column:auto; order:2; margin:0; font-size:7.5px; line-height:1.35; padding:1px 6px; letter-spacing:.3px;
  box-shadow:0 2px 5px rgba(255,201,64,.4), inset 0 1px 0 rgba(255,255,255,.55) }
/* شمارهٔ مایک خالی: پیل ریز طلایی (رنگ از 284) */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .num{
  grid-column:1 / -1; order:1; min-width:17px; height:14px; padding:0 5px; margin:0 !important; font-size:9px; line-height:14px; border-radius:99px;
  box-shadow:0 2px 6px -2px rgba(255,170,40,.8), inset 0 1px 0 rgba(255,255,255,.35) }
/* هر فرزند درجریانِ دیگری که لایه‌ای بعداً داخل مایک بگذارد، یک ردیف تمام‌عرض می‌گیرد (نه ستون کنار نام) */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > :not(.circ):not(.nm):not(.num):not(.lr-hosttag57){ grid-column:1 / -1 }
/* کیبورد باز (kb193 از 123 با zoom:.6): مایک‌ها از قبل کوچک‌اند؛ ۵/۱۰ مایک با ۰٫۷۲ خوانا می‌ماند (دو ردیف)؛ ۱۵/۲۰ همان ۰٫۶ */
#liveRoom49.vb108.kb193:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10){ zoom:.72 }
/* جای خالی ته چت برای دکمهٔ شناور بازی (۴۰px + ۸px بالای داک) تا آخرین پیام (در RTL از راست شروع می‌شود) زیرش نرود؛
   با کیبورد باز دکمه پنهان است و جا لازم نیست */
#liveRoom49.vb108:not(.cn471on):not(.kb193) #lrChat{ padding-bottom:50px }
/* گوی خالی: حلقهٔ نازک ۱٫۵px، سایهٔ ثابت (تنفس box-shadow خاموش — در این اندازه شلوغ و پرهزینه بود) */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v):not(.full) > .circ{
  animation:none !important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.42), inset 0 -6px 10px rgba(20,4,48,.42), 0 6px 14px -6px rgba(10,2,30,.6), 0 0 8px rgba(255,170,90,.14) !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v):not(.full) > .circ::before{ padding:1.5px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat .circ svg.mi273{ width:44% !important; height:44% !important }
/* قفل: حباب یاقوتی آبی با قفل سفید — از دور «قفل» خوانده می‌شود */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v):not(.full) > .circ[style*="border-style:solid"],
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat.ms120-lk:not(.v) > .circ{
  background:radial-gradient(circle at 34% 26%, rgba(255,255,255,.44), rgba(147,197,253,.32) 36%, rgba(59,130,246,.46) 70%, rgba(30,27,75,.78) 100%) !important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.45), inset 0 -6px 10px rgba(30,27,75,.5), 0 6px 14px -6px rgba(10,2,30,.6), 0 0 10px rgba(96,165,250,.28) !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v):not(.full) > .circ[style*="border-style:solid"]::before,
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat.ms120-lk:not(.v) > .circ::before{ background:conic-gradient(from 0deg,#BFDBFE,#60A5FA,#C7D2FE,#93C5FD,#BFDBFE); opacity:.9 }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v):not(.full) > .circ[style*="border-style:solid"] > svg,
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat.ms120-lk:not(.v) > .circ > svg{
  width:18px; height:18px; stroke:#fff !important; stroke-width:2.2; filter:drop-shadow(0 1px 3px rgba(30,64,175,.7)) !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat.ms120-lk .num,
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:has(> .circ[style*="border-style:solid"]) .num{
  background:linear-gradient(120deg,#BFDBFE,#60A5FA) !important; color:#132C6B !important; box-shadow:0 2px 6px -2px rgba(96,165,250,.8), inset 0 1px 0 rgba(255,255,255,.45) }
/* پر: حلقهٔ برند نازک‌تر و هالهٔ آرام‌تر */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat.full:not(.v) > .circ{
  border-width:1.5px !important; box-shadow:0 0 10px rgba(255,200,60,.32), 0 4px 12px -4px rgba(10,2,30,.6) !important }
/* قاب VIP (سازوکار v280: آواتار کوچک‌تر تا قاب ۱٫۵۵ برابری در ستون بماند؛ مرکز هم‌تراز بقیه). width این‌جا دوباره نوشته می‌شود
   چون قاعدهٔ ۴۶px بالا هم‌وزن قاعدهٔ v280 است و بعد از آن می‌آید (بی این خط آواتار کوچک نمی‌شد ولی margin پایینش می‌برد) */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat.full:not(.v):has(> .fr226) > .circ{
  --fs:min(46px, 11.2cqw); width:var(--fs) !important; height:var(--fs) !important; margin-block:calc((46px - var(--fs)) / 2) }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc15,.mc20) .lr-seat.full:not(.v):has(> .fr226) > .circ{
  --fs:min(40px, 11.2cqw); width:var(--fs) !important; height:var(--fs) !important; margin-block:calc((40px - var(--fs)) / 2) }
/* نشان‌ها ۷۰٪: تاج نسبت به مرکز دایره (نه لبهٔ مایک)، نوار میوت، نشان مدیر، اکولایزر */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .lr-crown{ top:-6px; right:auto; left:calc(50% + 9px); line-height:0 }
/* v481 · اتاق ۵ و ۱۰ مایکه (حداکثر دو ردیف — جا هست): مایک ۵۰px به‌اندازهٔ نمونهٔ دوم مالک (حباب ≈۱۲٫۵٪ عرض)، ردیف‌ها ۱۴px از هم
   (فاصلهٔ ردیف ≈۸۶px)، نام ۱۱٫۵px، پیل شماره ۱۶px؛ ۱۵/۲۰ مایک همان ۴۰px. قاب VIP با همان سازوکار (--fs تا ۱۱٫۲cqw کوچک می‌شود).
   فقط اندازه؛ طرح، رنگ و بقیهٔ اتاق دست نخورده */
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10){ gap:14px !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v){ min-width:50px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) > .circ{ width:50px !important; height:50px !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) > .circ > span.text-lg{ font-size:16px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) > .nm{ font-size:11.5px; max-width:70px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) > .lr-hosttag57 + .nm{ max-width:52px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) > .lr-hosttag57{ font-size:8px; padding:1px 7px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) > .num{ min-width:19px; height:16px; padding:0 6px; font-size:10px; line-height:16px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v):not(.full) > .circ[style*="border-style:solid"] > svg,
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat.ms120-lk:not(.v) > .circ > svg{ width:20px; height:20px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat.full:not(.v):has(> .fr226) > .circ{
  --fs:min(50px, 11.2cqw); margin-block:calc((50px - var(--fs)) / 2) }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) > .lr-crown{ left:calc(50% + 11px) }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) .lr-mute svg{ width:10px; height:10px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap:is(.mc5,.mc10) .lr-seat:not(.v) .ms120-mb{ width:14px; height:14px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .lr-crown svg{ width:13px; height:13px; display:block; filter:drop-shadow(0 1px 2px rgba(0,0,0,.45)) }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) .lr-mute{ padding:1px 0 }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) .lr-mute svg{ width:9px; height:9px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) .ms120-mb{ width:13px; height:13px; bottom:0; right:0; border-width:1.2px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) .ms120-mb svg{ width:7px !important; height:7px !important }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) .eq123{ height:11px; padding:2px 4px; gap:1.5px }
#liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) .eq123 b{ width:2px }
/* زبانه‌های زیر صحنه کمی جمع‌تر */
#liveRoom49.vb108:not(.cn471on) .lr-tab{ font-size:12px; padding:2px 2px }
@media (max-width:359px){
  #liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .nm{ max-width:54px }
  #liveRoom49.vb108:not(.cn471on) #lrSeatsWrap .lr-seat:not(.v) > .lr-hosttag57 + .nm{ max-width:36px }
}

/* ═══ ۴) داک (صوتی + سینما): چپ←راست مثل مرجع — خانهٔ پیام · ری‌اکشن · مایک · (دوربین) · بلندگو · منو · هدیه ═══ */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar{
  display:flex !important; flex-direction:row; flex-wrap:nowrap; align-items:center !important; justify-content:flex-start; direction:ltr;
  gap:7px !important; column-gap:7px !important; padding:7px 12px calc(7px + env(safe-area-inset-bottom)) !important; isolation:isolate }
/* صفحهٔ شیشه‌ای نرم پشت داک با خط نور طلایی‌–‌صورتی بالا (بدون backdrop-filter) */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar::before{
  content:""; position:absolute; z-index:-1; left:6px; right:6px; top:3px; bottom:calc(3px + env(safe-area-inset-bottom));
  border-radius:24px; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,205,120,0) 5%, rgba(255,205,120,.6) 28%, rgba(255,150,200,.6) 72%, rgba(255,205,120,0) 95%) top / 100% 1px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 50%),
    linear-gradient(180deg, rgba(40,22,78,.86), rgba(22,11,46,.93));
  border:1px solid rgba(255,230,180,.10);
  box-shadow:0 10px 26px rgba(6,0,22,.5), inset 0 -8px 16px rgba(0,0,0,.22) }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar::after{ content:none !important }
/* گروه‌ها باز می‌شوند؛ ترتیب فیزیکی با order (نوار ltr است: order کوچک = چپ) */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .l126,
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126{ display:contents !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .l126 > *{ order:3 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126 > *{ order:5 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .l126 > .vb108-inp{ order:1 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-emo{ order:2 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .l126 > .vb108-mic{ order:3 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .l126 > .vb135-cam{ order:4 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .l126 > .vb108-spk{ order:5 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-grid{ order:6 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar > .vb108-gift{ order:7 !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game{ order:8 !important }

/* ── خانهٔ پیام: پیل کشیدهٔ تیره با فیلد واقعی و placeholder (نه آیکن جمع‌شده) ── */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp{
  flex:1 1 auto !important; width:auto !important; min-width:0 !important; height:36px !important; max-height:36px; padding:0 6px 0 12px !important;
  display:flex !important; align-items:center !important; gap:4px !important; position:relative; overflow:hidden; cursor:text; direction:ltr;
  border-radius:999px !important; border:1px solid transparent !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)) padding-box,
    linear-gradient(rgba(14,6,32,.6), rgba(14,6,32,.6)) padding-box,
    linear-gradient(120deg, rgba(255,214,130,.4), rgba(255,255,255,.1) 50%, rgba(244,114,182,.3)) border-box !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 2px 8px rgba(4,0,18,.35) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important; transition:none !important; transform:none !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp:active{ transform:none !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp::before{ display:none !important; content:none !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp > .ci131{ display:none !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp > input{
  position:static !important; inset:auto !important; opacity:1 !important; width:auto !important; height:100% !important; flex:1 1 auto !important; min-width:0;
  background:none !important; border:0 !important; box-shadow:none !important; outline:none; padding:0 !important; margin:0;
  font-size:12.5px !important; font-weight:700; color:#FFF4E0 !important; cursor:text; text-align:start !important; unicode-bidi:plaintext }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp > input::placeholder{ color:rgba(255,236,210,.56) !important; font-weight:700; opacity:1 }
/* هنگام تایپ: پیل تمام‌عرض با لبهٔ طلایی (تراز متن همان start است؛ unicode-bidi:plaintext فارسی را از راست و انگلیسی را از چپ می‌چیند — بدون پرش) */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar:has(.vb108-inp:focus-within) .vb108-inp{
  height:36px !important; max-height:36px; border:1.5px solid transparent !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)) padding-box,
    linear-gradient(rgba(28,13,56,.94), rgba(28,13,56,.94)) padding-box,
    linear-gradient(120deg, #FFD65A, #F472B6 60%, #A78BFA) border-box !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp > .vb108-em,
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp > .vb108-ph,
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp > .vb108-send{ width:28px !important; height:28px !important; flex:none }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar.typing:not(:focus-within) .vb108-inp::after{ top:4px; right:6px; width:8px; height:8px }

/* ── دکمه‌های گرد ۳۶px: شیشهٔ تیرهٔ نرم با آیکن رنگ نقش (ماسک‌ها و متغیرهای 322) ── */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vs98-rb:not(.vb108-gift){
  flex:none !important; width:36px !important; height:36px !important; min-width:36px !important; padding:0 !important; position:relative;
  border-radius:50% !important; border:1px solid transparent !important; overflow:visible;
  background:
    radial-gradient(120% 110% at 30% 15%, rgba(255,255,255,.15), rgba(255,255,255,.02) 60%) padding-box,
    radial-gradient(90% 70% at 50% 112%, var(--tr), rgba(0,0,0,0) 72%) padding-box,
    linear-gradient(180deg, #37226e, #1f1046) padding-box,
    linear-gradient(160deg, var(--tr), rgba(255,255,255,.08) 55%, rgba(0,0,0,.25)) border-box !important;
  box-shadow:0 3px 9px rgba(4,0,18,.4), inset 0 -4px 7px rgba(0,0,0,.22) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vs98-rb:not(.vb108-gift)::before{ width:20px; height:20px }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vs98-rb.vb108-mic:not(.off){
  box-shadow:0 0 10px rgba(34,197,94,.3), 0 3px 9px rgba(4,0,18,.4), inset 0 -4px 7px rgba(0,0,0,.22) !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vs98-rb.vb108-mic.off{
  background:
    radial-gradient(120% 110% at 30% 15%, rgba(255,255,255,.3), rgba(255,255,255,0) 60%) padding-box,
    linear-gradient(180deg, #FB7185, #E11D48) padding-box,
    linear-gradient(160deg, #FFE4E6, rgba(225,29,72,.6)) border-box !important;
  box-shadow:0 0 12px rgba(244,63,94,.45), 0 3px 9px rgba(4,0,18,.4) !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-grid.has::after{ top:-2px; right:-2px; width:10px; height:10px }

/* ── بازی: دکمهٔ شناور ۴۰px بالای هدیه، لبهٔ راست (ستون کناری مرجع)؛ هنگام تایپ پنهان ── */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game{
  position:absolute !important; right:12px; bottom:calc(100% + 8px); z-index:1; width:40px !important; height:40px !important; min-width:40px !important;
  font-size:0 !important; line-height:0; color:transparent;
  box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 6px 14px rgba(4,0,18,.5), 0 0 14px rgba(167,139,250,.35), inset 0 -4px 7px rgba(0,0,0,.22) !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game::before{ width:22px; height:22px }
#liveRoom49.vb108.vb108.vb108.vb108.kb193 #vb108Bar .r126 > .vb108-game{ display:none !important }   /* کیبورد باز بی‌فوکوس (پاپ‌آپ ایموجی/عکس) */
/* سینما: دکمهٔ بازی شناور نیست — کاشی گرد ۳۶px داخل ردیف، بین بلندگو و منو (چت سینما کوتاه است؛ جای خالی ته چت ندارد) */
#liveRoom49.cn471on.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game{
  position:relative !important; inset:auto !important; right:auto !important; bottom:auto !important;   /* relative نه static: آیکن ::before (absolute از 322) باید به خود دکمه بچسبد، نه وسط نوار */
  order:6 !important; width:36px !important; height:36px !important; min-width:36px !important;
  box-shadow:0 3px 9px rgba(4,0,18,.4), inset 0 -4px 7px rgba(0,0,0,.22) !important }
#liveRoom49.cn471on.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game::before{ width:20px; height:20px }

/* ── هدیه: طلایی برجستهٔ ۴۸px سمت راست، ۱۲px بالاتر از ردیف (حلقهٔ چرخان v125 جمع‌تر) ── */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar > .vb108-gift{
  flex:none !important; width:48px !important; height:48px !important; min-width:48px; margin:-12px 0 0 !important; align-self:center !important;
  position:relative; border:2px solid transparent !important; border-radius:50% !important; overflow:visible !important;
  background:
    radial-gradient(circle at 32% 22%, #FFFBE6 0%, rgba(255,251,230,0) 36%) padding-box,
    radial-gradient(circle at 50% 40%, #FFE07A 0%, #FFB13D 42%, #FF7A2E 72%, #E8336B 100%) padding-box,
    linear-gradient(160deg, #FFF6D0, #FFB347 50%, #E8336B) border-box !important;
  box-shadow:0 0 0 2.5px #1a0d38, 0 0 0 4px rgba(255,214,130,.6), 0 6px 14px rgba(255,120,50,.35), 0 10px 20px rgba(4,0,18,.5) !important }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar > .vb108-gift::before{ inset:-5px }
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar > .vb108-gift::after{ width:24px !important; height:24px !important }

/* ── هنگام تایپ همهٔ دکمه‌ها (و بازی شناور) کنار می‌روند؛ فقط پیل + ارسال ── */
#liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar:has(.vb108-inp:focus-within) :is(.vs98-rb, .vb108-game, .vb135-cam){ display:none !important }

/* ── گوشی باریک ── */
@media (max-width:359px){
  #liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar{ padding-left:8px !important; padding-right:8px !important; gap:5px !important; column-gap:5px !important }
  #liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vs98-rb:not(.vb108-gift){ width:34px !important; height:34px !important; min-width:34px !important }
  #liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vs98-rb:not(.vb108-gift)::before{ width:19px; height:19px }
  #liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp{ height:34px !important; max-height:34px; padding-left:10px !important }
  #liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .vb108-inp > input{ font-size:12px !important }
  #liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar > .vb108-gift{ width:46px !important; height:46px !important; min-width:46px; margin-top:-11px !important }
  #liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game{ width:36px !important; height:36px !important; min-width:36px !important; right:10px }
  #liveRoom49.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game::before{ width:20px; height:20px }
  #liveRoom49.cn471on.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game{ width:34px !important; height:34px !important; min-width:34px !important }
  #liveRoom49.cn471on.vb108.vb108.vb108.vb108 #vb108Bar .r126 > .vb108-game::before{ width:19px; height:19px }
}
