/* ═══════════════════════════════════════════════════════════════════════════
 *  v240 · «تالار حامیان» — نیمه‌شب شاهانه: بنفش تیرهٔ مخملی، طلای گرم، مرجانی
 *  (گیرنده‌ها: صورتیِ گلبرگی و بنفش) — رنگ‌ها و پس‌زمینه از تم پنل قابل عوض شدن
 * ═══════════════════════════════════════════════════════════════════════════ */
.tb240{ --ta:#FFC94A; --tb:#FF6FA3; --tc:#170A33; position:fixed; inset:0; z-index:9995; display:flex; flex-direction:column; color:#fff; overflow:hidden; font-family:inherit;
  background:linear-gradient(180deg, color-mix(in srgb,var(--tc) 85%,#2a0f5c) 0%, var(--tc) 45%, color-mix(in srgb,var(--tc) 80%,#000) 100%);
  animation:tbIn240 .28s cubic-bezier(.2,.9,.25,1) both }
.tb240.rcv:not(.themed){ --ta:#F9A8D4; --tb:#8B5CF6; --tc:#150A33 }
.tb240.out{ animation:tbOut240 .22s ease both }
@keyframes tbIn240{ from{ transform:translateY(30px); opacity:0 } } @keyframes tbOut240{ to{ transform:translateY(30px); opacity:0 } }
body.h365-tb #uc145{ z-index:9998 }
/*  v461 · پشت اکانت روی تالار باز می‌شود (بالای 9995، زیر کارت 9998)  */
body.h365-tb .pv146o{ z-index:9997 }

/* پس‌زمینه */
.tb-bg{ position:absolute; inset:0; pointer-events:none; overflow:hidden }
.tb-bgx{ position:absolute; inset:0; background:center/cover no-repeat; opacity:.9 }
.tb-bgx:not(:empty), .tb-bgx[style*="url"]{ opacity:1 }
.tb240.themed .tb-bgx[style*="url"] ~ .tb-au{ opacity:.25 }
.tb-au{ position:absolute; border-radius:50%; filter:blur(40px); opacity:.55; animation:tbAu240 12s ease-in-out infinite alternate }
.tb-au.a{ width:300px; height:300px; left:-90px; top:-80px; background:var(--tb) }
.tb-au.b{ width:320px; height:320px; right:-110px; top:120px; background:var(--ta); opacity:.35; animation-delay:-5s }
@keyframes tbAu240{ to{ transform:translate(40px,30px) scale(1.15) } }
.tb-st{ position:absolute; inset:0; opacity:.55;
  background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff,transparent),radial-gradient(1.2px 1.2px at 78% 12%,#fff,transparent),radial-gradient(1.4px 1.4px at 40% 34%,#fff,transparent),
    radial-gradient(1px 1px at 88% 42%,#fff,transparent),radial-gradient(1.3px 1.3px at 22% 58%,#fff,transparent),radial-gradient(1.2px 1.2px at 64% 66%,#fff,transparent),radial-gradient(1px 1px at 8% 86%,#fff,transparent),radial-gradient(1.4px 1.4px at 92% 80%,#fff,transparent);
  animation:tbTw240 4s ease-in-out infinite alternate }
@keyframes tbTw240{ to{ opacity:.2 } }

/* سربرگ */
.tb-h{ position:relative; z-index:2; display:flex; align-items:center; gap:8px; padding:calc(10px + env(safe-area-inset-top)) 12px 4px }
.tb-bk, .tb-sp{ width:40px; height:40px; flex:none; border:0; border-radius:14px; display:grid; place-items:center; color:#fff; background:rgba(255,255,255,.1); box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); cursor:pointer }
.tb-sp{ visibility:hidden }
.tb-bk svg{ width:20px; height:20px } [dir=rtl] .tb-bk svg{ transform:scaleX(-1) }
.tb-tt{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:center }
.tb-tt b{ font-size:19px; font-weight:900; letter-spacing:.2px; background:linear-gradient(90deg,#fff,var(--ta),#fff); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:tbSh240 5s linear infinite }
@keyframes tbSh240{ to{ background-position:-200% 0 } }
.tb-tt small{ max-width:100%; font-size:11px; font-weight:700; opacity:.65; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }

/* فرستنده / گیرنده */
.tb-side{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; width:min(300px, calc(100% - 48px)); margin:8px auto 0; padding:4px; border-radius:99px;
  background:rgba(255,255,255,.08); box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px) }
.tb-side > i{ position:absolute; top:4px; bottom:4px; inset-inline-start:4px; width:calc(50% - 4px); border-radius:99px; background:linear-gradient(135deg,var(--ta),var(--tb)); box-shadow:0 8px 18px -8px var(--tb); transition:transform .3s cubic-bezier(.3,1.3,.5,1) }
.tb240.rcv .tb-side > i{ transform:translateX(100%) } [dir=rtl].tb240.rcv .tb-side > i{ transform:translateX(-100%) }
.tb-side button{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:6px; height:38px; border:0; background:none; cursor:pointer; font:inherit; font-size:13.5px; font-weight:900; color:rgba(255,255,255,.7) }
.tb-side button.on{ color:#2a1400 } .tb240.rcv .tb-side button.on{ color:#fff }
.tb-side button svg{ width:16px; height:16px }

/* بازه‌ها */
.tb-per{ position:relative; z-index:2; display:flex; justify-content:center; gap:6px; margin:12px 12px 0 }
.tb-per button{ flex:1; max-width:90px; height:32px; border:0; border-radius:12px; cursor:pointer; font:inherit; font-size:12.5px; font-weight:800; color:rgba(255,255,255,.62); background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); transition:all .2s }
.tb-per button.on{ color:#fff; background:linear-gradient(180deg,color-mix(in srgb,var(--ta) 30%,transparent),color-mix(in srgb,var(--tb) 22%,transparent)); box-shadow:inset 0 0 0 1.5px var(--ta), 0 6px 14px -8px var(--ta) }
.tb-info{ position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:8px; margin:10px 16px 0; font-size:11.5px; font-weight:700; color:rgba(255,255,255,.75) }
.tb-info > span{ display:inline-flex; align-items:center; gap:5px; min-width:0 }
.tb-info svg{ width:15px; height:15px; flex:none; color:var(--ta) }
.tb-rs b{ font-weight:900; color:#fff; direction:ltr; font-variant-numeric:tabular-nums; padding:1px 8px; border-radius:8px; background:rgba(255,255,255,.1) }
.tb-tot b{ color:#fff; font-weight:900 }

/* سکو */
.tb-sc{ position:relative; z-index:1; flex:1; overflow-y:auto; overscroll-behavior:contain; padding-bottom:calc(86px + env(safe-area-inset-bottom)); scrollbar-width:none }
.tb-sc::-webkit-scrollbar{ display:none }
.tb-pod{ display:grid; grid-template-columns:1fr 1.22fr 1fr; align-items:end; gap:6px; max-width:440px; margin:0 auto; padding:26px 10px 0; direction:ltr }
.th240{ position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; min-width:0; cursor:pointer; animation:thIn240 .5s cubic-bezier(.2,1.3,.4,1) both }
.th240.r1{ animation-delay:.08s } .th240.r3{ animation-delay:.16s }
.th240.empty{ cursor:default }
@keyframes thIn240{ from{ transform:translateY(40px); opacity:0 } }
.th-av{ position:relative; width:100%; max-width:118px; aspect-ratio:120 / 124 }
.th240.r1 .th-av{ max-width:146px }
.th-ph{ position:absolute; left:50%; top:50%; width:62%; aspect-ratio:1; transform:translate(-50%,-50%); margin-top:-.5%; border-radius:50%; overflow:hidden; background:linear-gradient(135deg,var(--tb),#6d28d9) }
.th-ph img, .th-ph em, .th-ph > div.flex{ width:100%; height:100%; object-fit:cover; display:grid; place-items:center; font-style:normal; font-size:28px; font-weight:900; color:#fff; border-radius:50% }
.th-ph em.q{ background:rgba(255,255,255,.12); color:rgba(255,255,255,.6) }
.th-on{ position:absolute; z-index:3; right:8%; bottom:8%; width:12px; height:12px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 2.5px var(--tc) }
.tw240{ position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; filter:drop-shadow(0 6px 10px rgba(0,0,0,.45)) }
img.tw240{ object-fit:contain }
.th240.r1 .tw240:not(.im):not(.fx){ animation:thBob240 3s ease-in-out infinite }
@keyframes thBob240{ 50%{ transform:translateY(-3px) } }
.th-ray{ position:absolute; z-index:0; left:50%; top:46%; width:260%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
  background:repeating-conic-gradient(from 0deg, color-mix(in srgb,var(--ta) 30%,transparent) 0 6deg, transparent 6deg 18deg);
  -webkit-mask:radial-gradient(circle, #000 18%, transparent 62%); mask:radial-gradient(circle, #000 18%, transparent 62%); animation:thRay240 26s linear infinite }
.tb240.norays .th-ray{ display:none }
@keyframes thRay240{ to{ transform:translate(-50%,-50%) rotate(360deg) } }
.th-nm{ position:relative; z-index:2; max-width:100%; margin-top:2px; font-size:13px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-shadow:0 2px 6px rgba(0,0,0,.5) }
.th240.r1 .th-nm{ font-size:15px; color:#FFE9A8 }
.th-ch{ display:flex; justify-content:center; gap:3px; flex-wrap:wrap; min-height:18px; transform:scale(.88) }
.th-ch .lc145{ height:18px; font-size:10px }
.th-amt{ display:inline-flex; align-items:center; gap:4px; padding:3px 10px 3px 6px; border-radius:99px; font-size:12.5px; font-weight:900; direction:ltr;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ta) 55%,transparent) }
.th240.r1 .th-amt{ background:linear-gradient(90deg,color-mix(in srgb,var(--ta) 85%,#fff),var(--ta)); color:#3b2400; box-shadow:0 6px 16px -6px var(--ta) }
.th-amt svg{ width:14px; height:14px }
/* پایه‌های فلزی */
.th-ped{ position:relative; width:100%; margin-top:6px; border-radius:14px 14px 0 0; display:grid; place-items:center; overflow:hidden }
.th-ped span{ position:relative; z-index:1; font-size:30px; font-weight:900; line-height:1; color:rgba(255,255,255,.95); text-shadow:0 2px 0 rgba(0,0,0,.25), 0 0 14px rgba(255,255,255,.35) }
.th-ped i{ position:absolute; top:0; bottom:0; width:40%; left:-50%; transform:skewX(-20deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent); animation:thSh240 3.8s ease-in-out infinite }
@keyframes thSh240{ 0%,60%{ left:-50% } 100%{ left:130% } }
.th240.r1 .th-ped{ height:92px; background:linear-gradient(180deg,#FFE9A8 0%,#F5B82E 35%,#B7791F 100%); box-shadow:inset 0 2px 0 rgba(255,255,255,.6), 0 -10px 30px -12px #F5B82E }
.th240.r2 .th-ped{ height:66px; background:linear-gradient(180deg,#F8FAFC 0%,#CBD5E1 40%,#64748B 100%); box-shadow:inset 0 2px 0 rgba(255,255,255,.7) }
.th240.r3 .th-ped{ height:50px; background:linear-gradient(180deg,#FFE4CC 0%,#F59E5B 40%,#9A4A12 100%); box-shadow:inset 0 2px 0 rgba(255,255,255,.55) }
.th240.r2 .th-ped span{ color:#334155; text-shadow:0 1px 0 #fff }
.th240.ld .th-ph{ animation:tbPl240 1s ease-in-out infinite alternate } @keyframes tbPl240{ to{ opacity:.45 } }

/* ردیف‌ها */
.tb-list{ position:relative; display:flex; flex-direction:column; gap:8px; max-width:460px; margin:0 auto; padding:14px 12px 0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 120px); border-radius:24px 24px 0 0 }
.rw240{ display:flex; align-items:center; gap:10px; padding:9px 12px 9px 10px; border-radius:18px; cursor:pointer;
  background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.03)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  animation:rwIn240 .42s ease both; animation-delay:var(--d) }
@keyframes rwIn240{ from{ opacity:0; transform:translateY(12px) } }
.rw240:active{ transform:scale(.98) }
.rw-rk{ flex:none; width:30px; height:30px; display:grid; place-items:center; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06)) }
.rw-rk b{ font-size:12px; font-weight:900; direction:ltr }
.rw-av{ position:relative; flex:none; width:42px; height:42px }
.rw-av img, .rw-av em, .rw-av > div.flex{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:grid; place-items:center; font-style:normal; font-weight:900; background:linear-gradient(135deg,var(--tb),#6d28d9); box-shadow:0 0 0 2px rgba(255,255,255,.18) }
.rw-av i{ position:absolute; right:0; bottom:0; width:10px; height:10px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 2px var(--tc) }
.rw-tx{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px }
.rw-tx > b{ font-size:13.5px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.rw-tx > span{ display:flex; gap:3px; transform-origin:inline-start; }
.rw-tx .lc145{ height:17px; font-size:9.5px }
.rw-tx u{ display:block; height:4px; border-radius:99px; background:rgba(255,255,255,.08); overflow:hidden }
.rw-tx u s{ display:block; height:100%; width:var(--p); border-radius:inherit; background:linear-gradient(90deg,var(--tb),var(--ta)); animation:rwBar240 .9s cubic-bezier(.2,.8,.2,1) both; animation-delay:var(--d) }
@keyframes rwBar240{ from{ width:0 } }
.rw-amt{ flex:none; display:inline-flex; align-items:center; gap:4px; font-size:13px; font-weight:900; direction:ltr; color:#FFE9A8 }
.tb240.rcv .rw-amt{ color:#FBCFE8 }
.rw-amt svg{ width:15px; height:15px }
.vp240{ display:inline-flex; align-items:center; gap:2px; height:17px; padding:0 6px; border-radius:99px; font-size:9.5px; font-weight:900; color:#3b2400; background:linear-gradient(90deg,#FFF3C4,#F5C542) }
.vp240 svg{ width:10px; height:10px }
.tb-sk{ display:flex; flex-direction:column; gap:8px } .tb-sk i{ height:62px; border-radius:18px; background:rgba(255,255,255,.06); animation:tbPl240 1s ease-in-out infinite alternate }
.tb-em{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:30px 20px; text-align:center }
.tb-em svg{ width:46px; height:46px; color:var(--ta); opacity:.8 }
.tb-em b{ font-size:14px } .tb-em small{ font-size:12px; opacity:.65 }

/* نوار رتبهٔ من */
.tb-me{ position:absolute; z-index:3; left:10px; right:10px; bottom:calc(10px + env(safe-area-inset-bottom)); display:none; align-items:center; gap:10px; padding:9px 14px 9px 10px; border-radius:20px;
  max-width:440px; margin:0 auto; background:linear-gradient(90deg,color-mix(in srgb,var(--tb) 55%,var(--tc)),color-mix(in srgb,var(--ta) 45%,var(--tc)));
  box-shadow:0 14px 30px -12px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,255,255,.22); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px) }
.tb-me.on{ display:flex; animation:rwIn240 .4s ease both }
.mr-rk{ flex:none; min-width:42px; font-size:16px; font-weight:900; text-align:center; direction:ltr }
.mr-av{ flex:none; width:38px; height:38px } .mr-av img, .mr-av em{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:grid; place-items:center; font-style:normal; font-weight:900; box-shadow:0 0 0 2px #fff }
.mr-tx{ flex:1; min-width:0; display:flex; flex-direction:column } .mr-tx b{ font-size:13px; font-weight:900 } .mr-tx small{ font-size:10.5px; opacity:.85; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.mr-amt{ flex:none; display:inline-flex; align-items:center; gap:4px; font-size:14px; font-weight:900; direction:ltr } .mr-amt svg{ width:16px; height:16px }
@media (prefers-reduced-motion:reduce){ .th-ray, .tb-au, .tb-st, .th-ped i, .tb-tt b{ animation:none } }
.tb240.themed .tb-bgx[style*="url"]::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 45%,transparent),color-mix(in srgb,var(--tc) 78%,transparent) 55%,var(--tc)) }

/* ═══ v241 · روشن: کرم صدفی + طلای گرم + مرجانی (بدون تم تیره) ═══ */
.tb240{ --ta:#E9A21B; --tb:#FF6F91; --tc:#FFF8EC; --ink:#2B1A0E; --mut:#8A7560; color:var(--ink);
  background:radial-gradient(90% 40% at 50% 0%, #FFE9B8 0%, transparent 70%), radial-gradient(70% 40% at 0% 60%, #FFE1EA 0%, transparent 70%),
    radial-gradient(70% 40% at 100% 70%, #EDE4FF 0%, transparent 70%), linear-gradient(180deg,#FFFBF3 0%,#FFF6E8 55%,#FBEFDD 100%) }
.tb240.rcv:not(.themed){ --ta:#D946EF; --tb:#FF6F91; --tc:#FFF6FB }
.tb240.themed{ background:radial-gradient(90% 40% at 50% 0%, color-mix(in srgb,var(--ta) 30%,transparent), transparent 70%), radial-gradient(70% 40% at 0% 60%, color-mix(in srgb,var(--tb) 18%,transparent), transparent 70%), var(--tc) }
.tb-au{ opacity:.35; filter:blur(50px) } .tb-au.b{ opacity:.25 }
.tb-st{ opacity:.35; filter:invert(1) sepia(1) saturate(4) hue-rotate(5deg) }
.tb240.themed .tb-bgx[style*="url"]::after{ background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 30%,transparent),color-mix(in srgb,var(--tc) 70%,transparent) 55%,var(--tc)) }
.tb-bk{ color:var(--ink); background:#fff; box-shadow:0 6px 14px -8px rgba(120,80,20,.5), inset 0 0 0 1px #F1E3C8 }
.tb-tt b{ background:linear-gradient(90deg,#B7791F,var(--tb),#B7791F); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent }
.tb-tt small{ color:var(--mut); opacity:1 }
.tb-side{ background:#fff; box-shadow:0 8px 20px -14px rgba(120,80,20,.6), inset 0 0 0 1px #F1E3C8 }
.tb-side button{ color:var(--mut) } .tb-side button.on, .tb240.rcv .tb-side button.on{ color:#fff }
.tb-per button{ color:var(--mut); background:rgba(255,255,255,.75); box-shadow:inset 0 0 0 1px #F1E3C8 }
.tb-per button.on{ color:#7A4A00; background:linear-gradient(180deg,#FFF3D1,#FFE3A1); box-shadow:inset 0 0 0 1.5px var(--ta), 0 6px 14px -8px var(--ta) }
.tb240.rcv .tb-per button.on{ color:#86198F; background:linear-gradient(180deg,#FDF2FF,#F5D0FE) }
.tb-info{ color:var(--mut) } .tb-rs b{ color:var(--ink); background:#fff; box-shadow:inset 0 0 0 1px #F1E3C8 } .tb-tot b{ color:var(--ink) }
.th-ray{ background:repeating-conic-gradient(from 0deg, color-mix(in srgb,var(--ta) 26%,transparent) 0 6deg, transparent 6deg 18deg) }
.th-nm{ color:var(--ink); text-shadow:none } .th240.r1 .th-nm{ color:#9A5B00 }
.th-amt{ color:var(--ink); background:#fff; box-shadow:0 4px 10px -6px rgba(120,80,20,.5), inset 0 0 0 1px #F1E3C8 }
.th240.r1 .th-amt{ color:#3b2400 }
.th-ph em.q{ background:#F3E9D8; color:#C4A57A }
.th-on{ box-shadow:0 0 0 2.5px #fff }
.th240.r2 .th-ped{ box-shadow:inset 0 2px 0 rgba(255,255,255,.8), 0 -8px 24px -14px #94A3B8 }
.th240.r3 .th-ped{ box-shadow:inset 0 2px 0 rgba(255,255,255,.7), 0 -8px 24px -14px #F59E5B }
.tb-list{ background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.35) 160px,transparent); box-shadow:0 -10px 30px -24px rgba(120,80,20,.6) }
.rw240{ background:#fff; box-shadow:0 8px 18px -16px rgba(120,80,20,.6), inset 0 0 0 1px #F4E8D3 }
.rw-rk{ background:linear-gradient(180deg,#FFF3D1,#FFE0A3) } .rw-rk b{ color:#7A4A00 }
.tb240.rcv .rw-rk{ background:linear-gradient(180deg,#FDF2FF,#F5D0FE) } .tb240.rcv .rw-rk b{ color:#86198F }
.rw-av img, .rw-av em{ box-shadow:0 0 0 2px #fff, 0 0 0 3.5px #F1E3C8; color:#fff }
.rw-av i{ box-shadow:0 0 0 2px #fff }
.rw-tx > b{ color:var(--ink) } .rw-tx u{ background:#F6EDDD }
.rw-amt{ color:#9A5B00 } .tb240.rcv .rw-amt{ color:#A21CAF }
.tb-sk i{ background:#F6ECDB }
.tb-em b{ color:var(--ink) } .tb-em small{ color:var(--mut); opacity:1 }
.tb-me{ color:#fff; background:linear-gradient(90deg,#F59E0B,#FF6F91 60%,#C026D3); box-shadow:0 14px 30px -12px rgba(192,38,211,.55), inset 0 0 0 1px rgba(255,255,255,.4) }
