/* ═══════════════════════════════════════════════════════════════════════════
 *  v231 · جعبه‌ابزار پروفایل — روشن و رنگی؛ هر صفحه رنگ خودش
 * ═══════════════════════════════════════════════════════════════════════════ */
#tb231{--ink:#2a1b47;--mut:#8b7fa6;--a:#8b5cf6;--b:#ec4899;position:fixed;inset:0;z-index:97;display:none;flex-direction:column;max-width:420px;margin:0 auto;overflow:hidden;color:var(--ink);font-family:inherit;-webkit-tap-highlight-color:transparent;
  background:radial-gradient(90% 34% at 100% 0%,color-mix(in srgb,var(--a) 22%,transparent),transparent 70%),radial-gradient(80% 30% at 0% 18%,color-mix(in srgb,var(--b) 18%,transparent),transparent 70%),linear-gradient(180deg,#fffaf6,#faf6ff 55%,#f3faff)}
#tb231.t1{--a:#38bdf8;--b:#8b5cf6}#tb231.t2{--a:#fb7185;--b:#f59e0b}#tb231.t3{--a:#22d3ee;--b:#6366f1}#tb231.t4{--a:#f472b6;--b:#a855f7}#tb231.t5{--a:#34d399;--b:#0ea5e9}
#tb231 *{box-sizing:border-box}
:where(#tb231) button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}
:where(#tb231) svg{display:block}
.tb-hd{display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 14px 10px;flex-shrink:0}
.tb-hd>b{flex:1;text-align:center;font-size:19px;font-weight:900;background:linear-gradient(90deg,var(--a),var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}
.tb-ib{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 6px 16px -8px color-mix(in srgb,var(--b) 70%,transparent);flex-shrink:0}
.tb-ib.ghost{background:none;box-shadow:none}
.tb-ib svg{width:20px;height:20px}
[dir=rtl] .tb-ib[data-a=close] svg{transform:scaleX(-1)}
.tb-body{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:2px 14px 0}
.tb-sp{height:calc(28px + env(safe-area-inset-bottom))}
.tb-skel{display:flex;flex-direction:column;gap:12px}.tb-skel i{height:110px;border-radius:22px;background:color-mix(in srgb,var(--a) 12%,transparent);animation:tbp 1.2s infinite}
@keyframes tbp{50%{opacity:.45}}
.tb-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:34px 16px;text-align:center}
.tb-empty b{font-size:13px;font-weight:800;color:var(--mut);line-height:1.8}
.tb-empty button{padding:9px 18px;border-radius:13px;background:#fff;font-weight:900;color:var(--b);box-shadow:0 8px 16px -10px rgba(0,0,0,.3)}
.tb-sec{margin:18px 4px 10px;font-size:14.5px;font-weight:900}
.tb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:44px;margin-top:12px;border-radius:15px;font-weight:900;font-size:13.5px;color:#fff !important;background:linear-gradient(100deg,var(--a),var(--b));box-shadow:0 10px 20px -12px var(--b)}
.tb-btn svg{width:17px;height:17px}
.tb-btn.big{height:50px;font-size:14.5px;border-radius:17px;margin:12px 0}
.tb-btn.ghost{color:var(--b) !important;background:color-mix(in srgb,var(--b) 10%,#fff);box-shadow:none}
.tb-btn.off{color:var(--mut) !important;background:#f3f0f8;box-shadow:none}
.tb-btn:disabled{opacity:.8}
.tb-av{position:relative;display:inline-flex;width:var(--sz);height:var(--sz);flex-shrink:0;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#fecdd3,#c4b5fd);box-shadow:0 0 0 2px #fff}
.tb-av img{width:100%;height:100%;object-fit:cover}.tb-av em{margin:auto;font-style:normal;font-weight:900;color:#fff}

/* تالار نشان‌های نقش */
.cr-hero{padding:16px;border-radius:26px;color:#fff;background:radial-gradient(110% 90% at 85% 0%,rgba(245,185,59,.22),transparent 52%),linear-gradient(135deg,#4338ca,#6d28d9 55%,#8c1655);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 0 1px rgba(224,166,44,.22),0 16px 30px -20px rgba(49,27,106,.95);margin-bottom:12px;position:relative;overflow:hidden}
.cr-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 70% at 90% 0%,rgba(255,255,255,.35),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 10px,transparent 10px 20px);pointer-events:none}
.cr-row{position:relative;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.cr-got{display:flex;flex-direction:column;align-items:center;gap:3px;animation:crpop .5s cubic-bezier(.2,1.4,.4,1) both}
.cr-got svg{filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}
.cr-got small{font-size:10.5px;font-weight:900}
@keyframes crpop{from{transform:scale(.5);opacity:0}}
.cr-none{font-size:13px;font-weight:900;padding:10px 0}
.cr-hero p{position:relative;margin:10px 0 0;font-size:11.5px;font-weight:700;line-height:1.8;opacity:.95;text-align:center}
.cr-card{position:relative;padding:14px;border-radius:24px;background:#fff;margin-bottom:12px;box-shadow:0 14px 28px -22px var(--b),inset 0 0 0 1px color-mix(in srgb,var(--a) 18%,#fff);overflow:hidden}
.cr-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--a),var(--b))}
.cr-top{display:flex;align-items:center;gap:12px}
.cr-top>div{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px}
.cr-top b{font-size:15.5px;font-weight:900}
.cr-card>p{margin:8px 0 0;font-size:12px;font-weight:700;line-height:1.8;color:#5b4d78}
.cr-pill{flex-shrink:0;padding:4px 10px;border-radius:99px;font-size:10.5px;font-weight:900;background:#fff7e6;color:#b45309}
.cr-pill.ok{background:#dcfce7;color:#047857}.cr-pill.bad{background:#fff1f2;color:#e11d48}
.cr-req{list-style:none;margin:10px 0 0;padding:10px;border-radius:16px;background:color-mix(in srgb,var(--a) 7%,#fff);display:flex;flex-direction:column;gap:7px}
.cr-req li{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--mut)}
.cr-req li i{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid #e6def5;background:#fff}
.cr-req li i svg{width:11px;height:11px}
.cr-req li.ok{color:var(--ink)}.cr-req li.ok i{border:0;color:#fff;background:linear-gradient(135deg,#34d399,#059669)}
.cr-req li span{flex:1}
.cr-req li em{font-style:normal;font-size:11px;font-weight:900;padding:2px 8px;border-radius:99px;background:#fff;color:var(--b)}
.cr-note{margin-top:8px;padding:8px 10px;border-radius:12px;font-size:11.5px;font-weight:700;background:#fff1f2;color:#9f1239}
.cr-note.ok{background:#ecfdf5;color:#047857}

/* کارنامهٔ صحنه و ردپای تماشا */
.sg-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:14px 8px;border-radius:24px;color:#fff;background:linear-gradient(130deg,var(--a),var(--b));box-shadow:0 16px 28px -18px var(--b)}
.sg-hero.w{grid-template-columns:repeat(3,1fr)}
.sg-hero span{display:flex;flex-direction:column;align-items:center;text-align:center}
.sg-hero b{font-size:19px;font-weight:900;text-shadow:0 2px 6px rgba(0,0,0,.15)}
.sg-hero small{font-size:10px;font-weight:800;opacity:.95;line-height:1.5}
/* v452 · داشبورد «ریکورد لایو»: دو کارت بزرگ (هاست‌رنک طلایی، گیفت ماه توتِ شب) + شش کاشی چینی */
.sg-dash{display:flex;flex-direction:column;gap:8px}
.sg-bigs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sg-big{display:flex;align-items:center;gap:10px;padding:12px;border-radius:22px;color:#fff;position:relative;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 14px 26px -18px rgba(30,19,72,.9)}
.sg-big.rank{background:radial-gradient(120% 100% at 85% 0%,rgba(255,235,170,.45),transparent 55%),linear-gradient(135deg,#d99a1f,#b45309 70%,#8a4b06)}
.sg-big.month{background:radial-gradient(120% 100% at 15% 0%,rgba(245,185,59,.25),transparent 55%),linear-gradient(140deg,#4c1d95,#9d174d)}
.sg-big>i{width:40px;height:40px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32)}
.sg-big>i svg{width:21px;height:21px}
.sg-big>div{min-width:0}
.sg-big b{display:block;font-size:20px;font-weight:900;line-height:1.15;text-shadow:0 2px 6px rgba(0,0,0,.2)}
.sg-big small{display:block;font-size:9.5px;font-weight:800;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sg-t{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 9px;border-radius:18px;background:#fff;border:1px solid #ece5f8;box-shadow:0 10px 20px -18px rgba(36,26,70,.7);min-width:0}
.sg-t i{width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:inset 0 1.5px 0 rgba(255,255,255,.35)}
.sg-t i svg{width:16px;height:16px}
.sg-t b{font-size:15px;font-weight:900;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-t small{font-size:9.5px;font-weight:800;color:var(--mut);text-align:center;line-height:1.4}
.sg-card{padding:12px;border-radius:22px;background:#fff;margin-bottom:10px;box-shadow:0 12px 24px -20px rgba(124,58,237,.8)}
.sg-card.best{box-shadow:0 0 0 2px #fcd34d,0 12px 24px -16px rgba(245,158,11,.9)}
.sg-top{display:flex;align-items:center;gap:10px}
.sg-top>div{flex:1;min-width:0}.sg-top b{display:block;font-size:13.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sg-top small{font-size:11px;font-weight:700;color:var(--mut)}
.sg-md{width:40px;height:40px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#fb7185,#e11d48)}
.sg-md.video{background:linear-gradient(135deg,#a78bfa,#6d28d9)}.sg-md.multi{background:linear-gradient(135deg,#38bdf8,#2563eb)}
.sg-md svg{width:20px;height:20px}
.sg-live{padding:3px 8px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;font-weight:900}
.sg-best{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:99px;background:linear-gradient(90deg,#fde68a,#fbbf24);color:#78350f;font-size:10.5px;font-weight:900}
.sg-best svg{width:12px;height:12px}
.sg-g{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.sg-g span{display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 2px;border-radius:12px;background:#faf6ff;min-width:0}
.sg-g svg{width:14px;height:14px;color:var(--b);flex-shrink:0}
.sg-g b{font-size:11.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-king{display:flex;align-items:center;gap:8px;margin-top:8px;padding:7px 10px;border-radius:14px;background:linear-gradient(90deg,#fff8e1,#fff);font-size:11.5px;font-weight:700;color:var(--mut)}
.sg-king span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sg-king b{color:var(--ink)}
.sg-king em{display:flex;align-items:center;gap:3px;font-style:normal;font-weight:900;color:#6366f1}.sg-king em svg{width:13px;height:13px}
.wt-row{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;margin-top:10px;border-radius:20px;background:#fff;text-align:start;box-shadow:0 10px 22px -18px rgba(99,102,241,.8)}
.wt-on{position:absolute;top:44px;inset-inline-start:14px;padding:0 5px;border-radius:6px;background:#ef4444;color:#fff;font-style:normal;font-size:8.5px;font-weight:900;line-height:14px;box-shadow:0 0 0 2px #fff}
.wt-t{flex:1;min-width:0}.wt-t b{display:block;font-size:13.5px;font-weight:900}
.wt-t small{display:block;font-size:11px;font-weight:700;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wt-m{display:flex !important;align-items:center;gap:3px;margin-top:2px;color:#6366f1 !important}.wt-m svg{width:12px;height:12px;display:inline-block}
.wt-go{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--a),var(--b))}
.wt-go svg{width:17px;height:17px}

/* دیوار هدایا */
.gw-hero{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:26px;color:#fff;background:radial-gradient(120% 90% at 85% 0%,rgba(245,185,59,.22),transparent 52%),linear-gradient(140deg,#4c1d95,#9d174d 62%,#3b0f63);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(224,166,44,.22),0 16px 30px -20px rgba(59,15,99,.95)}
.gw-ring{width:92px;height:92px;flex-shrink:0}
.gw-c{position:absolute;inset-inline-start:16px;width:92px;display:flex;flex-direction:column;align-items:center}
.gw-c b{font-size:22px;font-weight:900;line-height:1}.gw-c b small{font-size:12px;opacity:.85}.gw-c span{font-size:10px;font-weight:800;margin-top:3px}
.gw-s{flex:1;display:flex;flex-direction:column;gap:8px}
.gw-s span{display:flex;align-items:baseline;justify-content:space-between;padding:8px 12px;border-radius:14px;background:rgba(255,255,255,.2)}
.gw-s b{font-size:17px;font-weight:900}.gw-s small{font-size:11px;font-weight:800}
.gw-tip{margin:12px 4px;font-size:11.5px;font-weight:700;line-height:1.8;color:var(--mut)}
.gw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.gw-g{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 10px;border-radius:20px;background:#fff;box-shadow:0 10px 20px -18px rgba(124,58,237,.8);text-align:center}
.gw-g:not(.on){background:#f7f5fb}.gw-g:not(.on) .gw-ic{filter:grayscale(1);opacity:.45}
.gw-g.on{box-shadow:0 0 0 1.5px #e9c565,0 12px 22px -16px rgba(224,166,44,.8)}
.gw-ic{width:54px;height:54px;display:flex;align-items:center;justify-content:center;color:#ec4899}
.gw-ic img{max-width:100%;max-height:100%;object-fit:contain}.gw-ic svg{width:34px;height:34px}
.gw-g b{font-size:11px;font-weight:900;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gw-g em{font-style:normal;font-size:12px;font-weight:900;color:#db2777}
.gw-g em.off{color:#c4b5d9}.gw-g em.off svg{width:14px;height:14px}
.gw-k{position:absolute;top:6px;inset-inline-end:6px}
.gw-k i{position:absolute;top:-7px;left:50%;transform:translateX(-50%);color:#f59e0b}.gw-k i svg{width:12px;height:12px}

/* صندوق پیشنهاد */
.fb-hero{padding:16px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#34d399,#0ea5e9);box-shadow:0 14px 26px -16px rgba(14,165,233,.9)}
.fb-hero b{display:block;font-size:16px;font-weight:900}.fb-hero small{display:block;margin-top:4px;font-size:12px;font-weight:700;line-height:1.8;opacity:.95}
.fb-form{margin-top:12px;padding:14px;border-radius:24px;background:#fff;box-shadow:0 12px 24px -20px rgba(14,165,233,.8)}
.fb-k{display:flex;flex-wrap:wrap;gap:6px}
.fb-k button{padding:7px 13px;border-radius:99px;font-size:12px;font-weight:800;color:var(--mut);background:#f3f7fa}
.fb-k button.on{color:#fff;background:linear-gradient(100deg,var(--a),var(--b))}
#fbT{display:block;width:100%;margin-top:10px;padding:12px;border:1.5px solid #dbeafe;border-radius:16px;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink);resize:vertical;outline:0;background:#fbfdff}
#fbT:focus{border-color:#7dd3fc;box-shadow:0 0 0 4px rgba(14,165,233,.12)}
.fb-it{padding:12px;border-radius:20px;background:#fff;margin-bottom:9px;box-shadow:0 10px 20px -18px rgba(14,165,233,.8)}
.fb-h{display:flex;align-items:center;gap:8px}
.fb-kk{padding:3px 9px;border-radius:99px;font-size:10.5px;font-weight:900;background:#e0f2fe;color:#0369a1}
.fb-h small{flex:1;font-size:10.5px;font-weight:700;color:var(--mut)}
.fb-st{padding:3px 9px;border-radius:99px;font-size:10.5px;font-weight:900;background:#fff7e6;color:#b45309}.fb-st.ok{background:#dcfce7;color:#047857}
.fb-it>p{margin:8px 0 0;font-size:12.5px;font-weight:700;line-height:1.8;white-space:pre-wrap;word-break:break-word}
.fb-r{margin-top:8px;padding:10px 12px;border-radius:14px;background:linear-gradient(90deg,#ecfdf5,#f0f9ff);border-inline-start:3px solid #10b981}
.fb-r b{font-size:11.5px;font-weight:900;color:#047857}.fb-r p{margin:4px 0 0;font-size:12.5px;font-weight:700;line-height:1.8}

.tb-toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2147483000;max-width:calc(100% - 40px);padding:11px 18px;border-radius:16px;background:#2a1b47;color:#fff;font-size:13px;font-weight:800;text-align:center;box-shadow:0 14px 30px -10px rgba(42,27,71,.6)}
.tb-toast.ok{background:linear-gradient(100deg,#10b981,#0ea5e9)}.tb-toast.out{opacity:0;transition:opacity .35s}

/* چیپ نقش‌ها (کارت لایو، پروفایل، مرکز من) */
.cr231w{display:inline-flex;flex-wrap:wrap;gap:4px}
.cr231{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 7px 0 3px;border-radius:99px;font-size:10px;font-weight:900;color:#fff;white-space:nowrap}
[dir=rtl] .cr231{padding:0 3px 0 7px}
.cr231 svg{width:15px;height:15px}
.cr231.host{background:linear-gradient(90deg,#fb7185,#e11d48)}.cr231.agent{background:linear-gradient(90deg,#fbbf24,#d97706)}

/* v453 · نبض ۱۴ روز و ریز روزانه (ریکورد لایو) — محور زمان همیشه چپ‌به‌راست */
.sg-ch{margin-top:12px;padding:13px 14px 10px;border-radius:22px;background:#fff;border:1px solid #efe8f9;box-shadow:0 10px 22px -20px rgba(36,26,70,.7)}
.ch-hd b{display:block;font-size:14px;font-weight:900}
.ch-hd small{display:block;margin-top:2px;font-size:10px;font-weight:700;color:var(--mut)}
.sg-bars{direction:ltr;display:flex;align-items:flex-end;gap:4px;height:74px;margin-top:12px}
.sg-bar{flex:1;height:100%;display:flex;align-items:flex-end;border-radius:6px;background:#f6f2fd}
.sg-bar i{position:relative;display:block;width:100%;border-radius:6px;background:linear-gradient(180deg,#8b5cf6,#4338ca);min-height:4px}
.sg-bar.z i{background:#e7def6}
.sg-bar u{position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:linear-gradient(180deg,#ffe9ad,#e0a62c);box-shadow:0 0 0 1.5px #fff;text-decoration:none}
.sg-chx{direction:ltr;display:flex;justify-content:space-between;margin-top:5px}
.sg-chx small{font-size:9.5px;font-weight:800;color:var(--mut)}
.sg-dsec{display:flex;align-items:center;gap:8px;margin:16px 2px 9px}
.sg-dsec>b{flex:1;font-size:14.5px;font-weight:900}
.sg-chip{display:flex;gap:3px;padding:3px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #ece5f8}
.sg-chip button{padding:4px 11px;border-radius:9px;font-size:10.5px;font-weight:900;color:var(--mut)}
.sg-chip button.on{color:#fff;background:linear-gradient(135deg,#4338ca,#6d28d9)}
.sg-copy{width:32px;height:32px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:inset 0 0 0 1px #ece5f8;color:#6d28d9}
.sg-copy svg{width:15px;height:15px}
.sg-day{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;column-gap:10px;padding:9px 12px;border-radius:16px;background:#fff;border:1px solid #efe8f9;margin-bottom:7px;box-shadow:0 8px 18px -18px rgba(36,26,70,.7)}
.sg-day.z{opacity:.62}
.sg-dd b{display:block;font-size:12px;font-weight:900}
.sg-dd small{font-size:9.5px;font-weight:800;color:var(--mut)}
.sg-dm{display:flex;align-items:center;gap:4px;min-width:0;font-size:11.5px;font-weight:900;flex-wrap:wrap}
.sg-dm>svg{width:13px;height:13px;color:#6d28d9;flex-shrink:0}
.sg-dm em{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:10px;font-weight:800;color:var(--mut)}
.sg-dm em svg{width:12px;height:12px}
.sg-dc,.sg-dl{display:flex;align-items:center;gap:3px;font-size:11.5px;font-weight:900}
.sg-dc{color:#8a5a12}.sg-dc svg{width:13px;height:13px}
.sg-dl{color:var(--mut)}.sg-dl svg{width:12px;height:12px}
.sg-dsp{height:6px}

/* v452 · خط موی چینی روی کارت‌های سفید (هم‌خانوادهٔ v448) */
.cr-card,.sg-card,.wt-row,.gw-g,.fb-form,.fb-it{border:1px solid #efe8f9}
