/* ═══════════════════════════════════════════════════════════════════════════
 *  v441 · جعبهٔ هدیهٔ «مروارید درخشان» — کوتاه‌تر (حداکثر ۴۸٪ صفحه)، روشن به‌جای مشکی، پرقدرت‌تر
 *  مشکل: برگهٔ v439 شب‌بنفش و تقریباً مشکی بود و تا ۷۶–۸۴٪ صفحه بالا می‌آمد (روی گوشی کوچک تقریباً تمام‌صفحه)؛
 *  مالک خواست: «کمی پایین‌تر از وسط صفحه در همهٔ دستگاه‌ها، تم مشکی نباشد، گرافیک قدرتمند و خیلی حرفه‌ای».
 *  راه‌حل (فقط CSS، جای کامل 367-v439-giftbox.css؛ ساختار همان 042/223/134/368):
 *  • ارتفاع ثابت: height = max-height = min(48dvh − 2px, 470px) — بالای برگه همیشه زیر وسط صفحه است و با عوض
 *    کردن زبانه نمی‌پرد. فقط شبکهٔ هدیه (#gp2Wrap) عمودی می‌لغزد؛ نوار پایین (موجودی، شارژ، تعداد، ارسال) همیشه
 *    کامل دیده می‌شود. اندازهٔ نماد هدیه از ارتفاع صفحه حساب می‌شود (۴۴ تا ۵۶px) تا دو ردیف کامل جا شود.
 *    ترتیب صریح: کارت ثروت، گیرنده، زبانه‌ها، جست‌وجو، هدیه‌ها، نقطه‌ها، نوار پایین.
 *  • رنگ: کاغذ مرواریدی مات (بی blur روی ویدیو) با جوهر تیره #1B1029 (هم‌زبان 358/363/348/435)؛ یک کانون
 *    پرقدرت برند: کارت ثروت گرادیان صورتی←بنفش با عدد طلایی و نوار طلایی درخشان. کاشی‌ها کارت سفید با رنگ
 *    ردهٔ قیمت (یاسی/صورتی/هلویی/طلایی برای ۱۰۰۰+)، انتخاب = حلقهٔ برند + تیک + نور رونده، «ارسال» دوخطی
 *    (برچسب و هزینه) با گرادیان برند و درخشش، «شارژ» طلایی سکه.
 *  • رفع‌ها: رنگ متن ثروت در برابر `.gp196 .lv196 p` (v194)، اسکلت در برابر `.sk` سراسری (296-v306، انیمیشن
 *    background-position)، .bd196 و .gp-vip227 روی کاشی انتخابی absolute می‌مانند، جست‌وجوی باز در صفحهٔ کوتاه
 *    کارت ثروت را کنار می‌گذارد (:has فقط روی خود برگه)، افقی (landscape) جمع‌وجور.
 *  • روانی: بی backdrop-filter (برگه مات است)؛ انیمیشن بی‌پایان فقط transform/opacity؛ html.lite366 و
 *    prefers-reduced-motion همهٔ حرکت تزئینی را خاموش می‌کنند.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ─── پردهٔ پشت: بی blur — هیچ لایهٔ blur روی ویدیوی لایو نمی‌ماند ─── */
#giftM49{ -webkit-backdrop-filter:none; backdrop-filter:none }

/* ─── برگه: ارتفاع ثابت ≤ ۴۸٪، مروارید مات ─── */
#giftM49 .gp196.gb439{
  --pk:#FF3D7F; --vi:#9D5CFF; --vi2:#7C3AED;
  --ink:#1B1029; --ink2:#3E3553; --mute:#625A78; --faint:#9A93AE; --amb:#8F4300;
  --line:#ECE6F4; --card:#FFFFFF;
  --brand:linear-gradient(105deg,#E0246A 0%,#B73AD6 52%,#7C3AED 100%);           /* گرادیان برند، کمی عمیق‌تر برای خوانایی متن سفید */
  --acc:linear-gradient(135deg,#FF3D7F 0%,#C24BF6 55%,#9D5CFF 100%);
  --sel:linear-gradient(135deg,#341A73 0%,#5B21B6 55%,#7C3AED 100%);
  --ring:linear-gradient(135deg,#FF3D7F,#B44CFF 55%,#7C5CFF 80%,#38D9F5);
  --gold:linear-gradient(180deg,#FFE27A,#FFB627);
  --ic:52px; --icmin:44px; --icmax:56px;
  /* پشتیبان بی dvh: درصدِ خود #giftM49 (ثابت، تمام‌صفحهٔ دیدنی) — vh در iOS<15.4 و Chrome<108 بزرگ‌ترین صفحه را می‌گیرد */
  height:calc(48% - 2px) !important; height:min(calc(48% - 2px), 470px) !important; height:min(calc(48dvh - 2px), 470px) !important;
  max-height:calc(48% - 2px) !important; max-height:min(calc(48% - 2px), 470px) !important; max-height:min(calc(48dvh - 2px), 470px) !important;
  overflow:hidden !important; overscroll-behavior:contain;
  padding:12px 0 0 !important; color:var(--ink);
  background:
    radial-gradient(46% 16% at 50% 0%, rgba(255,255,255,.95), rgba(255,255,255,0) 100%),
    radial-gradient(70% 34% at 0% 0%, rgba(255,61,127,.20), rgba(255,61,127,0) 72%),
    radial-gradient(70% 34% at 100% 0%, rgba(157,92,255,.24), rgba(157,92,255,0) 72%),
    radial-gradient(60% 40% at 0% 100%, rgba(255,61,127,.08), rgba(255,61,127,0) 70%),
    radial-gradient(60% 40% at 100% 100%, rgba(157,92,255,.10), rgba(157,92,255,0) 70%),
    linear-gradient(180deg, #FCF9FF 0%, #F5EFFD 40%, #EEE6FA 100%) !important;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  border-radius:28px 28px 0 0 !important;
  box-shadow:0 -1px 0 rgba(255,255,255,.95), 0 -18px 44px -20px rgba(157,92,255,.6), 0 -6px 22px -12px rgba(255,61,127,.45) !important;
}
/* لبهٔ مرواریدی رنگین‌کمانی و دستگیره */
#giftM49 .gp196.gb439::before{ height:3px; border-radius:28px 28px 0 0;
  background:linear-gradient(90deg, transparent 2%, #FF3D7F 18%, #FFB1CF 34%, #FFFFFF 50%, #C8B4FF 66%, #9D5CFF 82%, transparent 98%) }
#giftM49 .gp196.gb439::after{ top:4px; width:40px; height:4px; margin-left:-20px; background:rgba(62,53,83,.18) }

/* ─── ترتیب صریح همهٔ ردیف‌ها؛ فقط شبکه کش می‌آید و می‌لغزد ─── */
#giftM49 .gb439 > *{ flex:none !important }
#giftM49 .gb439 > .hd196{ order:0; display:none !important }
#giftM49 .gb439 > .lv439, #giftM49 .gb439 > .lv196{ order:1 }
#giftM49 .gb439 > #gt111{ order:2 }
#giftM49 .gb439 > .gp2-tabs{ order:3 }
#giftM49 .gb439 > .gp2-search{ order:4 }
#giftM49 .gb439 > #gp2Wrap{ order:5; flex:1 1 auto !important; min-height:0 !important; align-items:stretch;
  overflow-x:auto; overflow-y:hidden; overscroll-behavior:contain; scrollbar-width:none }
/* هر صفحه خودش عمودی می‌لغزد: با عوض شدن زبانه (صفحهٔ تازه) یا ورق زدن، ردیف اول دیده می‌شود.
 * مهار فقط روی محور y — مهار هر دو محور ورق زدن افقی را می‌بست */
#giftM49 .gb439 .gp2-page{ overflow-y:auto; overscroll-behavior-y:contain; scrollbar-width:none }
#giftM49 .gb439 .gp2-page::-webkit-scrollbar{ display:none }
#giftM49 .gb439 > .gp2-dots{ order:6 }
#giftM49 .gb439 > .bt196{ order:7 }
/* لبهٔ ردیف‌های افقی (گیرنده، زبانه‌ها) نرم محو می‌شود، نه بریدگی تیز */
#giftM49 .gb439 > #gt111, #giftM49 .gb439 > .gp2-tabs{
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 12px), transparent);
          mask-image:linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 12px), transparent) }

/* ─── کارت سطح ثروت: کانون پرقدرت برند ─── */
#giftM49 .gb439 .lv439{ display:block !important; padding:0 12px 5px !important; margin:0 !important }
#giftM49 .gb439 .wb439{ position:relative; display:flex; align-items:center; gap:8px; padding:5px 9px; border-radius:16px; border:0;
  /* رنگ‌ها کمی عمیق‌تر از --brand و بی لایهٔ براق سفید: متن سفید ۱۱px کنتراست ≥ ۴٫۵:۱ (AA) */
  background:
    linear-gradient(115deg, rgba(255,255,255,0) 38%, rgba(255,255,255,.06) 50%, rgba(255,255,255,0) 62%),
    linear-gradient(105deg, #C81F5E 0%, #A030C4 52%, #6D28D9 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22), inset 0 1px 0 rgba(255,255,255,.4),
             0 9px 18px -10px rgba(124,58,237,.8), 0 4px 10px -6px rgba(224,36,106,.55) }
#giftM49 .gb439 .wb439-p{ flex:none; display:inline-flex; align-items:center; height:24px }
#giftM49 .gb439 .wb439-p .pl425{ height:24px; width:auto; display:block; filter:drop-shadow(0 3px 4px rgba(50,0,70,.38)) }
#giftM49 .gb439 .wb439-p .wb439-n{ font:900 11px/1 inherit; padding:5px 8px; border-radius:99px; color:#5B21B6; background:#fff }
#giftM49 .gb439 .wb439-m{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px }
#giftM49 .gb439 .wb439-t{ position:relative; height:6px; border-radius:99px; overflow:hidden; background:rgba(45,0,75,.32); box-shadow:inset 0 1px 2px rgba(40,0,60,.4) }
#giftM49 .gb439 .wb439-t > i{ position:absolute; inset:0; overflow:hidden; border-radius:inherit; transform-origin:left center;
  background:linear-gradient(90deg,#FFB13D,#FFE08A 62%,#FFF8DC); box-shadow:0 0 8px rgba(255,214,110,.9); transition:transform .6s cubic-bezier(.2,.8,.2,1) }
[dir="rtl"] #giftM49 .gb439 .wb439-t > i, #giftM49 .gb439[dir="rtl"] .wb439-t > i{ transform-origin:right center; background:linear-gradient(270deg,#FFB13D,#FFE08A 62%,#FFF8DC) }
/* درخشش فقط روی بخش پرشده (داخل خود نوار) — بخش خالی کم‌رنگ‌تر به نظر نمی‌رسد */
#giftM49 .gb439 .wb439-t > i::after{ content:""; position:absolute; top:0; bottom:0; left:0; width:36%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.85), transparent); transform:translateX(-110%); animation:wsh441 2.8s ease-in-out infinite }
[dir="rtl"] #giftM49 .gb439 .wb439-t > i::after, #giftM49 .gb439[dir="rtl"] .wb439-t > i::after{ left:auto; right:0; transform:translateX(110%); animation-name:wsh441r }
@keyframes wsh441{ 60%, 100%{ transform:translateX(290%) } }
@keyframes wsh441r{ 60%, 100%{ transform:translateX(-290%) } }
/* متن روی کارت: سفید با !important تا `.gp196 .lv196 p{color:var(--sub)!important}` (v194) خاکستری‌اش نکند */
#giftM49 .gb439 .wb439 p{ order:-1; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0;
  font-size:11px; line-height:1.32; font-weight:800; color:#FFFFFF !important; text-shadow:0 1px 1px rgba(70,0,60,.28) }
#giftM49 .gb439 .wb439 p b{ display:inline-block; padding:0 5px; border-radius:6px; line-height:1.35; font-weight:900; color:#4A2300 !important; text-shadow:none;
  background:linear-gradient(180deg,#FFF1BC,#FFC94A); box-shadow:inset 0 -1px 0 rgba(160,90,0,.28), 0 1px 3px rgba(80,0,60,.25) }
#giftM49 .gb439 .wb439 p em{ font-style:normal; font-weight:900; color:#FFFFFF !important }
/* شتاب VIP: برچسب شناور روی لبهٔ کارت — جملهٔ سطح را کوتاه نمی‌کند (قبلاً در انگلیسی «+15% …» می‌شد) */
#giftM49 .gb439 .wb439-v{ position:absolute; z-index:2; top:-7px; inset-inline-end:16px; margin:0; padding:0 7px; border-radius:99px;
  text-decoration:none; white-space:nowrap; font-size:9.5px; line-height:15px; font-weight:900; color:#4A2300; text-shadow:none;
  background:var(--gold); box-shadow:0 0 0 1.5px #fff, 0 3px 7px -2px rgba(160,90,0,.55) }
#giftM49 .gb439 .wb439.max .wb439-t > i{ background:linear-gradient(90deg,#F59E0B,#FFD25A,#FFF3C4) }
/* اسکلت: قاعدهٔ سراسری `.sk` (296-v306) پس‌زمینه را عوض می‌کرد و انیمیشن background-position بی‌پایان داشت */
#giftM49 .gb439 .wb439.sk{ animation:none !important; border:0 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,0) 52%), var(--brand) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22), 0 9px 18px -10px rgba(124,58,237,.8) !important }
#giftM49 .gb439 .wb439.sk .wb439-p{ width:52px; border-radius:99px; background:rgba(255,255,255,.22); box-shadow:inset 0 0 0 1px rgba(255,255,255,.18) }
#giftM49 .gb439 .wb439.sk .wb439-t > i{ display:none }

/* ─── گیرنده ─── */
#giftM49 .gb439 #gt111{ gap:6px; padding:0 12px 5px !important; margin:0 !important; border:0 !important }
#giftM49 .gb439 #gt111 > .l{ font-size:11px; font-weight:800; color:var(--mute) !important }
#giftM49 .gb439 #gt111 button{ height:32px; gap:6px; padding:0 12px 0 3px; padding-inline:3px 12px; border-radius:99px;
  background:var(--card) !important; border:1.5px solid var(--line) !important; color:var(--ink) !important;
  box-shadow:0 3px 8px -5px rgba(76,29,149,.28) }
#giftM49 .gb439 #gt111 button .a{ width:24px; height:24px; flex:0 0 24px; box-shadow:0 0 0 1.5px #fff }
#giftM49 .gb439 #gt111 button .t{ line-height:1.2 }
#giftM49 .gb439 #gt111 button .t b{ font-size:11.5px; color:var(--ink) }
#giftM49 .gb439 #gt111 button .t small{ font-size:9.5px; color:var(--mute); opacity:1 }
#giftM49 .gb439 #gt111 button.on{ border:1.5px solid transparent !important;
  background:linear-gradient(135deg,#FFF0F6,#F4EDFF) padding-box, var(--ring) border-box !important;
  box-shadow:0 6px 14px -8px rgba(255,61,127,.7), 0 2px 6px -4px rgba(157,92,255,.5) !important }
#giftM49 .gb439 #gt111 button.on .t small{ color:#B0164F }
#giftM49 .gb439 #gt111 .gt111-tick{ width:14px; height:14px; top:auto; bottom:-2px; inset-inline-end:auto; inset-inline-start:16px; font-size:8px; font-weight:900;
  background:var(--acc); box-shadow:0 0 0 2px #fff, 0 2px 6px rgba(255,61,127,.5) }

/* ─── زبانه‌ها، دکمه‌های جست‌وجو/دیوار، جعبهٔ جست‌وجو ─── */
#giftM49 .gb439 .gp2-tabs{ gap:6px !important; padding:0 12px 5px !important; border:0 !important; align-items:center }
#giftM49 .gb439 .gp-tab{ display:inline-flex !important; align-items:center; gap:5px; flex:none; height:32px; padding:0 12px !important; border-radius:99px !important;
  font-size:12.5px !important; font-weight:800 !important; color:var(--ink2) !important; -webkit-text-fill-color:currentColor !important;
  background:var(--card) !important; box-shadow:inset 0 0 0 1px var(--line), 0 3px 8px -6px rgba(76,29,149,.35); transition:background .2s, color .2s }
#giftM49 .gb439 .gp-tab::after, #giftM49 .gb439 .gp-tab::before{ display:none !important }
#giftM49 .gb439 .gp-tab b{ font-weight:inherit }
#giftM49 .gb439 .tb439{ display:inline-grid; place-items:center; width:16px; height:16px; font-style:normal }
#giftM49 .gb439 .tb439 svg{ width:16px; height:16px; display:block }
#giftM49 .gb439 .gp-tab.on{ color:#fff !important; font-size:12.5px !important; font-weight:900 !important;
  background:var(--sel) !important; -webkit-background-clip:border-box !important; background-clip:border-box !important;
  box-shadow:0 6px 12px -7px rgba(91,33,182,.9), inset 0 1px 0 rgba(255,255,255,.22) }
#giftM49 .gb439 .tb439-general .tb439{ color:#FF3D7F } #giftM49 .gb439 .tb439-cp .tb439{ color:#F43F75 } #giftM49 .gb439 .tb439-lucky .tb439{ color:#10B981 }
#giftM49 .gb439 .tb439-activity .tb439{ color:#F59E0B } #giftM49 .gb439 .tb439-blessing .tb439{ color:#8B5CF6 } #giftM49 .gb439 .tb439-prop .tb439{ color:#0EA5E9 }
#giftM49 .gb439 .tb439-vip .tb439{ color:#D97706 }
#giftM49 .gb439 .gp-tab.on .tb439{ color:#FFC2DA }
#giftM49 .gb439 .gp-tab.on.tb439-lucky .tb439{ color:#6EF0B8 }
#giftM49 .gb439 .gp-tab.on.tb439-activity .tb439, #giftM49 .gb439 .gp-tab.on.tb439-vip .tb439{ color:#FFD25A }
#giftM49 .gb439 .gp-tab.on.tb439-prop .tb439{ color:#7DDCFF } #giftM49 .gb439 .gp-tab.on.tb439-blessing .tb439{ color:#D9C4FF }
#giftM49 .gb439 .gp2-icbtn{ flex:none; width:32px; height:32px; background:var(--card) !important; box-shadow:inset 0 0 0 1px var(--line), 0 3px 8px -6px rgba(76,29,149,.35) }
#giftM49 .gb439 .gp2-icbtn svg{ stroke:var(--ink2) !important }
#giftM49 .gb439 .gp2-search{ margin:0 12px 5px !important; padding:0 12px; height:36px; border-radius:12px; background:var(--card) !important;
  box-shadow:inset 0 0 0 1.5px #E2D8F0 !important }
#giftM49 .gb439 .gp2-search:focus-within{ box-shadow:inset 0 0 0 2px #7C3AED, 0 0 0 3px rgba(124,58,237,.14) !important }
#giftM49 .gb439 .gp2-search svg{ flex:none; stroke:var(--mute) }
#giftM49 .gb439 .gp2-search input{ color:var(--ink) !important; font-size:13px; caret-color:var(--vi2) }
#giftM49 .gb439 .gp2-search input::placeholder{ color:var(--faint) }

/* ─── کاشی‌ها: کارت سفید با رنگ ردهٔ قیمت (بالا + درخشش داخلی پایین) و هالهٔ پشت نماد ─── */
#giftM49 .gb439 .gp2-page{ gap:7px 8px !important; padding:2px 12px 8px !important; align-content:start; align-self:stretch; grid-auto-rows:max-content }
#giftM49 .gb439 .c196{ --tg:157,92,255; --tt:#F3ECFF;
  gap:1px !important; padding:5px 3px 4px !important; border-radius:18px !important; border:2px solid transparent !important; min-width:0;
  background:linear-gradient(180deg, var(--tt) 0%, #FFFFFF 64%) !important;
  box-shadow:inset 0 0 0 1px #EEE8F6, inset 0 -12px 16px -12px rgba(var(--tg),.42), 0 8px 16px -12px rgba(76,29,149,.42), 0 1px 2px rgba(76,29,149,.06) }
#giftM49 .gb439 .c196 > *{ flex-shrink:0 }
#giftM49 .gb439 .c196.t2{ --tg:255,61,127; --tt:#FFECF4 }
#giftM49 .gb439 .c196.t3{ --tg:255,138,40; --tt:#FFF0E0 }
/* ردهٔ ۱۰۰۰+: کارت طلایی با حلقهٔ طلا — هدیهٔ گران گران‌قیمت به نظر برسد */
#giftM49 .gb439 .c196.t4{ --tg:245,165,36; --tt:#FFF3D2;
  background:linear-gradient(180deg,#FFF1CC 0%,#FFFFFF 66%) padding-box, linear-gradient(140deg,#FFE08A,#F5A524 48%,#FFE7A6 72%,#E89A12) border-box !important;
  box-shadow:inset 0 -12px 16px -12px rgba(245,165,36,.5), 0 8px 16px -10px rgba(214,140,0,.55), 0 1px 2px rgba(120,70,0,.08) }
#giftM49 .gb439 .c196:not(.sel)::before{ content:""; position:absolute; z-index:0; pointer-events:none; left:50%; top:2px;
  width:calc(var(--ic) + 12px); height:calc(var(--ic) + 12px); margin-left:calc(var(--ic) / -2 - 6px); border-radius:50%;
  background:radial-gradient(closest-side, rgba(var(--tg),.24), rgba(var(--tg),.07) 62%, rgba(var(--tg),0)) }
#giftM49 .gb439 .c196 > svg, #giftM49 .gb439 .c196 > .g118i, #giftM49 .gb439 .c196 > img{ width:var(--ic) !important; height:var(--ic) !important; max-width:none;
  filter:drop-shadow(0 6px 7px rgba(76,29,149,.24)) }
#giftM49 .gb439 .c196 > span:not(.pr){ position:relative; z-index:1; display:block !important; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--ink) !important; font-size:11.5px !important; line-height:1.25; font-weight:800 !important }
#giftM49 .gb439 .c196 .pr{ position:relative; z-index:1; display:inline-flex !important; align-items:center; gap:3px; padding:1px 7px 1px 6px; border-radius:99px; line-height:1.3;
  color:var(--amb) !important; font-size:11px !important; font-weight:900 !important;
  background:linear-gradient(180deg,#FFF7E0,#FFE6AC); box-shadow:inset 0 0 0 1px rgba(226,150,0,.36), inset 0 1px 0 rgba(255,255,255,.8) }
#giftM49 .gb439 .c196 .pr svg{ width:11px; height:11px }
/* انتخاب‌شده: حلقهٔ برند + هالهٔ ثابت + نور رونده (فقط transform) + تیک؛ شناوری نماد از v194 (transform) */
#giftM49 .gb439 .c196.sel{
  background:radial-gradient(58% 44% at 50% 30%, rgba(255,61,127,.20), rgba(157,92,255,.08) 62%, rgba(157,92,255,0) 76%) padding-box,
             linear-gradient(180deg,#FFE4F0 0%,#FFFFFF 66%) padding-box, var(--ring) border-box !important;
  box-shadow:0 12px 22px -12px rgba(255,61,127,.75), 0 5px 12px -8px rgba(157,92,255,.6) !important }
#giftM49 .gb439 .c196.sel::before{ content:"" !important; position:absolute; z-index:0; pointer-events:none; inset:0 auto 0 0 !important;
  width:56% !important; height:auto !important; margin:0 !important; border-radius:0 !important; opacity:1;
  background:linear-gradient(105deg, rgba(255,255,255,0) 16%, rgba(255,170,215,.38) 36%, rgba(255,255,255,.95) 50%, rgba(200,172,255,.38) 64%, rgba(255,255,255,0) 84%) !important;
  transform:translateX(-140%); animation:tsw441 3.4s ease-in-out infinite !important }
[dir="rtl"] #giftM49 .gb439 .c196.sel::before, #giftM49 .gb439[dir="rtl"] .c196.sel::before{ inset:0 0 0 auto !important; transform:translateX(140%); animation-name:tsw441r !important }
@keyframes tsw441{ 0%{ transform:translateX(-140%) } 55%, 100%{ transform:translateX(260%) } }
@keyframes tsw441r{ 0%{ transform:translateX(140%) } 55%, 100%{ transform:translateX(-260%) } }
#giftM49 .gb439 .c196.sel::after{ content:"" !important; display:block !important; position:absolute; z-index:2; inset:auto; top:5px; inset-inline-end:5px; inset-inline-start:auto;
  width:16px; height:16px; border-radius:50%; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.2 8.3l2.4 2.4 5-5.2' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat,
             linear-gradient(135deg,#FF3D7F,#9D5CFF); box-shadow:0 0 0 2px #fff, 0 3px 6px -2px rgba(255,61,127,.6) }
#giftM49 .gb439 .c196.sel > span:not(.pr){ color:#C2185B !important }
/* v194 همهٔ فرزندان کاشی انتخابی را relative می‌کند؛ برچسب‌ها باید absolute بمانند وگرنه پایین می‌افتند */
#giftM49 .gb439 .c196.sel > .bd196, #giftM49 .gb439 .c196.sel > .gp-vip227{ position:absolute !important; z-index:2 }
/* شناوری v194 (۵px + ×۱٫۰۸) با فاصلهٔ بالای کمِ کاشی از لبه بریده می‌شد — همان حرکت، کوتاه‌تر */
#giftM49 .gb439 .c196.sel > svg, #giftM49 .gb439 .c196.sel > img, #giftM49 .gb439 .c196.sel > .g118i{ animation-name:fl441 }
@keyframes fl441{ 50%{ transform:translateY(-2px) scale(1.03) } }
#giftM49 .gb439 .c196.sel .pr{ background:var(--gold); color:#4A2300 !important; box-shadow:0 3px 8px -4px rgba(245,158,11,.8), inset 0 1px 0 rgba(255,255,255,.6) }
/* برچسب گرانی (۳۰۰+ شعله، ۱۰۰۰+ جرقه) — گوشهٔ آغاز؛ تیک انتخاب گوشهٔ پایان */
#giftM49 .gb439 .bd196{ width:18px; height:18px; border-radius:7px; top:5px; inset-inline-start:5px; box-shadow:0 0 0 1.5px #fff, 0 3px 6px -2px rgba(76,29,149,.35) }
#giftM49 .gb439 .c196.t3 .bd196{ background:linear-gradient(135deg,#FF9A3D,#FF3D7F) }
#giftM49 .gb439 .c196.t4 .bd196{ background:linear-gradient(135deg,#FFE27A,#F5A524); box-shadow:0 0 0 1.5px #fff, 0 3px 8px -2px rgba(214,140,0,.7) }
#giftM49 .gb439 .c196.t4 .bd196 svg path{ fill:#5A2D00 }
/* برچسب VIP همان گوشهٔ آغاز؛ برچسب گرانی آن کاشی پنهان می‌شود (زیر VIP روی نماد می‌افتاد؛ رنگ کاشی و قیمت رده را می‌گویند).
 * 241-v227 به آن direction:ltr می‌دهد، پس inset-inline-start در راست‌به‌چپ به چپ (گوشهٔ تیک) می‌رفت — سمت فیزیکی */
#giftM49 .gb439 .c196 > .gp-vip227{ z-index:2; top:5px; left:5px; right:auto; padding:0 5px; border-radius:6px; font-size:8.5px; line-height:14px;
  background:#4C1D95; color:#FFE08A; box-shadow:0 0 0 1.5px #fff }
[dir="rtl"] #giftM49 .gb439 .c196 > .gp-vip227, #giftM49 .gb439[dir="rtl"] .c196 > .gp-vip227{ left:auto; right:5px }
#giftM49 .gb439 .c196 > .gp-vip227.ok{ background:var(--gold); color:#4A2300 }
#giftM49 .gb439 .c196 > .gp-vip227 ~ .bd196{ display:none }
/* نقطه‌های صفحه (ناحیهٔ لمس بزرگ‌تر با ::before) */
#giftM49 .gb439 .gp2-dots{ padding:0 0 4px !important; gap:6px }
#giftM49 .gb439 .gp2-dots i{ position:relative; width:5px; height:5px; border-radius:99px; background:#D8CDE8 !important; cursor:pointer }
#giftM49 .gb439 .gp2-dots i::before{ content:""; position:absolute; inset:0 -5px -8px }  /* فقط رو به پایین: لبهٔ پایین شبکه زیر انگشت می‌لغزد */
#giftM49 .gb439 .gp2-dots i.on{ width:16px; background:var(--acc) !important }

/* ─── نوار پایین ─── */
#giftM49 .gb439 .bt196{ margin:0 !important; gap:8px !important;
  padding:6px 12px calc(7px + env(safe-area-inset-bottom, 0px)) !important; padding-bottom:max(7px, env(safe-area-inset-bottom, 0px)) !important;
  border-top:1px solid rgba(124,58,237,.10) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.75), #F6F0FD) !important; box-shadow:0 -10px 18px -14px rgba(76,29,149,.3) }
#giftM49 .gb439 .bt196 > .flex-1{ flex:1 1 0; min-width:0 }
#giftM49 .gb439 .bal196{ flex:0 1 auto; min-width:0; height:40px; gap:5px !important; padding:0 4px 0 10px; padding-inline:10px 4px; border-radius:99px;
  background:linear-gradient(180deg,#FFFAEC,#FFF0CC); box-shadow:inset 0 0 0 1px rgba(245,158,11,.34), 0 4px 10px -7px rgba(180,100,0,.45);
  color:var(--amb) !important; font-size:14px !important; font-weight:900 }
#giftM49 .gb439 .bal196 > svg{ flex:none; filter:drop-shadow(0 1px 2px rgba(180,83,10,.35)) }
#giftM49 .gb439 #gp2Coins{ direction:ltr; unicode-bidi:isolate; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:-.2px }
#giftM49 .gb439 .bal196 > button{ flex:none; height:32px; padding:0 11px !important; border-radius:99px !important; color:#4A2300 !important; font-size:12px !important; font-weight:900 !important;
  background:var(--gold) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.6), inset 0 -2px 0 rgba(160,70,0,.2), 0 4px 10px -5px rgba(245,130,20,.9) }
#giftM49 .gb439 .bal196 > button::after{ content:"+" !important; margin-inline-start:3px; font-size:13px }
#giftM49 .gb439 .stp196{ flex:none; height:42px; padding:2px; gap:2px; background:var(--card) !important;
  box-shadow:inset 0 0 0 1px var(--line), 0 4px 12px -8px rgba(76,29,149,.45) !important }
#giftM49 .gb439 .qty196{ height:38px; padding:0 8px 0 10px !important; padding-inline:10px 8px !important; color:var(--ink) !important; font-size:14px !important; font-weight:900 }
#giftM49 .gb439 .qty196 svg{ color:var(--pk) !important }
/* «ارسال» دوخطی (برچسب بالا، هزینه زیر آن) — جای افقی موجودی حتی با هزینهٔ بزرگ آزاد می‌ماند؛ درخشش رونده فقط transform */
#giftM49 .gb439 .snd196{ position:relative; isolation:isolate; overflow:hidden; flex-direction:column; justify-content:center; gap:1px !important;
  min-width:92px; height:38px; padding:0 16px !important; line-height:1.06;
  color:#fff !important; font-size:13.5px !important; font-weight:900 !important; text-shadow:0 1px 1px rgba(60,0,50,.32);
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 55%), var(--brand) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38), inset 0 -2px 0 rgba(70,10,110,.25), 0 10px 18px -9px rgba(255,61,127,.95), 0 4px 12px -6px rgba(124,58,237,.75) !important }
#giftM49 .gb439 .snd196::before{ content:""; position:absolute; z-index:-1; top:0; bottom:0; left:0; width:42%; pointer-events:none;
  background:linear-gradient(105deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0)); transform:translateX(-120%); animation:ssh441 4.2s 1.2s ease-in-out infinite }
@keyframes ssh441{ 0%{ transform:translateX(-120%) } 38%, 100%{ transform:translateX(360%) } }
#giftM49 .gb439 .snd196 > span{ max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
#giftM49 .gb439 .snd196 small{ display:block; padding:0 !important; background:none !important; color:#FFF4FA !important; font-size:10.5px !important; font-weight:800; line-height:1.1; white-space:nowrap; opacity:1 }
#giftM49 .gb439 .snd196:active, #giftM49 .gb439 .bal196 > button:active{ transform:scale(.96) }

/* ─── اندازهٔ نماد از ارتفاع صفحه (برگه = ۴۸٪): دو ردیف کامل تا جای ممکن ─── */
@media (max-height:839px){ #giftM49 .gp196.gb439{ --ic:48px } }
@media (max-height:799px){ #giftM49 .gp196.gb439{ --ic:44px } }
@media (min-height:880px){
  #giftM49 .gp196.gb439{ --ic:56px }
  #giftM49 .gb439 .c196{ padding:7px 3px 6px !important }
  #giftM49 .gb439 .gp2-page{ row-gap:9px !important }
}
@supports (width:clamp(1px, 1dvh, 3px)){
  /*  ۲ ردیف = 2·(نماد + ۴۵٫۷) + ۹ و ردیف‌های ثابت ≈ ۱۸۱ + نقطه‌ها؛ ناحیهٔ امن پایین (آیفون) هم کم می‌شود */
  #giftM49 .gp196.gb439{ --ic:clamp(var(--icmin), calc(24dvh - 147px - env(safe-area-inset-bottom, 0px) / 2), var(--icmax)) }
}

/* ─── گوشی‌های باریک ─── */
@media (max-width:370px){
  #giftM49 .gb439 .gp-tab{ padding:0 10px !important; font-size:12px !important }
  #giftM49 .gb439 .gp2-page{ gap:7px 6px !important; padding-inline:10px !important }
  #giftM49 .gb439 .bt196{ gap:6px !important; padding-inline:10px !important }
  #giftM49 .gb439 .bal196{ font-size:13px !important; gap:4px !important; padding-inline:8px 3px }
  #giftM49 .gb439 .bal196 > button{ padding:0 9px !important; font-size:11.5px !important }
  #giftM49 .gb439 .stp196{ height:40px }
  #giftM49 .gb439 .qty196{ height:36px; padding-inline:8px 6px !important; font-size:13.5px !important }
  #giftM49 .gb439 .snd196{ height:36px; min-width:74px; padding:0 12px !important; font-size:13px !important }
  #giftM49 .gb439 .snd196 > span{ max-width:84px }
  /* انگلیسی (چپ‌به‌راست) طولانی‌تر است: مدال سطح بعد کنار می‌رود (جمله همان سطح را می‌گوید) و «+» شارژ برداشته می‌شود */
  [dir="ltr"] #giftM49 .gb439 .wb439-m + .wb439-p, #giftM49 .gb439[dir="ltr"] .wb439-m + .wb439-p{ display:none }
  /* برچسب شتاب VIP در کارت باریک روی متن می‌افتاد: فقط وقتی برچسب هست، بالای کارت جا باز می‌شود (:has فقط روی کارت داخل برگه) */
  #giftM49 .gb439 .wb439:has(.wb439-v){ padding-top:10px }
}
@media (max-width:380px){
  [dir="ltr"] #giftM49 .gb439 .bal196 > button::after, #giftM49 .gb439[dir="ltr"] .bal196 > button::after{ content:none !important; display:none }
  [dir="ltr"] #giftM49 .gb439 .snd196, #giftM49 .gb439[dir="ltr"] .snd196{ padding:0 12px !important }
}
@media (min-width:371px) and (max-width:380px){
  [dir="ltr"] #giftM49 .gb439 .snd196, #giftM49 .gb439[dir="ltr"] .snd196{ min-width:88px }
}
@media (max-width:340px){
  #giftM49 .gp196.gb439{ --icmin:40px; --ic:40px }
  #giftM49 .gb439 .c196 > span:not(.pr){ font-size:10.5px !important }
  #giftM49 .gb439 .c196 .pr{ font-size:10.5px !important; padding:1px 5px }
  #giftM49 .gb439 .wb439-p, #giftM49 .gb439 .wb439-p .pl425{ height:21px }
  #giftM49 .gb439 .wb439 p{ font-size:10.5px }
  /* «هدیه به:» → نماد کوچک هدیه (زمینهٔ ردیف گیرنده حفظ می‌شود، جا آزاد می‌شود) */
  #giftM49 .gb439 #gt111 > .l{ flex:0 0 18px; width:18px; height:18px; overflow:hidden; font-size:0 !important; color:transparent !important;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C3AED' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4 10h16v10H4zM2.5 6.5h19v3.5h-19zM12 6.5V20'/%3E%3Cpath d='M12 6.4c-1.6-3.4-5.6-3.4-5 0M12 6.4c1.6-3.4 5.6-3.4 5 0'/%3E%3C/svg%3E") center/17px no-repeat }
  #giftM49 .gb439 .bal196 > svg{ width:14px; height:14px }
  #giftM49 .gb439 .bal196{ font-size:12.5px !important }
  #giftM49 .gb439 .bal196 > button{ padding:0 8px !important; font-size:11px !important }
  #giftM49 .gb439 .qty196{ padding-inline:7px 5px !important }
  #giftM49 .gb439 .snd196{ min-width:66px; padding:0 10px !important }
  [dir="ltr"] #giftM49 .gb439 .bt196, #giftM49 .gb439[dir="ltr"] .bt196{ gap:4px !important }
  [dir="ltr"] #giftM49 .gb439 .bal196, #giftM49 .gb439[dir="ltr"] .bal196{ gap:3px !important; padding-inline:7px 3px }
  [dir="ltr"] #giftM49 .gb439 .bal196 > button, #giftM49 .gb439[dir="ltr"] .bal196 > button{ padding:0 7px !important }
  [dir="ltr"] #giftM49 .gb439 .snd196, #giftM49 .gb439[dir="ltr"] .snd196{ padding:0 8px !important }
}

/* ─── صفحه‌های کوتاه: ردیف‌ها فشرده‌تر تا شبکه یک ردیف کامل + لبهٔ ردیف بعد را نشان دهد ─── */
@media (max-height:640px){
  #giftM49 .gp196.gb439{ --icmin:40px; --ic:40px; padding-top:8px !important }
  #giftM49 .gp196.gb439::after{ top:3px; height:3px }
  #giftM49 .gb439 .lv439{ padding-bottom:3px !important }
  #giftM49 .gb439 .wb439{ padding:3px 8px; border-radius:14px; gap:7px }
  #giftM49 .gb439 .wb439-p, #giftM49 .gb439 .wb439-p .pl425{ height:20px }
  #giftM49 .gb439 .wb439-m{ gap:2px }
  #giftM49 .gb439 .wb439-t{ height:5px }
  #giftM49 .gb439 .wb439 p{ font-size:10.5px; line-height:1.25 }
  #giftM49 .gb439 #gt111{ padding-bottom:4px !important }
  #giftM49 .gb439 #gt111 button .a{ width:22px; height:22px; flex-basis:22px }
  #giftM49 .gb439 .gp2-tabs{ padding-bottom:4px !important }
  #giftM49 .gb439 .gp2-page{ padding-top:1px !important; row-gap:6px !important }
  #giftM49 .gb439 .c196{ padding:4px 2px 3px !important }
  #giftM49 .gb439 .c196 > span:not(.pr){ line-height:1.15 }
  #giftM49 .gb439 .c196 .pr{ line-height:1.2 }
  #giftM49 .gb439 .bt196{ padding-top:4px !important; padding-bottom:5px !important; padding-bottom:max(5px, env(safe-area-inset-bottom, 0px)) !important }
  #giftM49 .gb439 .stp196{ height:40px }
  #giftM49 .gb439 .qty196{ height:36px }
  #giftM49 .gb439 .snd196{ height:36px }
  #giftM49 .gb439 .bal196{ height:38px }
}
/* صفحهٔ کوتاه + جست‌وجوی باز: کارت ثروت موقتاً کنار می‌رود تا شبکه یک ردیف کامل داشته باشد (:has فقط روی خود برگه) */
@media (max-height:700px){ #giftM49 .gb439:has(> .gp2-search) > .lv439{ display:none !important } }
/* کوتاه‌تر (افقی، یا صفحه‌کلیدی که صفحه را کوچک می‌کند — WebView اندروید): ردیف گیرنده هم موقتاً کنار؛ زبانه‌ها (دکمهٔ جست‌وجو) می‌مانند */
@media (max-height:600px){ #giftM49 .gb439:has(> .gp2-search) > #gt111{ display:none !important } }
/* ۴۸۱ تا ۵۴۰px: یک ردیف کامل جا شود (تا ۵۲۰px، با نقطه‌های صفحه، کارت ثروت هم کنار می‌رود) */
@media (max-height:540px){ #giftM49 .gp196.gb439{ --icmin:36px; --ic:36px } }
@media (max-height:520px){ #giftM49 .gb439 > .lv439, #giftM49 .gb439 > .lv196{ display:none !important } }
/* افقی (landscape) و صفحه‌های خیلی کوتاه: همان سقف ۴۸٪؛ کارت ثروت کنار، کاشی بی نام، فقط نماد و قیمت */
@media (max-height:480px){
  #giftM49 .gp196.gb439{ --icmin:22px; --ic:clamp(22px, calc(26px - env(safe-area-inset-bottom, 0px) / 4), 26px); padding-top:8px !important }
  #giftM49 .gb439 > .lv439, #giftM49 .gb439 > .lv196{ display:none !important }
  #giftM49 .gb439 #gt111{ padding-bottom:3px !important }
  #giftM49 .gb439 .gp2-tabs{ padding-bottom:3px !important }
  #giftM49 .gb439 .gp2-search{ height:32px; margin-bottom:3px !important }
  #giftM49 .gb439 .gp2-page{ padding-top:0 !important; padding-bottom:4px !important; row-gap:5px !important }
  #giftM49 .gb439 .c196{ padding:2px 2px 2px !important; border-radius:14px !important }
  #giftM49 .gb439 .c196 > span:not(.pr){ display:none !important }
  #giftM49 .gb439 .c196 .pr{ font-size:10px !important; line-height:1.2; padding:1px 6px }
  #giftM49 .gb439 .bd196, #giftM49 .gb439 .c196.sel::after{ top:3px; width:15px; height:15px }
  #giftM49 .gb439 .gp2-dots{ padding-bottom:2px !important }
  #giftM49 .gb439 .bt196{ padding-top:3px !important; padding-bottom:4px !important; padding-bottom:max(4px, env(safe-area-inset-bottom, 0px)) !important }
  #giftM49 .gb439 .bal196{ height:34px }
  #giftM49 .gb439 .stp196{ height:36px }
  #giftM49 .gb439 .qty196, #giftM49 .gb439 .snd196, #giftM49 .gb439 .bal196 > button{ height:32px }
  #giftM49 .gb439 .c196.sel > svg, #giftM49 .gb439 .c196.sel > img, #giftM49 .gb439 .c196.sel > .g118i{ animation-name:fl441s }
  @keyframes fl441s{ 50%{ transform:scale(1.05) } }
}
/* افقیِ خیلی کوتاه (نوار آدرس باز): ۴۸٪ دیگر جای ردیف‌های ثابت + نقطه‌ها + یک کاشی را ندارد — کف ارتفاع (فقط همین‌جا سقف ۴۸٪ رد می‌شود) */
@media (max-height:380px){
  #giftM49 .gp196.gb439{ --icmin:22px; --ic:clamp(22px, calc(25px - env(safe-area-inset-bottom, 0px) / 4), 25px);
    height:max(calc(179px + env(safe-area-inset-bottom, 0px)), calc(48% - 2px)) !important;
    height:max(calc(179px + env(safe-area-inset-bottom, 0px)), min(calc(48dvh - 2px), 470px)) !important;
    max-height:max(calc(179px + env(safe-area-inset-bottom, 0px)), calc(48% - 2px)) !important;
    max-height:max(calc(179px + env(safe-area-inset-bottom, 0px)), min(calc(48dvh - 2px), 470px)) !important }
}

/* ─── روانی: حرکت تزئینی خاموش (کاهش حرکت / حالت سبک) ─── */
@media (prefers-reduced-motion:reduce){
  #giftM49 .gb439 .wb439-t > i::after, #giftM49 .gb439 .c196.sel::before, #giftM49 .gb439 .snd196::before,
  #giftM49 .gb439 .c196.sel > svg, #giftM49 .gb439 .c196.sel > img, #giftM49 .gb439 .c196.sel > .g118i{ animation:none !important }
  #giftM49 .gb439 .wb439-t > i::after, #giftM49 .gb439 .c196.sel::before, #giftM49 .gb439 .snd196::before{ opacity:0 !important }
}
html.lite366 #giftM49 .gb439 .wb439-t > i::after, html.lite366 #giftM49 .gb439 .c196.sel::before, html.lite366 #giftM49 .gb439 .snd196::before,
html.lite366 #giftM49 .gb439 .c196.sel > svg, html.lite366 #giftM49 .gb439 .c196.sel > img, html.lite366 #giftM49 .gb439 .c196.sel > .g118i{ animation:none !important }
html.lite366 #giftM49 .gb439 .wb439-t > i::after, html.lite366 #giftM49 .gb439 .c196.sel::before, html.lite366 #giftM49 .gb439 .snd196::before{ opacity:0 !important }
