/* ================= Game Talent – استایل مشترک ================= */
:root{
  --bg:#07090e;
  --line:rgba(255,255,255,.12);
  --txt:#e9edf4;
  --dim:#8e9bb0;
  --role:#aeb8c4;
  --role-rgb:174,184,196;
  --red:#ff5f57;
  --green:#35e08a;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
button{font-family:inherit}
body{
  font-family:'Vazirmatn',Tahoma,sans-serif;
  color:var(--txt);
  min-height:100vh;
  background:
    radial-gradient(1100px 520px at 85% -10%, rgba(var(--role-rgb),.14), transparent 60%),
    radial-gradient(900px 480px at -10% 110%, rgba(var(--role-rgb),.09), transparent 55%),
    var(--bg);
  background-attachment:fixed;
}

/* رنگ اختصاصی هر دسته — در همه‌جای صفحه رعایت می‌شود */
body[data-role="1"]{--role:#ffd54a;--role-rgb:255,213,74}
body[data-role="2"]{--role:#4da3ff;--role-rgb:77,163,255}
body[data-role="3"]{--role:#c06bff;--role-rgb:192,107,255}
body[data-role="4"]{--role:#9fb0c3;--role-rgb:159,176,195}
body[data-role="5"]{--role:#ff5a4e;--role-rgb:255,90,78}
body[data-role="6"]{--role:#aeb8c4;--role-rgb:174,184,196}

.wrap{max-width:720px;margin:0 auto;padding:18px 14px 44px}

/* کارت شیشه‌ای */
.glass{
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:18px;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

/* برند */
.brand{
  display:inline-block;font-size:1.9rem;font-weight:900;letter-spacing:.5px;
  text-decoration:none;
  background:linear-gradient(90deg,#fff,#9fd0ff 45%,var(--role));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(var(--role-rgb),.5));
  transition:.2s;
}
.brand:active{transform:scale(.97)}

/* نشان نوع دسته با افکت نور */
.role-badge{
  display:inline-block;margin-top:12px;padding:.5rem 1.6rem;border-radius:999px;
  font-weight:800;font-size:1.05rem;color:var(--role);
  border:1px solid rgba(var(--role-rgb),.55);
  background:rgba(var(--role-rgb),.10);
  text-shadow:0 0 12px rgba(var(--role-rgb),.85);
  animation:roleGlow 2.6s ease-in-out infinite;
}
@keyframes roleGlow{
  0%,100%{box-shadow:0 0 10px rgba(var(--role-rgb),.25),inset 0 0 10px rgba(var(--role-rgb),.12)}
  50%{box-shadow:0 0 26px rgba(var(--role-rgb),.55),inset 0 0 16px rgba(var(--role-rgb),.22)}
}

/* پروفایل */
.p-head{text-align:center;padding:8px 0 16px}
.userline{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;margin-bottom:14px}
.pname{font-weight:800;font-size:1.15rem;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 14px rgba(var(--role-rgb),.35)}
.pscore{text-align:center}
.pscore b{display:block;font-size:1.5rem;font-weight:900;color:var(--role);text-shadow:0 0 16px rgba(var(--role-rgb),.6);font-variant-numeric:tabular-nums}
.pscore small{color:var(--dim);font-size:.72rem}

/* تایمر اصلی */
.timer-card{text-align:center;padding:16px;margin-bottom:14px;position:relative;overflow:hidden}
.timer-card::before{content:'';position:absolute;top:-60%;left:20%;width:60%;height:160%;background:radial-gradient(closest-side,rgba(var(--role-rgb),.14),transparent);pointer-events:none}
.t-label{color:var(--dim);font-size:.8rem;margin-bottom:6px}
.t-value{font-size:clamp(1.6rem,7.5vw,2.5rem);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:1px}
.t-value.red{color:var(--red);text-shadow:0 0 22px rgba(255,95,87,.55);animation:tick 1s ease-in-out infinite}
.t-value.green{color:var(--green);text-shadow:0 0 22px rgba(53,224,138,.5)}
.t-value.off{color:var(--dim)}
@keyframes tick{0%,100%{opacity:1}50%{opacity:.75}}

/* رویدادها */
.events{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.ev{padding:14px;text-align:center}
.ev-cap{font-size:.68rem;color:var(--dim);letter-spacing:1.5px;margin-bottom:6px}
.ev-title{font-weight:800;font-size:.98rem;margin-bottom:8px;color:var(--role)}
.ev-timer{font-weight:900;font-size:1rem;font-variant-numeric:tabular-nums}
.ev-timer.red{color:var(--red);text-shadow:0 0 14px rgba(255,95,87,.45)}
.ev-timer.green{color:var(--green);text-shadow:0 0 14px rgba(53,224,138,.45)}
.ev-timer.off{color:var(--dim);font-weight:600;font-size:.85rem}
.ev-prize{margin-top:10px;font-size:.78rem;color:#ffd54a;background:rgba(255,213,74,.08);border:1px dashed rgba(255,213,74,.35);border-radius:10px;padding:6px 8px}
.ev-prize:empty{display:none}

/* شمارنده‌ها */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.stat{text-align:center;padding:14px 6px}
.stat .ico{font-size:1.5rem;display:block;margin-bottom:6px;filter:drop-shadow(0 0 8px rgba(var(--role-rgb),.55))}
.stat b{font-size:1.35rem;font-weight:900;font-variant-numeric:tabular-nums}
.stat small{display:block;color:var(--dim);font-size:.72rem;margin-top:2px}

/* مدال‌ها */
.medals-card{padding:14px;margin-bottom:14px}
.sec-title{font-weight:900;font-size:1rem;margin-bottom:12px;color:var(--role);text-shadow:0 0 12px rgba(var(--role-rgb),.4)}
.medal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.medal{
  background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;
  padding:7px 4px 5px;cursor:pointer;transition:.25s;text-align:center;color:var(--dim);
}
.medal img{width:100%;aspect-ratio:1/1;object-fit:contain;display:block;filter:grayscale(1) brightness(.38);transition:.25s}
.medal .m-name{display:block;font-size:.55rem;line-height:1.6;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.medal:active{transform:scale(.93)}
.medal.on{border-color:rgba(var(--role-rgb),.55);background:rgba(var(--role-rgb),.07);box-shadow:0 0 14px rgba(var(--role-rgb),.22)}
.medal.on img{filter:drop-shadow(0 0 9px rgba(var(--role-rgb),.8))}
.medal.on .m-name{color:var(--txt)}
.medal-hint{margin-top:10px;font-size:.68rem;color:var(--dim);text-align:center}

.p-foot{text-align:center;margin-top:4px}

/* بزرگنمایی متوسط مدال */
.lightbox{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;background:rgba(2,5,9,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lightbox.show{display:flex}
.lb-box{text-align:center;animation:zoomIn .2s ease;cursor:zoom-out}
.lb-box img{width:min(62vw,300px);max-height:58vmin;object-fit:contain;filter:drop-shadow(0 0 26px rgba(var(--role-rgb),.55))}
.lb-title{margin-top:14px;font-weight:800;color:var(--role)}
@keyframes zoomIn{from{transform:scale(.72);opacity:0}to{transform:scale(1);opacity:1}}

/* دکمه‌ها و ورودی‌ها */
.btn{font-size:.95rem;font-weight:800;border:none;border-radius:14px;padding:12px 18px;cursor:pointer;width:100%;transition:.2s;color:var(--txt);background:rgba(255,255,255,.08)}
.btn.primary{background:linear-gradient(135deg,#2f6bff,#7a3dff);box-shadow:0 8px 26px rgba(64,110,255,.35)}
.btn.primary:active{transform:scale(.98)}
.btn.ghost{background:rgba(255,255,255,.05);border:1px solid var(--line)}
.btn.small{width:auto;padding:9px 16px;font-size:.85rem;border-radius:12px}
.btn.mini{width:auto;padding:6px 14px;font-size:.8rem;border-radius:10px}

input,select{font-family:inherit;color-scheme:dark}
input[type=text],input[type=tel],input[type=number],input[type=datetime-local],select{
  width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);
  color:var(--txt);border-radius:12px;padding:11px 12px;font-size:1rem;outline:none;transition:.2s;
}
input:focus,select:focus{border-color:rgba(var(--role-rgb),.6);box-shadow:0 0 0 3px rgba(var(--role-rgb),.12)}

/* صفحه ورود */
.auth-bg{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.auth-card{width:100%;max-width:400px;padding:30px 22px;text-align:center}
.auth-card .brand{font-size:2.2rem}
.auth-card .sub{color:var(--dim);margin:8px 0 22px;font-size:.88rem}
.auth-card label{display:block;text-align:right;color:var(--dim);font-size:.78rem;margin-bottom:6px}
.auth-card input{margin-bottom:14px;text-align:center;letter-spacing:2px;font-size:1.15rem}
.auth-card .btn{margin-bottom:10px}
.error{color:#ff8484;font-size:.78rem;min-height:18px;text-align:center}
.dev-code{margin-top:4px;font-size:.82rem;color:#ffd54a;min-height:18px}

/* پنل ادمین */
.admin-head{display:flex;align-items:center;justify-content:space-between;padding:4px 0 16px;flex-wrap:wrap;gap:8px}
.admin-head .brand{font-size:1.5rem}
.head-title{color:var(--dim);font-weight:800}
.admin .glass{padding:16px;margin-bottom:16px}
.count{color:var(--dim);font-weight:600;font-size:.8rem}

.events-admin{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ev-form{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:12px}
.ev-form h3{font-size:.9rem;color:var(--role);margin-bottom:10px}
.ev-form label{display:block;font-size:.74rem;color:var(--dim);margin-bottom:9px}
.ev-form input{margin-top:4px;font-size:.9rem;padding:8px 10px}
.ev-form .btn{margin-top:4px}

.ucard{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:14px}
.u-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.u-id{display:flex;flex-direction:column;gap:2px}
.u-name{background:transparent;border:none;border-bottom:1px dashed var(--line);color:var(--txt);font-weight:800;font-size:1rem;width:150px;padding:2px 0;outline:none}
.u-name:focus{border-bottom-color:rgba(var(--role-rgb),.7)}
.u-phone{color:var(--dim);font-size:.78rem;direction:ltr;text-align:right}
.u-role{width:auto;min-width:135px;padding:8px 10px;font-size:.88rem}
.u-del{background:rgba(255,90,78,.1);border:1px solid rgba(255,90,78,.4);color:#ff9189;border-radius:10px;padding:7px 12px;cursor:pointer;font-size:.78rem;transition:.2s}
.u-del:active{transform:scale(.95)}

.u-scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.sc{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:8px 4px;text-align:center}
.sc>span{display:block;font-size:.7rem;color:var(--dim);margin-bottom:6px}
.pm{display:flex;align-items:center;justify-content:center;gap:6px}
.pm-btn{width:28px;height:28px;flex:0 0 28px;border-radius:50%;border:1px solid var(--line);background:#131a26;color:#fff;font-size:1.05rem;line-height:1;cursor:pointer;transition:.15s}
.pm-btn:active{transform:scale(.88);border-color:rgba(var(--role-rgb),.7)}
.sc b{min-width:26px;display:inline-block;font-size:1.02rem;font-variant-numeric:tabular-nums}
.sc.total{border-color:rgba(var(--role-rgb),.45);background:rgba(var(--role-rgb),.07)}
.sc.total b{color:var(--role)}

.u-timer{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.u-timer .lbl{font-size:.74rem;color:var(--dim)}
.u-days{width:92px;text-align:center;padding:8px}
.u-timer-state{font-size:.74rem;color:var(--dim);min-width:120px}

.m-lbl{font-size:.72rem;color:var(--dim);margin:12px 0 8px}
.u-medals{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px}
.mchip{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:5px;cursor:pointer;transition:.2s}
.mchip img{width:100%;aspect-ratio:1/1;object-fit:contain;display:block;filter:grayscale(1) brightness(.35);transition:.2s}
.mchip.on{border-color:rgba(53,224,138,.55);background:rgba(53,224,138,.07);box-shadow:0 0 10px rgba(53,224,138,.18)}
.mchip.on img{filter:drop-shadow(0 0 6px rgba(53,224,138,.65))}

.empty{color:var(--dim);text-align:center;padding:18px;font-size:.9rem}

/* موبایل */
@media(max-width:560px){
  .events{grid-template-columns:1fr}
}
@media(max-width:420px){
  .u-scores{grid-template-columns:repeat(2,1fr)}
  .brand{font-size:1.6rem}
}
/* سایه عمیق‌تر: حس جدا شدن از بکگراند */
.glass{
  background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  box-shadow:0 24px 50px -12px rgba(0,0,0,.65), 0 8px 22px rgba(0,0,0,.4),
             inset 0 1px 0 rgba(255,255,255,.1), inset 0 -1px 0 rgba(0,0,0,.25);
}

/* --- زنگوله اعلان --- */
.p-head{position:relative;text-align:center;padding:8px 0 16px}
.bell-wrap{position:absolute;top:6px;left:0}
#bell{position:relative;font-size:1.25rem;background:rgba(255,255,255,.06);border:1px solid var(--line);
  width:44px;height:44px;border-radius:50%;cursor:pointer;color:var(--txt);
  box-shadow:0 10px 24px rgba(0,0,0,.45);backdrop-filter:blur(10px)}
#bellCount{position:absolute;top:-6px;left:-6px;min-width:19px;height:19px;padding:0 4px;display:none;
  place-items:center;background:#ff5a4e;color:#fff;font-size:.66rem;font-weight:900;border-radius:999px;
  box-shadow:0 0 12px rgba(255,90,78,.8)}
.notif-panel{position:absolute;top:52px;left:0;width:min(88vw,320px);max-height:330px;overflow:auto;
  z-index:70;display:none;padding:8px 12px;text-align:right}
.notif-panel.show{display:block}
.n-item{border-bottom:1px dashed var(--line);padding:9px 2px}
.n-t{font-weight:800;font-size:.85rem;color:var(--role)}
.n-b{font-size:.78rem;margin-top:2px}
.n-d{font-size:.68rem;color:var(--dim);margin-top:2px}
.n-empty,.lb-empty{color:var(--dim);text-align:center;padding:14px;font-size:.85rem}

/* --- توست اعلان --- */
#toasts{position:fixed;top:12px;inset-inline-start:12px;z-index:90;display:flex;flex-direction:column;
  gap:10px;width:min(92vw,360px)}
.toast{padding:12px 14px;border-radius:14px;cursor:pointer;animation:tin .35s ease;
  border-inline-start:3px solid rgb(var(--role-rgb))}
.toast .tt{font-weight:900;font-size:.88rem;color:var(--role)}
.toast .tb{font-size:.8rem;margin-top:3px}
@keyframes tin{from{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}

/* --- جدول برترین‌ها --- */
.lb-card{padding:14px;margin-bottom:14px}
.lb-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.lb-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;
  border:1px solid var(--line);background:rgba(255,255,255,.04);position:relative;overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,.35)}
.lb-rank{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;
  background:rgba(255,255,255,.09);font-weight:900}
.lb-name{flex:1;display:flex;align-items:center;gap:6px;min-width:0;font-weight:800}
.lb-name .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:rgb(var(--rgb));box-shadow:0 0 8px rgb(var(--rgb))}
.lb-score{font-weight:900;color:var(--role);text-shadow:0 0 12px rgba(var(--role-rgb),.55);font-variant-numeric:tabular-nums}
.lb-item.me{outline:2px solid rgba(var(--role-rgb),.75);outline-offset:2px}
/* نفر اول: بکگراند آتشین + بخار قرمز */
.lb-1{background:linear-gradient(120deg,#2b0600,#5c1400 45%,#8f1f00);
  border-color:rgba(255,122,60,.8);
  box-shadow:0 0 28px rgba(255,80,0,.4),0 16px 34px rgba(0,0,0,.55)}
.lb-1 .lb-rank{background:#ff7a1f;color:#2b0600;box-shadow:0 0 14px rgba(255,122,31,.85)}
.lb-1::before,.lb-1::after{content:'';position:absolute;left:-10%;width:120%;height:54px;pointer-events:none;
  background:radial-gradient(60% 100% at 50% 100%,rgba(255,60,0,.5),rgba(255,0,0,0) 70%);filter:blur(12px)}
.lb-1::before{bottom:-14px;animation:smoke 3.2s ease-in-out infinite}
.lb-1::after{bottom:-26px;opacity:.75;animation:smoke 3.2s ease-in-out 1.6s infinite}
@keyframes smoke{0%,100%{transform:translateY(8px) scaleX(1);opacity:.5}
  50%{transform:translateY(-16px) scaleX(1.18);opacity:.95}}
.crown{position:absolute;top:5px;left:10px;font-size:1.1rem;
  filter:drop-shadow(0 0 8px #ffb84d);animation:crown 2.6s ease-in-out infinite}
@keyframes crown{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.lb-2{background:linear-gradient(120deg,#2a1a06,#5c3a10);border-color:rgba(255,170,60,.6)}
.lb-2 .lb-rank{background:#cd7f32;color:#1d1206}
.lb-3{background:linear-gradient(120deg,#1c2126,#3a444d);border-color:rgba(200,215,230,.55)}
.lb-3 .lb-rank{background:#c0c8d0;color:#151a1f}

/* --- بن / اورلی --- */
#banned{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;
  background:rgba(3,5,9,.9);backdrop-filter:blur(12px)}
#banned.show{display:flex}
.banned-card{max-width:360px;text-align:center;padding:32px 26px}
.banned-card h2{color:#ff6b62;margin-bottom:10px}
.banned-card p{color:var(--dim);font-size:.88rem;margin-bottom:18px}
.ucard.banned{border-color:rgba(255,90,78,.5);background:rgba(255,90,78,.05)}

/* --- ورود ادمین --- */
.auth-admin{max-width:380px;margin:40px auto;padding:30px 22px;text-align:center}
.auth-admin .brand{font-size:2rem}
.auth-admin h2{margin:10px 0 20px;font-size:1.05rem;color:var(--dim)}
.auth-admin input{margin-bottom:14px;text-align:center}
.head-actions{display:flex;gap:8px;flex-wrap:wrap}

/* --- آنلاین --- */
.u-online{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4a5560;margin-inline-end:6px;vertical-align:middle}
.u-online.on{background:#35e08a;box-shadow:0 0 8px #35e08a}
.btn.danger,.mini.danger{background:rgba(255,90,78,.15);border:1px solid rgba(255,90,78,.5);color:#ff9189}
.sent-to{color:var(--dim);font-size:.82rem;margin-bottom:12px}
.sent-to b{color:var(--txt)}
.hint{color:var(--dim);font-size:.75rem;min-height:16px}1

/* ==== افکت دود قرمز حلقه‌ای از مرکز — نسخه سریع (۲×) ==== */
body{overflow-x:hidden}
.wrap{position:relative;z-index:2}
.smoke-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.auth-card,.auth-admin{position:relative;z-index:2}
.glow{position:absolute;top:50%;left:50%;border-radius:50%;filter:blur(70px)}
.g1{width:46vmax;height:46vmax;margin:-23vmax 0 0 -23vmax;
  background:radial-gradient(circle,rgba(255,48,0,.20),transparent 65%);
  animation:breathe 2.5s ease-in-out infinite}
.g2{width:26vmax;height:26vmax;margin:-13vmax 0 0 -13vmax;
  background:radial-gradient(circle,rgba(255,90,40,.16),transparent 60%);
  animation:breathe 2.5s ease-in-out 1.25s infinite}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.18);opacity:1}}
.swirl{position:absolute;top:50%;left:50%;width:70vmax;height:70vmax;margin:-35vmax 0 0 -35vmax;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 40%,rgba(255,50,10,.15) 50%,transparent 60% 100%);
  -webkit-mask:radial-gradient(circle,transparent 30%,#000 45%,#000 60%,transparent 75%);
  mask:radial-gradient(circle,transparent 30%,#000 45%,#000 60%,transparent 75%);
  filter:blur(18px);animation:spinSlow 13s linear infinite}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.ring{position:absolute;top:50%;left:50%;width:40vmax;height:40vmax;margin:-20vmax 0 0 -20vmax;
  border-radius:50%;border:2px solid rgba(255,64,32,.25);filter:blur(4px);opacity:0;
  box-shadow:0 0 60px 18px rgba(255,40,0,.10),inset 0 0 60px 18px rgba(255,40,0,.10);
  animation:ripple 3.5s linear infinite}
.r2{animation-delay:.875s}.r3{animation-delay:1.75s}.r4{animation-delay:2.625s}
@keyframes ripple{0%{transform:scale(.12);opacity:0}8%{opacity:.75}100%{transform:scale(2.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.ring,.glow,.swirl{animation:none;opacity:.3}}

/* ==== وضعیت API و اسپینر دکمه ==== */
.api-status{font-size:.75rem;color:var(--dim);margin-top:6px;min-height:18px;text-align:center}
.api-status.bad{color:#ff8484}
.dot-ok,.dot-bad{display:inline-block;width:8px;height:8px;border-radius:50%;margin-inline-end:6px;vertical-align:middle}
.dot-ok{background:#35e08a;box-shadow:0 0 8px #35e08a}
.dot-bad{background:#ff5f57;box-shadow:0 0 8px #ff5f57}
.btn .spin{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;border-radius:50%;animation:rot .7s linear infinite;margin-inline-start:8px;vertical-align:-3px}
.btn.loading .spin{display:inline-block}
.btn.loading{pointer-events:none;opacity:.85}
@keyframes rot{to{transform:rotate(360deg)}}

/* ==== مدال‌های دسته‌بندی‌شده: هر دسته جدا، ۴تایی وسط‌چین ==== */
.medal-group{margin-bottom:18px}
.medal-group:last-child{margin-bottom:2px}
.mg-title{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;
  font-size:.88rem;color:var(--role);text-shadow:0 0 12px rgba(var(--role-rgb),.45);margin-bottom:10px}
.mg-count{font-size:.66rem;font-weight:600;color:var(--dim);background:rgba(255,255,255,.06);
  border:1px solid var(--line);border-radius:999px;padding:1px 9px}
.mg-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.mg-grid .medal{width:calc(25% - 8px);max-width:86px;min-width:62px}


/* v9 */
.events-admin{display:grid;grid-template-columns:1fr;gap:12px}
.ev-when{cursor:pointer}
.ev-cd{min-height:20px;font-size:.78rem;font-weight:800;margin:8px 0}
.ev-cd.red{color:var(--red)} .ev-cd.green{color:var(--green)} .ev-cd.off{color:var(--dim)}
.ev-when-txt{font-size:.68rem;color:var(--dim);margin-top:4px;min-height:14px}
#userSearch{margin-bottom:12px}
.ucard{padding:0;margin-bottom:12px;overflow:hidden}
.ucard-head{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;user-select:none}
.ucard-head:active{background:rgba(255,255,255,.04)}
.uh-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.uh-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uh-phone{font-size:.72rem;color:var(--dim);direction:ltr;text-align:right}
.uh-role{font-size:.66rem;font-weight:800;color:rgb(var(--rgb));border:1px solid rgba(var(--rgb),.5);
  background:rgba(var(--rgb),.1);padding:2px 8px;border-radius:999px;white-space:nowrap}
.uh-total{color:var(--role);font-weight:900}
.uh-btns{display:flex;gap:4px}
.uh-btns .mini{padding:5px 8px;font-size:.8rem;border-radius:8px}
.uh-chev{color:var(--dim);transition:transform .25s}
.ucard.open .uh-chev{transform:rotate(180deg)}
.ucard-body{display:none;padding:6px 14px 14px;border-top:1px dashed var(--line)}
.ucard.open .ucard-body{display:block}
.ucard.banned .uh-name{color:#ff9189}
.ub-row{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.ub-lbl{flex:1;min-width:130px;display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--dim)}
.medal-group{margin-bottom:18px}
.medal-group:last-child{margin-bottom:2px}
.mg-title{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;
  font-size:.88rem;color:var(--role);text-shadow:0 0 12px rgba(var(--role-rgb),.45);margin-bottom:10px}
.mg-count{font-size:.66rem;font-weight:600;color:var(--dim);background:rgba(255,255,255,.06);
  border:1px solid var(--line);border-radius:999px;padding:1px 9px}
.mg-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.mg-grid .medal{width:calc(25% - 8px);max-width:86px;min-width:62px}
.jpick{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;width:min(92vw,340px);padding:14px}
.jp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.jp-head b{color:var(--role);font-size:.95rem}
.jp-nav{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);
  background:rgba(255,255,255,.06);color:var(--txt);font-size:1.1rem;cursor:pointer}
.jp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;color:var(--dim);font-size:.65rem;margin-bottom:4px}
.jp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.jp-day{aspect-ratio:1;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.04);
  color:var(--txt);font-size:.8rem;cursor:pointer;transition:.15s}
.jp-day:active{transform:scale(.9)}
.jp-day.jp-sel{background:rgba(var(--role-rgb),.4);border-color:rgba(var(--role-rgb),.8);
  box-shadow:0 0 10px rgba(var(--role-rgb),.4);font-weight:800}
.jp-time{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 8px}
.jp-time select{width:80px;text-align:center}
.jp-foot{display:flex;gap:8px}
.jp-foot .jp-clear{flex:1;background:rgba(255,90,78,.12);border:1px solid rgba(255,90,78,.4);
  color:#ff9189;border-radius:10px;padding:9px;cursor:pointer;font-family:inherit}
.jp-foot .jp-ok{flex:2;background:linear-gradient(135deg,#2f6bff,#7a3dff);border:none;color:#fff;
  border-radius:10px;padding:9px;font-weight:800;cursor:pointer;font-family:inherit}

/* ==== v10 ==== */
.assassin-title{font-size:2rem;font-weight:900;letter-spacing:1px;margin:4px 0 10px;
 background:linear-gradient(180deg,#ff6a5e,#c81a0e 55%,#5c0a05);
 -webkit-background-clip:text;background-clip:text;color:transparent;
 animation:bloodPulse 2.8s ease-in-out infinite}
@keyframes bloodPulse{0%,100%{filter:drop-shadow(0 0 8px rgba(255,40,0,.5)) drop-shadow(0 2px 2px rgba(0,0,0,.8))}
 50%{filter:drop-shadow(0 0 22px rgba(255,60,0,.9)) drop-shadow(0 2px 2px rgba(0,0,0,.8))}}
.mail-wrap{position:absolute;top:6px;right:0}
#mailBtn{position:relative;font-size:1.25rem;background:rgba(255,255,255,.06);border:1px solid var(--line);
 width:44px;height:44px;border-radius:50%;cursor:pointer;color:var(--txt);
 box-shadow:0 10px 24px rgba(0,0,0,.45);backdrop-filter:blur(10px)}
#mailCount{position:absolute;top:-6px;left:-6px;min-width:19px;height:19px;padding:0 4px;display:none;
 place-items:center;background:#4da3ff;color:#fff;font-size:.66rem;font-weight:900;border-radius:999px;
 box-shadow:0 0 12px rgba(77,163,255,.8)}
.timer-card{background:linear-gradient(160deg,rgba(255,45,35,.13),rgba(255,255,255,.03) 55%,rgba(120,10,5,.12))}
.ev{background:linear-gradient(160deg,rgba(120,90,0,.16),rgba(150,25,0,.22) 55%,rgba(60,8,0,.32));position:relative;overflow:hidden}
.ev::before{content:'';position:absolute;left:-20%;right:-20%;bottom:-40%;height:70%;pointer-events:none;
 background:radial-gradient(60% 100% at 50% 100%,rgba(255,70,0,.22),transparent 70%);filter:blur(10px);
 animation:evsmoke 4s ease-in-out infinite}
@keyframes evsmoke{0%,100%{transform:translateY(6px);opacity:.6}50%{transform:translateY(-10px);opacity:1}}
.ev-title{font-weight:800;font-size:.98rem;margin-bottom:8px;color:#ff5348;
 text-shadow:0 0 12px rgba(255,60,30,.6)}
.ev-timer.fire{color:#ff8c1a;font-weight:900;
 text-shadow:0 0 12px rgba(255,110,0,.8),0 0 26px rgba(255,60,0,.5);
 animation:flick 1.1s ease-in-out infinite}
@keyframes flick{0%,100%{opacity:1}50%{opacity:.82}}
.stat.knife{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(120,10,5,.38))}
.stat.shoot{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(150,70,0,.38))}
.stat.save{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,90,45,.38))}
.lb-item{cursor:pointer}
.prizes-card{padding:14px;margin-bottom:14px}
.pz-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 8px;
 border-bottom:1px dashed var(--line)}
.pz-row:last-child{border-bottom:none}
.pz-row.full{background:rgba(53,224,138,.06);border-radius:12px}
.pz-prize{font-size:.72rem;font-weight:800;color:#ffd54a;white-space:nowrap;
 background:rgba(255,213,74,.08);border:1px dashed rgba(255,213,74,.4);border-radius:10px;padding:5px 10px}
.pz-items{display:flex;gap:8px;flex:1;flex-wrap:wrap}
.pz-item{position:relative;width:52px;height:52px;border-radius:12px;border:1px solid var(--line);
 background:rgba(255,255,255,.03);padding:4px;cursor:pointer;transition:.2s}
.pz-item img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(.4)}
.pz-item.on{border-color:rgba(53,224,138,.6);box-shadow:0 0 12px rgba(53,224,138,.25)}
.pz-item.on img{filter:none}
.pz-check{position:absolute;top:-6px;left:-6px;width:18px;height:18px;display:grid;place-items:center;
 background:#35e08a;color:#04160c;font-size:.6rem;font-weight:900;border-radius:50%}
.pz-own{font-size:.68rem;color:var(--dim);font-weight:800}
.lb-desc{margin-top:10px;font-size:.8rem;color:var(--dim);max-width:320px;line-height:1.9}
.gmodal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;
 background:rgba(2,5,9,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.gmodal.show{display:flex}
.gm-box{width:min(92vw,430px);max-height:84vh;overflow:auto;padding:22px 18px;position:relative;
 text-align:center;animation:zoomIn .2s ease}
.gm-title{color:var(--role);font-size:1.05rem;margin-bottom:6px}
.gm-sub{color:var(--dim);font-size:.78rem;margin-bottom:14px}
.gm-close{position:absolute;top:8px;left:8px;width:30px;height:30px;border-radius:50%;
 border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);cursor:pointer}
#nickPop input{margin:10px 0 12px;text-align:center}
.pp-head{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.pp-name{font-size:1.15rem;font-weight:900}
.pp-total{font-size:2rem;font-weight:900;color:var(--role);
 text-shadow:0 0 18px rgba(var(--role-rgb),.6);margin:10px 0}
.pp-total small{font-size:.7rem;color:var(--dim);font-weight:600}
.pp-scores{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--dim);margin-bottom:12px}
.pp-scores b{color:var(--txt)}
.pp-mtitle{font-size:.78rem;color:var(--dim);margin-bottom:8px}
.pp-medals{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pp-medal{width:46px;height:46px;border-radius:10px;border:1px solid rgba(var(--role-rgb),.45);
 background:rgba(var(--role-rgb),.08);padding:3px}
.pp-medal img{width:100%;height:100%;object-fit:contain}
.mthread{max-height:44vh;overflow:auto;display:flex;flex-direction:column;gap:8px;margin:12px 0;text-align:right}
.mbub{max-width:85%;align-self:flex-end}
.mbub.me{align-self:flex-start}
.mb{padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid var(--line);font-size:.85rem}
.mbub.me .mb{background:rgba(var(--role-rgb),.14);border-color:rgba(var(--role-rgb),.45)}
.mt{font-size:.62rem;color:var(--dim);margin-top:3px}
.msend{display:flex;gap:8px}
.msend input{flex:1}
.uh-nick{font-size:.62rem;color:var(--dim)}
.msg-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);
 border-radius:12px;margin-bottom:8px;cursor:pointer;background:rgba(255,255,255,.03)}
.msg-row:active{background:rgba(255,255,255,.06)}
.msg-unread{min-width:20px;height:20px;display:grid;place-items:center;background:#ff5a4e;color:#fff;
 border-radius:999px;font-size:.66rem;font-weight:900;flex:0 0 20px}
.msg-last{font-size:.75rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
 flex:1;min-width:0}
.thread-head{padding:10px 2px;border-bottom:1px dashed var(--line);margin-bottom:8px;
 display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mthread-a{max-height:40vh;overflow:auto;display:flex;flex-direction:column;gap:8px;margin:10px 0;text-align:right}
.thread-send{display:flex;gap:8px}
.thread-send input{flex:1}

/* v12 */
.acc{padding:0;overflow:hidden}
.acc-head{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;user-select:none}
.acc-head:active{background:rgba(255,255,255,.04)}
.acc-sum{flex:1;font-size:.7rem;color:var(--dim);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-body{display:none;padding:14px;border-top:1px dashed var(--line)}
.acc.open .acc-body{display:block}
.acc .uh-chev{transition:transform .25s}
.acc.open .uh-chev{transform:rotate(180deg)}
.ub-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ub-actions .mini{flex:1;min-width:100px;padding:9px 10px;border-radius:10px;font-size:.8rem}
#msgBadge{display:none;min-width:18px;height:18px;padding:0 5px;place-items:center;background:#ff5a4e;
 color:#fff;font-size:.62rem;font-weight:900;border-radius:999px;margin-inline-start:4px}

/* v14 — ویدیو */
#msgBadge,#vidBadge{display:none;min-width:18px;height:18px;padding:0 5px;place-items:center;
 background:#ff5a4e;color:#fff;font-size:.62rem;font-weight:900;border-radius:999px;margin-inline-start:4px}
.mail-wrap{display:flex;gap:8px}
#videoBtn{font-size:1.25rem;background:rgba(255,255,255,.06);border:1px solid var(--line);
 width:44px;height:44px;border-radius:50%;cursor:pointer;color:var(--txt);
 box-shadow:0 10px 24px rgba(0,0,0,.45);backdrop-filter:blur(10px)}
.file-pick{display:block;text-align:center;padding:14px;border:2px dashed rgba(var(--role-rgb),.5);
 border-radius:14px;background:rgba(var(--role-rgb),.06);cursor:pointer;font-weight:800;font-size:.82rem;margin-bottom:8px}
.v-fname{font-size:.72rem;color:var(--dim);min-height:16px;margin-bottom:6px}
.v-fields{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;text-align:right}
.v-fields input,.v-fields textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);
 color:var(--txt);border-radius:12px;padding:10px 12px;font-size:.9rem;outline:none;font-family:inherit;resize:vertical}
.v-divider{height:1px;background:var(--line);margin:14px 0}
.v-mtitle{font-weight:800;font-size:.85rem;color:var(--role);margin-bottom:8px}
.mv-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);
 border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.03);text-align:right}
.mv-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mv-main b{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vstat{font-size:.62rem;font-weight:900;border-radius:999px;padding:3px 8px;white-space:nowrap}
.vs-p{background:rgba(255,213,74,.12);color:#ffd54a;border:1px solid rgba(255,213,74,.4)}
.vs-a{background:rgba(53,224,138,.12);color:#35e08a;border:1px solid rgba(53,224,138,.4)}
.vs-r{background:rgba(255,90,78,.12);color:#ff8a80;border:1px solid rgba(255,90,78,.4)}
.up-box{width:min(92vw,340px)}
.upbar{height:14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);overflow:hidden}
#upFill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#ff5a4e,#ff8c1a);
 box-shadow:0 0 14px rgba(255,90,40,.6);transition:width .3s}
.up-pct{font-weight:900;font-size:1.2rem;margin-top:8px;color:var(--role)}
.up-info{font-size:.72rem;color:var(--dim);margin-top:6px}
.play-box{width:min(94vw,560px)}
.play-box video{width:100%;max-height:56vh;border-radius:14px;background:#000}
.play-info{font-size:.78rem;color:var(--dim);margin-top:10px;text-align:right}
.vid-row{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;background:rgba(255,255,255,.03);text-align:right}
.vid-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.vid-meta{font-size:.72rem;color:var(--dim);line-height:1.9}
.vid-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.vid-actions .mini{padding:7px 10px;font-size:.78rem;border-radius:9px}
a.mini{text-decoration:none;display:inline-block}

/* v15 — لیست ویدیوها گروهی */
.vgroup{margin-bottom:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.vg-head{display:flex;align-items:center;gap:8px;padding:10px 12px;
 background:rgba(255,255,255,.05);border-bottom:1px dashed var(--line)}
.vg-head b{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vg-count{font-size:.62rem;font-weight:800;color:var(--role);
 background:rgba(var(--role-rgb),.1);border:1px solid rgba(var(--role-rgb),.4);
 border-radius:999px;padding:2px 9px;white-space:nowrap}
.vid-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;
 background:transparent;border:none;border-bottom:1px dashed var(--line);
 cursor:pointer;color:var(--txt);font-family:inherit;text-align:right}
.vid-item:last-child{border-bottom:none}
.vid-item:active{background:rgba(255,255,255,.05)}
.vid-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.vid-item-main b{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vid-item-main i{font-style:normal}
.vg-open{color:var(--dim);font-size:.8rem}
.vd-info{text-align:right;margin-top:10px;font-size:.8rem;color:var(--dim);line-height:2}
.vd-line b{color:var(--txt)}
.vd-actions-bar{margin-top:12px;justify-content:center}

/* v16 — ویدیو: اندازه واقعی، دکمه‌های شیشه‌ای، لیست شیشه‌ای با نور خوانده‌نشده */
.play-box{width:min(96vw,640px)}
.play-box video{display:block;width:100%;height:auto;max-height:46vh;object-fit:contain;
  border-radius:16px;background:#000;box-shadow:0 14px 34px rgba(0,0,0,.6)}
.vd-actions-bar .mini{font-family:inherit;font-weight:800;font-size:.8rem;color:var(--txt);
  padding:11px 18px;border-radius:13px;cursor:pointer;text-decoration:none;display:inline-block;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 24px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.10);
  transition:transform .15s, box-shadow .2s}
.vd-actions-bar .mini:active{transform:scale(.95)}
.vd-actions-bar .v-ok{color:#7dffb0;border-color:rgba(53,224,138,.45);
  background:linear-gradient(160deg,rgba(53,224,138,.20),rgba(53,224,138,.05));
  box-shadow:0 10px 24px rgba(0,0,0,.45),0 0 14px rgba(53,224,138,.15), inset 0 1px 0 rgba(255,255,255,.12)}
.vd-actions-bar .v-no,.vd-actions-bar .v-del{color:#ff9d94;border-color:rgba(255,90,78,.45);
  background:linear-gradient(160deg,rgba(255,90,78,.20),rgba(255,90,78,.05));
  box-shadow:0 10px 24px rgba(0,0,0,.45),0 0 14px rgba(255,90,78,.15), inset 0 1px 0 rgba(255,255,255,.12)}
.vd-actions-bar .v-dl{color:#9fd0ff;border-color:rgba(77,163,255,.45);
  background:linear-gradient(160deg,rgba(77,163,255,.20),rgba(77,163,255,.05));
  box-shadow:0 10px 24px rgba(0,0,0,.45),0 0 14px rgba(77,163,255,.15), inset 0 1px 0 rgba(255,255,255,.12)}
.vgroup{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.13);border-radius:16px;overflow:hidden;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 40px -10px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08);
  margin-bottom:14px}
.vg-head{background:rgba(255,255,255,.05)}
.vid-item{transition:background .2s}
.vid-item:active{background:rgba(255,255,255,.06)}
.vid-item.unseen{background:linear-gradient(90deg,rgba(255,59,48,.12),rgba(255,59,48,.02));position:relative}
.vid-item.unseen::before{content:'';position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;
  background:#ff3b30;box-shadow:0 0 12px #ff3b30}
.vd-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:transparent}
.vid-item.unseen .vd-dot{background:#ff3b30;box-shadow:0 0 12px #ff3b30;
  animation:vdPulse 1.6s ease-in-out infinite}
@keyframes vdPulse{0%,100%{opacity:1}50%{opacity:.3}}

/* v17 — ماموریت‌ها */
.m-prize{color:#ffd54a;font-weight:800;font-size:.8rem;white-space:nowrap;
 text-shadow:0 0 10px rgba(255,213,74,.45)}
.macc{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;
 background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 box-shadow:0 12px 28px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);text-align:right}
.macc-head{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;user-select:none}
.m-title{flex:1;font-weight:800}
.macc-body{display:none;padding:4px 14px 14px;border-top:1px dashed var(--line)}
.macc.open .macc-body{display:block}
.macc.open .uh-chev{transform:rotate(180deg)}
.m-line{font-size:.8rem;color:var(--dim);margin:7px 0}
.m-line b{color:var(--txt)}
.m-cd.green{color:#35e08a;font-weight:800}
.m-cd.red{color:#ff5f57;font-weight:800;text-shadow:0 0 12px rgba(255,95,87,.55)}
.mst{font-size:.66rem;font-weight:900;border-radius:999px;padding:3px 10px;white-space:nowrap}
.mst.vs-a{background:rgba(53,224,138,.12);color:#35e08a;border:1px solid rgba(53,224,138,.4)}
.mst.vs-r{background:rgba(255,90,78,.12);color:#ff8a80;border:1px solid rgba(255,90,78,.4)}
.mst.ms-dim{color:var(--dim);border:1px solid var(--line)}
.m-cats{line-height:2.4}
.mcat{font-size:.64rem;font-weight:800;border-radius:999px;padding:3px 11px;margin:2px;
 display:inline-block;color:var(--dim);border:1px dashed var(--line);
 background:rgba(255,255,255,.03);opacity:.5}
.mcat.on{opacity:1;color:rgb(var(--rgb));border:1px solid rgba(var(--rgb),.55);
 background:rgba(var(--rgb),.10);box-shadow:0 0 8px rgba(var(--rgb),.25)}
.mcat.mine{outline:2px solid rgba(var(--role-rgb),.8);outline-offset:1px}
.ms-form input,.ms-form select{margin-bottom:8px}
.ms-row{display:flex;gap:8px}
.ms-row .ub-lbl{flex:1;min-width:0}
.ms-roles{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px}
.ms-role{font-family:inherit;font-size:.72rem;font-weight:800;color:var(--dim);
 border:1px dashed var(--line);background:rgba(255,255,255,.03);border-radius:999px;
 padding:7px 13px;cursor:pointer;opacity:.55;transition:.2s}
.ms-role.on{opacity:1;color:#7dffb0;border:1px solid rgba(53,224,138,.55);
 background:rgba(53,224,138,.12);box-shadow:0 0 10px rgba(53,224,138,.2)}
.ms-item{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;
 background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
 backdrop-filter:blur(12px);box-shadow:0 12px 28px rgba(0,0,0,.4);text-align:right}
.ms-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.ms-meta{font-size:.75rem;color:var(--dim)}
.ms-cd{font-size:.78rem;font-weight:800;min-height:18px;margin:4px 0}
.ms-cd.green{color:#35e08a}
.ms-cd.red{color:#ff5f57;text-shadow:0 0 10px rgba(255,95,87,.5)}

/* v18 — یکسان‌سازی دکمه‌های گرد بالای پروفایل */
#missionBtn,#videoBtn,#mailBtn{
  font-size:1.25rem;width:44px;height:44px;border-radius:50%;cursor:pointer;color:var(--txt);
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 24px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.10);
  transition:transform .15s, box-shadow .2s;
  display:grid;place-items:center;padding:0;line-height:1}
#missionBtn:active,#videoBtn:active,#mailBtn:active{transform:scale(.93)}
#missionBtn:hover,#videoBtn:hover,#mailBtn:hover{
  box-shadow:0 12px 28px rgba(0,0,0,.5),0 0 16px rgba(var(--role-rgb),.25), inset 0 1px 0 rgba(255,255,255,.12)}


/* v19 — پنجره نصب برنامه */
.install-box{width:min(90vw,360px);text-align:center}
.install-icon{width:76px;height:76px;border-radius:18px;margin-bottom:10px;
 box-shadow:0 12px 28px rgba(0,0,0,.55),0 0 20px rgba(var(--role-rgb),.25)}
.install-sub{color:var(--dim);font-size:.82rem;margin-bottom:14px;line-height:1.9}
.install-ios{display:none;font-size:.78rem;color:var(--txt);line-height:2;
 background:rgba(255,255,255,.06);border:1px dashed var(--line);
 border-radius:12px;padding:10px;margin-bottom:12px}
.install-btns{display:flex;gap:10px}
.install-btns .btn{flex:1;margin:0;border:none}
.install-yes{background:linear-gradient(135deg,#0f9d58,#35e08a)!important;color:#fff!important;
 box-shadow:0 10px 26px rgba(53,224,138,.35)!important}
.install-no{background:linear-gradient(135deg,#b3261e,#ff5a4e)!important;color:#fff!important;
 box-shadow:0 10px 26px rgba(255,90,78,.35)!important}

