.InventoryModal{
  --bg:#0b0a12;
  --surface:#110f1a;
  --surface-2:#0f0d18;
  --border:#2a2140;
  --accent:#8b5cf6;
  --accent-2:#c084fc;
  background: none;
  padding: 0;
  min-height: 0;
  font-family: Inter, sans-serif;
  color:#eee8ff;
}


/* BUTTON */
.InventoryModal .InventoryModal-btn,.InventoryConfirmModal .InventoryModal-btn{
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(139,92,246,.22),rgba(17,15,26,.95));
  border:1px solid rgba(139,92,246,.6);
  font-weight:900;
  color:white;
}

/* MODAL */
.InventoryModal #InventoryModalModal .modal-content{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);
  border-radius:20px;
}

/* TOOLBAR */
.InventoryModal .InventoryModal-tools{
  padding:11px 10px 7px 10px;
  display:flex;
  gap:5px;
  align-items:center;
  flex-wrap:wrap;
}

.InventoryModal .InventoryModal-input{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);
  color:white;
  border-radius:12px;
  padding:10px 12px;
  max-width:125px;
  flex:1;
}
.InventoryModal .InventoryModal-input::placeholder{ color:rgba(255,255,255,.55); }

/* STATS */
.InventoryModal .InventoryModal-stats{
  display:flex;
  gap:9px;
  align-items:center;
  padding:6px 10px;
  border-radius:12px;
  background:rgba(139,92,246,.12);
  border:1px solid rgba(139,92,246,.35);
}

.InventoryModal .InventoryModal-mode{
  display:none;
  align-items:center;
  gap:10px;
  padding:4px 7px;
  border-radius:12px;
  background:rgba(139,92,246,.12);
  border:1px solid rgba(139,92,246,.35);
}

.InventoryModal .InventoryModal-mode.is-active{
  display:flex;
}

.InventoryModal .InventoryModal-modeLabel{
  font-size:11px;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
  opacity:.7;
}

.InventoryModal .InventoryModal-modeGroup{
  display:flex;
  gap:6px;
}

.InventoryModal .InventoryModal-modeBtn{
  border:1px solid rgba(139,92,246,.5);
  background:rgba(17,15,26,.75);
  color:#fff;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  padding: 3px 9px;
  transition:all .15s ease;
}

.InventoryModal .InventoryModal-modeBtn:hover{
  background:rgba(139,92,246,.2);
}

.InventoryModal .InventoryModal-modeBtn.is-selected{
  background:linear-gradient(180deg, rgba(139,92,246,.35), rgba(17,15,26,.95));
  box-shadow:0 0 0 1px rgba(139,92,246,.35);
}

.InventoryModal .InventoryModal-modeBtn:disabled{
  cursor:not-allowed;
  opacity:.5;
  box-shadow:none;
}


.InventoryModal .InventoryModal-stat{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:800;
  font-size:14px;
  white-space:nowrap;
}

.InventoryModal .InventoryModal-grid{
  padding:20px;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:22px;
  min-height:220px;
  max-height:378px;
  overflow-y:auto;
  overflow-x:hidden;
  position:relative;
}

@media (max-width: 1024px) {
  .InventoryModal .InventoryModal-grid {
    grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
    max-height: 300px;
  }
}

@media (max-width: 768px) {
  .InventoryModal .InventoryModal-grid {
    grid-template-columns:repeat(auto-fill,minmax(144px,1fr));
    max-height: 220px;
  }
}


.InventoryModal .InventoryModal-grid::-webkit-scrollbar{ width:5px; }
.InventoryModal .InventoryModal-grid::-webkit-scrollbar-thumb{
  background:rgba(139,92,246,.4);
  border-radius:999px;
}

.InventoryModal .InventoryModal-loader{
  position:absolute;
  inset:0;
  display:none;
  place-items:center;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(4px);
  z-index:5;
  border-radius:12px;
}

.InventoryModal .InventoryModal-loader.open{ display:grid; }

.InventoryModal .InventoryModal-loaderBox{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:18px 18px;
  border-radius:16px;
  border:1px solid rgba(139,92,246,.35);
  background:linear-gradient(180deg,rgba(17,15,26,.9),rgba(15,13,24,.92));
  box-shadow:0 0 30px rgba(139,92,246,.25);
}

.InventoryModal .InventoryModal-loaderText{
  font-weight:900;
  letter-spacing:.2px;
  opacity:.95;
}

/* ITEM */
.InventoryModal .InventoryModal-item{
  background:linear-gradient(180deg,#171322,#0f0d18);
  border-radius:18px;
  padding:16px 12px;
  text-align:center;
  border:1px solid rgba(139,92,246,.35);
  cursor:pointer;
  position:relative;
  transition:.18s;
}

.InventoryModal .InventoryModal-item:not(.selected):hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 0 30px rgba(139,92,246,.35);
}

.InventoryModal .InventoryModal-item.selected{
  border-color:var(--accent-2);
  transform:scale(1.08);
  box-shadow:
    0 0 40px rgba(192,132,252,.75),
    inset 0 0 12px rgba(139,92,246,.25);
}

.InventoryModal .InventoryModal-item.selected::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:inherit;
  background:radial-gradient(circle,rgba(192,132,252,.55),transparent 70%);
  animation:InventoryModalPulse .85s ease-out forwards;
  pointer-events:none;
}

@keyframes InventoryModalPulse{
  0%{opacity:.9;transform:scale(.85);}
  100%{opacity:0;transform:scale(1.6);}
}

.InventoryModal .InventoryModal-item img{
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:12px;
  margin-bottom:10px;
}

.InventoryModal .InventoryModal-bottom{
  border-top:1px solid var(--border);
  padding:20px;
}

.InventoryModal .InventoryModal-valueTotal{
  font-weight:900;
  color:var(--accent-2);
  margin-bottom:14px;
}

/* ACTION ROW */
.InventoryModal .InventoryModal-actionRow{
  position:relative;
  display:flex;
  gap:12px;
}


/* BUTTONS */
.InventoryModal .InventoryModal-actionBtn{
  flex:1;
  min-width:160px;
  height:48px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid var(--border);
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  font-weight:900;
  color:white;

  display:flex;
  align-items:center;
  justify-content:center;
}

/* SIDE SELECT  */
.InventoryModal .InventoryModal-sideWrap{
  right:0;
  top:0;
  height:48px;
  width:96px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

/* SIDE ICONS */
.InventoryModal .InventoryModal-sideWrap img{
  width:40px;
  height:40px;
  cursor:pointer;
  opacity:.5;
  transition:opacity .15s ease, transform .15s ease;
}

.InventoryModal .InventoryModal-sideWrap img:hover{
  opacity:.9;
  transform:scale(1.05);
}

/* Coinflip */
.InventoryModal .InventoryModal-actionRow.no-side{
  padding-right:0;     /* buttons full width */
}

.InventoryModal .InventoryModal-actionRow.no-side
.InventoryModal-sideWrap{
  display:none;
}


/* CATEGORY POPUP */
.InventoryModal .InventoryModal-categoryPopup{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(6px);
  display:none;
  place-items:center;
  z-index:5000;
}
.InventoryModal .InventoryModal-categoryPopup.open{ display:grid; }

.InventoryModal .InventoryModal-categoryBox{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border-radius:16px;
  padding:20px;
  border:1px solid var(--border);
  width:320px;
}

.InventoryModal .InventoryModal-catBtn{
  width:100%;
  margin-top:10px;
  padding:12px;
  border-radius:12px;
  font-weight:900;
  background:rgba(139,92,246,.25);
  border:1px solid rgba(139,92,246,.4);
  color:white;
}


/* === Deposit Modal === */
#DepositModal{
  --surface:#110f1a;
  --surface-2:#0f0d18;
  --border:#2a2140;
  --accent:#8b5cf6;
  --accent-2:#c084fc;
  --success:#4ade80;
  --offline:#6b7280;
}

/* ===== Modal ===== */
#DepositModal .modal-content{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 25px 70px rgba(0,0,0,.75);
}

#DepositModal .modal-header{
  border-bottom:1px solid var(--border);
}

#DepositModal .modal-title{
  font-weight:900;
  letter-spacing:.3px;
}

/* ===== Rules Gate ===== */
#DepositModal .rules-box{
  padding:18px;
  font-size:14px;
  color:rgba(255,255,255,.75);
  line-height:1.45;
}

#DepositModal .rules-box strong{
  color:#fff;
}

#DepositModal .rules-accept{
  margin-top:14px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  border:none;
  border-radius:12px;
  padding:10px 16px;
  font-weight:900;
  color:white;
  cursor:pointer;
}

/* ===== Server List ===== */
#DepositModal .deposit-list{
  max-height:340px;
  overflow:auto;
  padding:14px;
  display:none;
}

#DepositModal .deposit-list::-webkit-scrollbar{
  width:8px;
}
#DepositModal .deposit-list::-webkit-scrollbar-thumb{
  background:rgba(139,92,246,.35);
  border-radius:999px;
}

/* ===== Server Row ===== */
#DepositModal .server-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(
    180deg,
    rgba(20,16,32,.95),
    rgba(14,11,26,.95)
  );
  border:1px solid var(--border);
  margin-bottom:10px;
  animation:depositRowIn .35s ease both;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

@keyframes depositRowIn{
  from{ opacity:0; transform:translateY(6px) scale(.98); }
  to{ opacity:1; transform:none; }
}

#DepositModal .server-row.online:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
  box-shadow:
    0 12px 28px rgba(0,0,0,.6),
    0 0 0 1px rgba(139,92,246,.35);
}

/* ===== Avatar ===== */
#DepositModal .server-avatar{
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 0 0 2px rgba(139,92,246,.35);
}

/* ===== Name ===== */
#DepositModal .server-name{
  font-weight:900;
  letter-spacing:.2px;
  flex:1;
}

/* ===== Status ===== */
#DepositModal .server-status{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:900;
}

/* status dot */
#DepositModal .server-dot{
  width:8px;
  height:8px;
  border-radius:50%;
}

/* online pulse */
#DepositModal .online .server-dot{
  background:var(--success);
  box-shadow:0 0 0 0 rgba(74,222,128,.6);
  animation:depositPulse 1.8s infinite;
}

@keyframes depositPulse{
  0%{ box-shadow:0 0 0 0 rgba(74,222,128,.6); }
  70%{ box-shadow:0 0 0 10px rgba(74,222,128,0); }
  100%{ box-shadow:0 0 0 0 rgba(74,222,128,0); }
}

/* ===== Offline ===== */
#DepositModal .offline{
  opacity:.45;
}
#DepositModal .offline .server-dot{
  background:var(--offline);
}

/* ===== Join Button ===== */
#DepositModal .join-btn{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  border:none;
  border-radius:12px;
  padding:7px 14px;
  font-weight:900;
  color:white;
}

#DepositModal .join-btn:disabled{
  background:#2a2140;
  color:#9ca3af;
  cursor:not-allowed;
}

/* ===========================
   PLAYER MODAL
   =========================== */

.PlayerModal{
  --surface:#110f1a;
  --surface-2:#0f0d18;
  --border:#2a2140;
  --accent:#8b5cf6;
  --accent-2:#c084fc;
  --success:#4ade80;

  font-family:Inter,system-ui,sans-serif;
  color:#eee8ff;
}

/* ===== MODAL ===== */
.PlayerModal .player-modal{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 40px 120px rgba(0,0,0,.85);
  overflow:hidden;
  animation:PlayerModalIn .35s ease both;
}

@keyframes PlayerModalIn{
  from{opacity:0;transform:scale(.94) translateY(12px);}
  to{opacity:1;transform:none;}
}

/* ===== HEADER ===== */
.PlayerModal .player-header{
  display:flex;
  justify-content:space-between;
  padding: 16px 18px 0px 18px;
}

.PlayerModal .player-actions{
  display:flex;
  gap:10px;
}

.PlayerModal .player-action{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(139,92,246,.18);
  border:1px solid rgba(139,92,246,.4);
  cursor:pointer;
  transition:.15s;
}

.PlayerModal .player-action:hover{
  transform:scale(1.12);
  box-shadow:0 0 20px rgba(139,92,246,.6);
}

/* ===== AVATAR ===== */
.PlayerModal .profile-avatar{
  width:132px;
  height:132px;
  margin:10px auto 8px;
  padding:6px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  animation:
    PlayerAvatarPop .5s ease both .1s,
    PlayerAvatarGlow 2.2s infinite;
}

@keyframes PlayerAvatarPop{
  from{opacity:0;transform:scale(.75);}
  to{opacity:1;transform:scale(1);}
}

@keyframes PlayerAvatarGlow{
  0%,100%{ box-shadow:0 0 22px rgba(139,92,246,.55); }
  50%{ box-shadow:0 0 38px rgba(192,132,252,.9); }
}

.PlayerModal .profile-avatar img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
}

/* ===== NAME / RANK ===== */
.PlayerModal .player-name{
  font-weight:900;
  animation:PlayerFadeUp .35s ease both .2s;
}

.PlayerModal .player-rank{
  display:inline-block;
  margin-top:6px;
  padding:4px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  animation:PlayerFadeUp .35s ease both .25s;
}

@keyframes PlayerFadeUp{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:none;}
}

/* ===== MINI STATS (PILLS) ===== */
.PlayerModal .player-pills{
  display:flex;
  justify-content:center;
  gap:10px;
  padding:10px 20px 6px;
  animation:PlayerFadeUp .35s ease both .35s;
}

.PlayerModal .pill{
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  background:rgba(139,92,246,.14);
  border:1px solid rgba(139,92,246,.4);
}

.PlayerModal .pill i{
  color:var(--accent-2);
}

.PlayerModal .pill.winrate{
  color:var(--success);
}

/* Winrate bar */
.PlayerModal .winrate-bar{
  height:4px;
  width:70px;
  background:#2a2140;
  border-radius:999px;
  overflow:hidden;
  margin-left:6px;
}

.PlayerModal .winrate-fill{
  height:100%;
  width:0%;
  background:var(--success);
  transition:width 1s ease;
}

@keyframes PlayerFillBar{
  from{width:0;}
  to{width:54%;}
}

/* ===== STATS GRID ===== */
.PlayerModal .player-stats{
  padding:16px 20px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.PlayerModal .stat-card{
  background:linear-gradient(180deg,#171322,#0f0d18);
  border:1px solid rgba(139,92,246,.35);
  border-radius:16px;
  padding:14px;
  text-align:center;
  animation:PlayerStatIn .35s ease both;
  transition:.18s;
}

.PlayerModal .stat-card:nth-child(1){animation-delay:.45s}
.PlayerModal .stat-card:nth-child(2){animation-delay:.5s}
.PlayerModal .stat-card:nth-child(3){animation-delay:.55s}
.PlayerModal .stat-card:nth-child(4){animation-delay:.6s}

@keyframes PlayerStatIn{
  from{opacity:0;transform:translateY(8px) scale(.96);}
  to{opacity:1;transform:none;}
}

.PlayerModal .stat-card:hover{
  transform:translateY(-4px) scale(1.04);
  box-shadow:0 0 32px rgba(139,92,246,.4);
}

.PlayerModal .stat-value{
  font-weight:900;
  font-size:20px;
  cursor:pointer;
}

.PlayerModal .stat-label{
  font-size:12px;
  opacity:.7;
}

/* ===== FOOTER ===== */
.PlayerModal .player-footer{
  border-top:1px solid var(--border);
  padding:16px 20px;
}

.PlayerModal .player-btn{
  width:100%;
  height:46px;
  border-radius:14px;
  border:none;
  font-weight:900;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:white;
  transition:.15s;
}

.PlayerModal .player-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 0 32px rgba(139,92,246,.6);
}


/* login */
#loginModalContainer{
  --bg:#0b0a12;
  --surface:#110f1a;
  --surface-2:#0f0d18;
  --border:#2a2140;
  --accent:#8b5cf6;
  --accent-2:#c084fc;
}

/* MODAL */
#loginModalContainer .modal-content{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);
  border-radius:20px;
  padding:30px;
  position:relative;
}

/* HEADER */
#loginModalContainer .modal-header{
  border:0;
  justify-content:end;
}

/* BODY */
#loginModalContainer .login-modal-body{
  text-align:center;
}

/* ICON */
#loginModalContainer .login-modal-icon img{
  border-radius:50%;
  transition:.3s;
  border:3px solid var(--accent-2);
  box-shadow:0 0 15px rgba(139,92,246,.3);
  animation: avatar 2s infinite;
}
#loginModalContainer .login-modal-icon img:hover{
  transform:scale(1.05);
}

/* PULSE ANIMATION FOR AVATAR */
@keyframes avatar{
  0%,100%{ box-shadow:0 0 22px rgba(139,92,246,.55); }
  50%{ box-shadow:0 0 38px rgba(192,132,252,.9); }
}

/* INPUTS */
#loginModalContainer .login-input{
  padding:12px 14px;
  margin-bottom:0;
  border-radius:12px 0 0 12px;
  border:1px solid var(--border);
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  color:white;
  transition:.2s;
  width:calc(100% - 110px);
}
#loginModalContainer .login-input:focus{
  outline:none;
  border-color:var(--accent-2);
  box-shadow:0 0 12px rgba(139,92,246,.4);
}

/* BUTTONS */
#loginModalContainer .login-action{
  padding:12px 14px;
  border-radius:0 12px 12px 0;
  border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(139,92,246,.22),var(--surface-2));
  color:white;
  font-weight:900;
  cursor:pointer;
  transition:.2s;
  width:110px;
}
#loginModalContainer .login-action:hover{
  background:linear-gradient(180deg,rgba(139,92,246,.3),var(--surface-2));
  box-shadow:0 0 18px rgba(139,92,246,.5);
}

/* PULSE ANIMATION ON CLICK (optional) */
@keyframes pulseBtn{
  0%{transform:scale(1); box-shadow:0 0 0 rgba(139,92,246,.5);}
  50%{transform:scale(1.05); box-shadow:0 0 20px rgba(139,92,246,.7);}
  100%{transform:scale(1); box-shadow:0 0 0 rgba(139,92,246,0);}
}
#loginModalContainer .login-action.pulse{
  animation:pulseBtn .4s ease-out forwards;
}

/* TERMS CHECKBOX */
#loginModalContainer .terms{
  display:flex;
  align-items:center;
  gap:10px;
  color:white;
  font-size:.85rem;
  margin-bottom:-7px;
  justify-content:center;
  width:100%;
  margin-top:10px;
}
#loginModalContainer .terms input[type=checkbox]{
  accent-color:var(--accent-2);
  width:18px;
  height:18px;
  border-radius:5px;
  border:2px solid var(--accent-2);
  transition:.3s;
}
#loginModalContainer .terms input[type=checkbox]:checked{
  background-color:var(--accent-2);
  border-color:var(--accent-2);
}

/* CODE GROUP */
#loginModalContainer #codeGroup{
  opacity:0;
  transform:translateY(-10px) scale(.98);
  max-height:0;
  overflow:hidden;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease, max-height .45s ease;
}

/* CODE GROUP */
#loginModalContainer #codeGroup.code-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  max-height:120px;
  pointer-events:auto;
}

/* INPUT GROUP */
#loginModalContainer .input-group{
  display:flex;
  justify-content:center;
  width:100%;
}
#loginModalContainer .input-group input{
  width:calc(100% - 120px);
}
#loginModalContainer .input-group button{
  width:110px;
}


/* ===== FAIRNESS MODAL ===== */
#fairnessModal{
  --fm-bg:#0b0a12;
  --fm-surface:#110f1a;
  --fm-surface-2:#0f0d18;
  --fm-text:#d7d9fc;
  --fm-muted:rgba(238,232,255,.78);
  --fm-muted-2:rgba(192,132,252,.66);
  --fm-line:rgba(139,92,246,.18);
  --fm-line-strong:rgba(192,132,252,.34);
  --fm-accent:#8b5cf6;
  --fm-good:#7ce7bb;
  --fm-warn:#f7c35f;
  --fm-bad:#ff8da9;
  z-index:1200;
  font-family:"Plus Jakarta Sans","Segoe UI",sans-serif;
}

#fairnessModal.fade .FairnessModal-dialog{
  opacity:0;
  transform:translateY(24px) scale(.985);
}

#fairnessModal.show .FairnessModal-dialog{
  opacity:1;
  transform:translateY(0) scale(1);
}

#fairnessModal .FairnessModal-shell{
  opacity:1;
  visibility:visible;
}

body.fairness-modal-open{
  overflow:hidden;
}

#fairnessModal .FairnessModal-dialog{
  width:min(1120px, 100%);
  max-height:calc(100vh - 48px);
  transition:transform .22s ease, opacity .22s ease;
}

#fairnessModal .FairnessModal-shell{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid var(--fm-line);
  background:
    linear-gradient(135deg, rgba(255,255,255,.05), transparent 26%),
    linear-gradient(180deg, var(--fm-surface), var(--fm-surface-2));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 36px 90px rgba(0,0,0,.46);
}

#fairnessModal .FairnessModal-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top left, rgba(147,152,225,.14), transparent 28%),
    radial-gradient(circle at bottom right, rgba(165,44,216,.12), transparent 26%),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size:auto, auto, 56px 56px, 56px 56px;
  opacity:.7;
}

#fairnessModal .FairnessModal-header,
#fairnessModal .FairnessModal-layout{
  position:relative;
  z-index:1;
}

#fairnessModal .FairnessModal-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:24px 24px 18px;
}

#fairnessModal .FairnessModal-headerCopy{
  display:flex;
  align-items:flex-start;
  gap:16px;
  min-width:0;
}

#fairnessModal .FairnessModal-badge,
#fairnessModal .FairnessModal-close,
#fairnessModal .FairnessModal-miniBtn{
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(147,152,225,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 26%),
    linear-gradient(135deg, rgba(139,92,246,.16), rgba(17,15,26,.98));
  color:#f6f4ff;
  display:grid;
  place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 14px 24px rgba(0,0,0,.22);
}

#fairnessModal .FairnessModal-badge{
  flex:0 0 auto;
  color:#f7f1ff;
}

#fairnessModal .FairnessModal-kicker,
#fairnessModal .FairnessModal-noteEyebrow{
  margin:0 0 8px;
  color:var(--fm-muted-2);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

#fairnessModal .FairnessModal-title{
  margin:0;
  color:#f8f8ff;
  font:900 clamp(1.35rem, 2vw, 2rem)/1.05 "Chakra Petch","Plus Jakarta Sans",sans-serif;
  letter-spacing:.03em;
}

#fairnessModal .FairnessModal-subtitle{
  margin:8px 0 0;
  max-width:58ch;
  color:var(--fm-muted);
  font-size:.92rem;
  line-height:1.55;
}

#fairnessModal .FairnessModal-close,
#fairnessModal .FairnessModal-miniBtn,
#fairnessModal .FairnessModal-chipBtn,
#fairnessModal .FairnessModal-modeBtn,
#fairnessModal .FairnessModal-btn{
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

#fairnessModal .FairnessModal-close:hover,
#fairnessModal .FairnessModal-miniBtn:hover,
#fairnessModal .FairnessModal-chipBtn:hover,
#fairnessModal .FairnessModal-modeBtn:hover,
#fairnessModal .FairnessModal-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(147,152,225,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 18px 30px rgba(0,0,0,.28);
}

#fairnessModal .FairnessModal-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.55fr) minmax(280px, .85fr);
  gap:18px;
  padding:0 24px 24px;
}

#fairnessModal .FairnessModal-form{
  min-width:0;
  display:grid;
  gap:16px;
}

#fairnessModal .FairnessModal-panel,
#fairnessModal .FairnessModal-result,
#fairnessModal .FairnessModal-noteCard{
  border-radius:24px;
  border:1px solid var(--fm-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 22%),
    linear-gradient(180deg, rgba(17,15,26,.92), rgba(15,13,24,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 20px 36px rgba(0,0,0,.22);
}

#fairnessModal .FairnessModal-panel{
  padding:18px;
}

#fairnessModal .FairnessModal-panel--mode{
  padding:14px 18px;
}

#fairnessModal .FairnessModal-field + .FairnessModal-field{
  margin-top:14px;
}

#fairnessModal .FairnessModal-label{
  display:block;
  margin:0 0 8px;
  color:#eef0ff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#fairnessModal .FairnessModal-inputRow{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto auto;
  gap:8px;
}

#fairnessModal .FairnessModal-input{
  width:100%;
  min-width:0;
  padding:13px 16px;
  border-radius:18px;
  border:1px solid rgba(147,152,225,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 22%),
    linear-gradient(180deg, rgba(17,15,26,.98), rgba(15,13,24,.98));
  color:#f4f5ff;
  font-size:.95rem;
  font-weight:700;
  box-shadow:none;
}

#fairnessModal .FairnessModal-input::placeholder{
  color:rgba(215,217,252,.42);
}

#fairnessModal .FairnessModal-input:focus{
  outline:none;
  border-color:rgba(147,152,225,.36);
  box-shadow:0 0 0 4px rgba(147,152,225,.12);
}

#fairnessModal .FairnessModal-miniBtn{
  margin:0;
}

#fairnessModal .FairnessModal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

#fairnessModal .FairnessModal-chipBtn{
  border-radius:999px;
  border:1px solid rgba(147,152,225,.18);
  padding:10px 14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 24%),
    linear-gradient(135deg, rgba(139,92,246,.14), rgba(17,15,26,.92));
  color:var(--fm-text);
  font-size:.82rem;
  font-weight:800;
}

#fairnessModal .FairnessModal-modeRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

#fairnessModal .FairnessModal-modeLeft{
  min-width:0;
  display:grid;
  gap:4px;
}

#fairnessModal .FairnessModal-modeTitle{
  color:#f8f8ff;
  font:900 1.02rem/1.1 "Chakra Petch","Plus Jakarta Sans",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#fairnessModal .FairnessModal-modeHint{
  color:var(--fm-muted);
  font-size:.85rem;
}

#fairnessModal .FairnessModal-modeBtns{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

#fairnessModal .FairnessModal-modeBtn{
  min-width:124px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(147,152,225,.18);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 24%),
    linear-gradient(135deg, rgba(17,15,26,.9), rgba(15,13,24,.95));
  color:var(--fm-text);
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#fairnessModal .FairnessModal-modeBtn.is-active{
  border-color:var(--fm-line-strong);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 26%),
    linear-gradient(135deg, rgba(139,92,246,.32), rgba(17,15,26,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 20px 34px rgba(139,92,246,.18);
}

#fairnessModal .FairnessModal-result{
  display:none;
  position:relative;
  overflow:hidden;
}

#fairnessModal .FairnessModal-result.is-visible{
  display:block;
}

#fairnessModal .FairnessModal-result::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(147,152,225,.92), rgba(165,44,216,.92), transparent);
  opacity:0;
}

#fairnessModal .FairnessModal-result.is-visible::before{
  animation:shimmerLine .8s ease forwards;
}

@keyframes shimmerLine{
  0%{opacity:0; transform:translateX(-32%);}
  40%{opacity:.9;}
  100%{opacity:.18; transform:translateX(32%);}
}

#fairnessModal .FairnessModal-resultInner{
  padding:18px;
  opacity:0;
  transform:translateY(-8px) scale(.985);
  max-height:0;
  transition:opacity .28s ease, transform .28s ease, max-height .34s ease;
}

#fairnessModal .FairnessModal-result.is-visible .FairnessModal-resultInner{
  opacity:1;
  transform:translateY(0) scale(1);
  max-height:720px;
}

#fairnessModal .FairnessModal-loading{
  display:none;
  position:absolute;
  inset:0;
  z-index:2;
  padding:18px;
  background:rgba(4,7,30,.64);
  backdrop-filter:blur(6px);
}

#fairnessModal .FairnessModal-loading.is-on{
  display:block;
}

#fairnessModal .FairnessModal-skeleton{
  height:12px;
  margin-bottom:12px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(147,152,225,.18), rgba(255,255,255,.04));
  background-size:220% 100%;
  animation:skeleton 1.1s linear infinite;
}

@keyframes skeleton{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}

#fairnessModal .FairnessModal-skeleton.big{width:48%; height:18px;}
#fairnessModal .FairnessModal-skeleton.med{width:84%;}
#fairnessModal .FairnessModal-skeleton.short{width:62%;}

#fairnessModal .FairnessModal-pop{
  animation:popIn .22s ease-out;
}

@keyframes popIn{
  from{transform:translateY(-2px) scale(.985); opacity:.78;}
  to{transform:translateY(0) scale(1); opacity:1;}
}

#fairnessModal .FairnessModal-resultTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

#fairnessModal .FairnessModal-status{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border-radius:18px;
  border:1px solid rgba(147,152,225,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 24%),
    linear-gradient(135deg, rgba(17,15,26,.96), rgba(15,13,24,.94));
  color:#f8f8ff;
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

#fairnessModal .FairnessModal-statusDot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.35);
  box-shadow:0 0 14px rgba(255,255,255,.14);
}

#fairnessModal .FairnessModal-resultBtns{
  display:flex;
  gap:8px;
}

#fairnessModal .FairnessModal-kv{
  display:grid;
  grid-template-columns:minmax(0, 120px) minmax(0, 1fr);
  gap:10px 14px;
}

#fairnessModal .FairnessModal-k{
  color:var(--fm-muted);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#fairnessModal .FairnessModal-v{
  color:#f3f4ff;
  word-break:break-word;
  font:700 .89rem/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}

#fairnessModal .FairnessModal-dicePanel{
  display:none;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(147,152,225,.16);
}

#fairnessModal .FairnessModal-dicePanel.is-on{
  display:block;
}

#fairnessModal .FairnessModal-diceGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

#fairnessModal .FairnessModal-diceCol{
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(147,152,225,.14);
  background:rgba(255,255,255,.03);
}

#fairnessModal .FairnessModal-diceLabel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
  color:#f5f6ff;
  font-size:.88rem;
  font-weight:800;
}

#fairnessModal .FairnessModal-diceLabel span:last-child{
  color:var(--fm-muted);
  font-size:.78rem;
}

#fairnessModal .FairnessModal-diceRow{
  display:flex;
  gap:10px;
}

#fairnessModal .FairnessModal-die{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  border:1px solid rgba(147,152,225,.2);
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), transparent 28%),
    linear-gradient(135deg, rgba(139,92,246,.2), rgba(15,13,24,.98));
  box-shadow:0 16px 30px rgba(0,0,0,.24);
  color:#f7f8ff;
  font:900 1.18rem/1 "Chakra Petch","Plus Jakarta Sans",sans-serif;
  position:relative;
  overflow:hidden;
}

#fairnessModal .FairnessModal-die::after{
  content:"";
  position:absolute;
  inset:-36%;
  background:radial-gradient(circle at 34% 28%, rgba(255,255,255,.18), transparent 56%);
}

#fairnessModal .FairnessModal-die.rolling{
  animation:dieRoll .22s linear infinite;
}

@keyframes dieRoll{
  0%{transform:translateY(0) rotate(0deg) scale(1);}
  40%{transform:translateY(-1px) rotate(7deg) scale(1.01);}
  80%{transform:translateY(1px) rotate(-7deg) scale(1.01);}
  100%{transform:translateY(0) rotate(0deg) scale(1);}
}

#fairnessModal .FairnessModal-diceSum{
  margin-top:12px;
  color:var(--fm-muted);
  font-size:.84rem;
  font-weight:800;
}

#fairnessModal .FairnessModal-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#fairnessModal .FairnessModal-btn{
  min-height:48px;
  border-radius:18px;
  border:1px solid rgba(147,152,225,.2);
  padding:12px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 24%),
    linear-gradient(180deg, rgba(17,15,26,.98), rgba(15,13,24,.98));
  color:var(--fm-text);
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#fairnessModal .FairnessModal-btnPrimary{
  border-color:rgba(165,44,216,.32);
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), transparent 26%),
    linear-gradient(135deg, rgba(139,92,246,.96), rgba(192,132,252,.92));
  color:#f9f5ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 14px 26px rgba(139,92,246,.24);
}

#fairnessModal .FairnessModal-rightBtns{
  display:flex;
  gap:10px;
  justify-content:flex-end;
}

#fairnessModal .FairnessModal-aside{
  display:grid;
  gap:16px;
}

#fairnessModal .FairnessModal-noteCard{
  padding:18px;
}

#fairnessModal .FairnessModal-noteCard h6{
  margin:0 0 10px;
  color:#f7f8ff;
  font:900 1rem/1.25 "Chakra Petch","Plus Jakarta Sans",sans-serif;
  letter-spacing:.04em;
}

#fairnessModal .FairnessModal-noteList{
  margin:0;
  padding-left:18px;
  color:var(--fm-muted);
  display:grid;
  gap:8px;
  line-height:1.55;
}

#fairnessModal .FairnessModal-noteText{
  margin:0;
  color:var(--fm-muted);
  line-height:1.6;
}

@media (max-width: 920px){
  #fairnessModal{
    padding:16px;
  }

  #fairnessModal .FairnessModal-layout{
    grid-template-columns:1fr;
  }

  #fairnessModal .FairnessModal-aside{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  #fairnessModal{
    padding:10px;
  }

  #fairnessModal .FairnessModal-dialog{
    max-height:calc(100vh - 20px);
  }

  #fairnessModal .FairnessModal-header,
  #fairnessModal .FairnessModal-layout{
    padding-left:14px;
    padding-right:14px;
  }

  #fairnessModal .FairnessModal-header{
    padding-top:16px;
    padding-bottom:14px;
  }

  #fairnessModal .FairnessModal-headerCopy{
    gap:12px;
  }

  #fairnessModal .FairnessModal-badge,
  #fairnessModal .FairnessModal-close,
  #fairnessModal .FairnessModal-miniBtn{
    width:42px;
    height:42px;
    border-radius:14px;
  }

  #fairnessModal .FairnessModal-inputRow{
    grid-template-columns:minmax(0, 1fr) auto auto;
  }

  #fairnessModal .FairnessModal-modeRow,
  #fairnessModal .FairnessModal-footer{
    flex-direction:column;
    align-items:stretch;
  }

  #fairnessModal .FairnessModal-modeBtns,
  #fairnessModal .FairnessModal-rightBtns{
    width:100%;
  }

  #fairnessModal .FairnessModal-modeBtn,
  #fairnessModal .FairnessModal-btn{
    flex:1 1 0;
  }

  #fairnessModal .FairnessModal-diceGrid,
  #fairnessModal .FairnessModal-aside{
    grid-template-columns:1fr;
  }

  #fairnessModal .FairnessModal-resultTop{
    flex-direction:column;
    align-items:stretch;
  }
}

/* ===== FAIRNESS EXAMPLE MODAL ===== */
#fairnessExampleModal{
  --fem-text:#d7d9fc;
  --fem-muted:rgba(238,232,255,.74);
  --fem-muted-2:rgba(192,132,252,.68);
  --fem-line:rgba(139,92,246,.18);
  --fem-line-strong:rgba(192,132,252,.34);
  position:fixed;
  inset:0;
  z-index:1300;
  display:grid;
  place-items:center;
  padding:20px;
  pointer-events:none;
  font-family:"Plus Jakarta Sans","Segoe UI",sans-serif;
}

#fairnessExampleModal[hidden]{
  display:none !important;
}

#fairnessExampleModal.is-open{
  pointer-events:auto;
}

#fairnessExampleModal .FairnessExampleModal-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 20%, rgba(139,92,246,.16), transparent 30%),
    radial-gradient(circle at 84% 10%, rgba(192,132,252,.14), transparent 26%),
    rgba(11,10,18,.84);
  backdrop-filter:blur(18px);
  opacity:0;
  transition:opacity .2s ease;
}

#fairnessExampleModal.is-open .FairnessExampleModal-backdrop{
  opacity:1;
}

#fairnessExampleModal .FairnessExampleModal-dialog{
  position:relative;
  width:min(1240px, 100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  opacity:0;
  transform:translateY(20px) scale(.986);
  transition:opacity .22s ease, transform .22s ease;
}

#fairnessExampleModal.is-open .FairnessExampleModal-dialog{
  opacity:1;
  transform:translateY(0) scale(1);
}

#fairnessExampleModal .FairnessExampleModal-shell{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid var(--fem-line);
  background:
    linear-gradient(135deg, rgba(255,255,255,.05), transparent 26%),
    linear-gradient(180deg, rgba(17,15,26,.98), rgba(15,13,24,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 36px 90px rgba(0,0,0,.48);
}

#fairnessExampleModal .FairnessExampleModal-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top left, rgba(139,92,246,.14), transparent 28%),
    radial-gradient(circle at bottom right, rgba(192,132,252,.12), transparent 24%),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size:auto, auto, 54px 54px, 54px 54px;
  opacity:.7;
}

#fairnessExampleModal .FairnessExampleModal-header,
#fairnessExampleModal .FairnessExampleModal-layout{
  position:relative;
  z-index:1;
}

#fairnessExampleModal .FairnessExampleModal-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 22px 16px;
}

#fairnessExampleModal .FairnessExampleModal-kicker,
#fairnessExampleModal .FairnessExampleModal-cardEyebrow{
  margin:0 0 8px;
  color:var(--fem-muted-2);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

#fairnessExampleModal .FairnessExampleModal-title{
  margin:0;
  color:#f8f8ff;
  font:900 clamp(1.35rem, 2vw, 1.95rem)/1.05 "Chakra Petch","Plus Jakarta Sans",sans-serif;
  letter-spacing:.04em;
}

#fairnessExampleModal .FairnessExampleModal-subtitle{
  margin:8px 0 0;
  max-width:60ch;
  color:var(--fem-muted);
  font-size:.92rem;
  line-height:1.55;
}

#fairnessExampleModal .FairnessExampleModal-close,
#fairnessExampleModal .FairnessExampleModal-tab,
#fairnessExampleModal .FairnessExampleModal-btn{
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

#fairnessExampleModal .FairnessExampleModal-close{
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(139,92,246,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 26%),
    linear-gradient(135deg, rgba(139,92,246,.16), rgba(17,15,26,.98));
  color:#f6f4ff;
  display:grid;
  place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 14px 24px rgba(0,0,0,.22);
}

#fairnessExampleModal .FairnessExampleModal-close:hover,
#fairnessExampleModal .FairnessExampleModal-tab:hover,
#fairnessExampleModal .FairnessExampleModal-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(192,132,252,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 18px 30px rgba(0,0,0,.28);
}

#fairnessExampleModal .FairnessExampleModal-layout{
  display:grid;
  grid-template-columns:minmax(280px, .82fr) minmax(0, 1.6fr);
  gap:18px;
  padding:0 22px 22px;
}

#fairnessExampleModal .FairnessExampleModal-side,
#fairnessExampleModal .FairnessExampleModal-main{
  min-width:0;
  display:grid;
  gap:16px;
}

#fairnessExampleModal .FairnessExampleModal-tabs,
#fairnessExampleModal .FairnessExampleModal-panel,
#fairnessExampleModal .FairnessExampleModal-card{
  border-radius:24px;
  border:1px solid var(--fem-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 22%),
    linear-gradient(180deg, rgba(17,15,26,.92), rgba(15,13,24,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 20px 36px rgba(0,0,0,.22);
}

#fairnessExampleModal .FairnessExampleModal-tabs{
  padding:12px;
  display:grid;
  gap:10px;
}

#fairnessExampleModal .FairnessExampleModal-tab{
  min-height:52px;
  border-radius:18px;
  border:1px solid rgba(139,92,246,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 24%),
    linear-gradient(135deg, rgba(139,92,246,.12), rgba(17,15,26,.95));
  color:var(--fem-text);
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#fairnessExampleModal .FairnessExampleModal-tab.is-active{
  border-color:var(--fem-line-strong);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 26%),
    linear-gradient(135deg, rgba(139,92,246,.3), rgba(17,15,26,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 20px 34px rgba(139,92,246,.22);
}

#fairnessExampleModal .FairnessExampleModal-card,
#fairnessExampleModal .FairnessExampleModal-panel{
  padding:18px;
}

#fairnessExampleModal .FairnessExampleModal-card h6,
#fairnessExampleModal .FairnessExampleModal-panel h6{
  margin:0 0 10px;
  color:#f7f8ff;
  font:900 1rem/1.24 "Chakra Petch","Plus Jakarta Sans",sans-serif;
  letter-spacing:.04em;
}

#fairnessExampleModal .FairnessExampleModal-steps{
  margin:0;
  padding-left:18px;
  color:var(--fem-muted);
  display:grid;
  gap:8px;
  line-height:1.58;
}

#fairnessExampleModal .FairnessExampleModal-copy{
  margin:0;
  color:var(--fem-muted);
  line-height:1.58;
}

#fairnessExampleModal .FairnessExampleModal-panelTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

#fairnessExampleModal .FairnessExampleModal-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

#fairnessExampleModal .FairnessExampleModal-btn{
  min-height:46px;
  border-radius:18px;
  border:1px solid rgba(139,92,246,.2);
  padding:11px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 24%),
    linear-gradient(180deg, rgba(17,15,26,.98), rgba(15,13,24,.98));
  color:var(--fem-text);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#fairnessExampleModal .FairnessExampleModal-btnPrimary{
  border-color:rgba(192,132,252,.32);
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), transparent 26%),
    linear-gradient(135deg, rgba(139,92,246,.96), rgba(192,132,252,.92));
  color:#f9f5ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 14px 26px rgba(139,92,246,.24);
}

#fairnessExampleModal .FairnessExampleModal-editor,
#fairnessExampleModal .FairnessExampleModal-output{
  width:100%;
  min-height:0;
  border-radius:20px;
  border:1px solid rgba(139,92,246,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 22%),
    linear-gradient(180deg, rgba(17,15,26,.98), rgba(15,13,24,.98));
  color:#f3f4ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  font:700 .84rem/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}

#fairnessExampleModal .FairnessExampleModal-editor{
  min-height:420px;
  padding:16px 18px;
  resize:vertical;
}

#fairnessExampleModal .FairnessExampleModal-editor:focus{
  outline:none;
  border-color:rgba(192,132,252,.36);
  box-shadow:0 0 0 4px rgba(139,92,246,.12);
}

#fairnessExampleModal .FairnessExampleModal-output{
  margin:0;
  min-height:220px;
  padding:16px 18px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
}

@media (max-width: 980px){
  #fairnessExampleModal .FairnessExampleModal-layout{
    grid-template-columns:1fr;
  }

  #fairnessExampleModal .FairnessExampleModal-tabs{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  #fairnessExampleModal{
    padding:10px;
  }

  #fairnessExampleModal .FairnessExampleModal-dialog{
    max-height:calc(100vh - 20px);
  }

  #fairnessExampleModal .FairnessExampleModal-header,
  #fairnessExampleModal .FairnessExampleModal-layout{
    padding-left:14px;
    padding-right:14px;
  }

  #fairnessExampleModal .FairnessExampleModal-header{
    padding-top:16px;
    padding-bottom:14px;
  }

  #fairnessExampleModal .FairnessExampleModal-panelTop{
    flex-direction:column;
    align-items:stretch;
  }

  #fairnessExampleModal .FairnessExampleModal-actions{
    justify-content:stretch;
  }

  #fairnessExampleModal .FairnessExampleModal-btn{
    width:100%;
  }

  #fairnessExampleModal .FairnessExampleModal-tabs{
    grid-template-columns:1fr;
  }

  #fairnessExampleModal .FairnessExampleModal-editor{
    min-height:360px;
  }
}


#viewcoinflip{
  --bg:#0b0a12;--surface:#110f1a;--surface-2:#0f0d18;--border:#2a2140;--accent:#8b5cf6;--accent-2:#c084fc;
  --red:#ff4d6d;--blue:#4ea1ff;
}

#viewcoinflip .ViewMatchModal-content{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);border-radius:22px;overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.65);
  max-height:calc(100vh - 24px);
}
#viewcoinflip .ViewMatchModal-body{padding:14px;overflow:auto}

#viewcoinflip .ViewMatchModal-close{
  position:absolute;top:10px;right:10px;z-index:5;
  width:38px;height:38px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.22);color:#fff;
  display:grid;place-items:center;transition:.18s;
}
#viewcoinflip .ViewMatchModal-close:hover{
  transform:translateY(-1px);
  box-shadow:0 0 18px rgba(139,92,246,.22);
  border-color:rgba(192,132,252,.35);
}

/* Top row */
#viewcoinflip .VM-top{
  display:grid;grid-template-columns:1fr 180px 1fr;gap:14px;align-items:center;
  padding:8px 6px 14px;border-bottom:1px solid rgba(255,255,255,.06);
}
#viewcoinflip .VM-top>*{min-width:0}
#viewcoinflip .VM-playerCard{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;padding:8px 4px;
}
#viewcoinflip .VM-playerCard.left{justify-self:end}
#viewcoinflip .VM-playerCard.right{justify-self:start}

#viewcoinflip .VM-avatarRing{
  width:118px;height:118px;border-radius:999px;position:relative;z-index:2;overflow:visible;
  border:3px solid rgba(192,132,252,.85);
  box-shadow:0 0 0 6px rgba(139,92,246,.12),0 0 22px rgba(139,92,246,.28);
  background:radial-gradient(circle at 30% 20%,rgba(192,132,252,.18),rgba(0,0,0,0) 60%);
}
#viewcoinflip .VM-avatar{width:100%;height:100%;border-radius:999px;display:block;object-fit:cover}
#viewcoinflip .VM-badge{
  position:absolute;bottom:-8px;width:44px;height:44px;border-radius:999px;z-index:5;overflow:hidden;
  background:rgba(0,0,0,.35);border:3px solid rgba(255,255,255,.14);
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  display:grid;place-items:center;
}
#viewcoinflip .VM-badge img{width:100%;height:100%;border-radius:999px;object-fit:cover}
#viewcoinflip .VM-badgeLeft{right:-10px;left:auto}
#viewcoinflip .VM-badgeRight{left:-10px;right:auto}

#viewcoinflip .VM-playerName{
  font-weight:950;font-size:1.05rem;line-height:1.1;text-align:center;max-width:220px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#viewcoinflip .VM-playerRank{font-size:.9rem;opacity:.75;text-align:center}

/* Center coin */
#viewcoinflip .VM-center{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  justify-self:center;align-self:center;text-align:center;
}
#viewcoinflip .VM-coinWrap{
  width:96px;height:96px;border-radius:999px;position:relative;overflow:hidden;
  border:2px solid rgba(192,132,252,.45);
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),transparent 55%),
    linear-gradient(180deg,rgba(139,92,246,.22),rgba(0,0,0,0));
  box-shadow:0 0 26px rgba(139,92,246,.22);
  display:grid;place-items:center;
}
#viewcoinflip .VM-coinImg{
  width:70px;height:70px;object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));
  transform:translateZ(0);
}

#viewcoinflip .VM-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
#viewcoinflip .VM-miniBtn{
  height:36px;padding:0 12px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);color:#fff;
  font-weight:750;display:inline-flex;align-items:center;gap:8px;
  transition:.18s;user-select:none;
}
#viewcoinflip .VM-miniBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 0 18px rgba(139,92,246,.22);
  border-color:rgba(192,132,252,.35);
}
#viewcoinflip .VM-miniBtnPrimary{
  background:linear-gradient(180deg,rgba(139,92,246,.28),rgba(0,0,0,.18));
  border-color:rgba(192,132,252,.32);
}

#viewcoinflip .VM-gameId{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:.86rem;opacity:.78;display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;
}
#viewcoinflip .VM-gameId code{
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.10);
  padding:3px 8px;border-radius:10px;color:#fff;
}

/* Inventories */
#viewcoinflip .VM-invGrid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
#viewcoinflip .VM-panel{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,0));
  border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-height:240px;
}
#viewcoinflip .VM-panelHead{
  padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
#viewcoinflip .VM-panelTitle{font-weight:950;display:flex;align-items:center;gap:8px;opacity:.92}
#viewcoinflip .VM-total{
  font-size:.85rem;opacity:.75;white-space:nowrap;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.10);
  padding:4px 10px;border-radius:999px;
}

#viewcoinflip .VM-items{
  padding:10px;display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:320px;
}
#viewcoinflip .VM-items::-webkit-scrollbar{width:10px}
#viewcoinflip .VM-items::-webkit-scrollbar-thumb{
  background:rgba(192,132,252,.22);border:2px solid rgba(0,0,0,.18);border-radius:999px;
}
#viewcoinflip .VM-items::-webkit-scrollbar-track{background:rgba(0,0,0,.10);border-radius:999px}

#viewcoinflip .VM-item{
  border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);
  border-radius:16px;padding:10px;display:flex;gap:10px;align-items:center;min-height:64px;
}
#viewcoinflip .VM-itemImgWrap{
  position:relative;
  width:46px;height:46px;
  border-radius:14px;
  flex:0 0 auto;
  overflow:hidden;
}
#viewcoinflip .VM-itemImg{
  width:100%;height:100%;border-radius:14px;flex:0 0 auto;object-fit:cover;
  border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);
}
#viewcoinflip .VM-itemImgWrap .rainbow,
#viewcoinflip .VM-itemImgWrap .shiny{
  z-index:2;
  border-radius:inherit;
  pointer-events:none;
}
#viewcoinflip .VM-itemName{
  font-weight:900;font-size:.95rem;line-height:1.15;max-width:220px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#viewcoinflip .VM-itemVal{
  margin-left:auto;font-weight:950;opacity:.9;white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.10);
  padding:4px 10px;border-radius:999px;
}

/* Winner + coin reveal */
#viewcoinflip .VM-avatar.winner{
  box-shadow:0 0 0 4px rgba(255,255,255,.15),0 0 22px rgba(139,92,246,.65),0 0 46px rgba(192,132,252,.45);
  transform:scale(1.03);transition:box-shadow .25s ease,transform .25s ease;
}
#viewcoinflip .coin-countdown{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:48px;font-weight:900;opacity:0;transform:scale(.6);pointer-events:none;
  text-shadow:0 6px 30px rgba(0,0,0,.6);
}
#viewcoinflip .coin-countdown.show{animation:countdownPop .6s ease-out forwards}
@keyframes countdownPop{0%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.15)}100%{opacity:0;transform:scale(1)}}
#viewcoinflip .coin{opacity:0;transform:scale(.85);transition:opacity .25s ease,transform .25s ease}
#viewcoinflip .coin.show{opacity:1;transform:scale(1)}

/* Coin centering hard-fix */
#viewcoinflip #coin,#viewcoinflip #coin .blue,#viewcoinflip #coin .red{display:grid;place-items:center}
#viewcoinflip #coin img{display:block;margin:0 auto}

/* Responsive */
@media (max-width:768px){
  #viewcoinflip .VM-avatarRing{width:104px;height:104px}
  #viewcoinflip .VM-badge{width:40px;height:40px}
}
@media (max-width:420px){
  #viewcoinflip .VM-avatarRing{width:96px;height:96px}
  #viewcoinflip .VM-badge{width:36px;height:36px;bottom:-6px}
}
@media (max-width:700px){
  #viewcoinflip .VM-items,#viewcoinflip .ViewMatchModal-body{scrollbar-width:none;-ms-overflow-style:none}
  #viewcoinflip .VM-items::-webkit-scrollbar,#viewcoinflip .ViewMatchModal-body::-webkit-scrollbar{display:none}
}
@media (max-width:490px){
  #viewcoinflip .VM-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;padding:6px 4px 10px}
  #viewcoinflip .VM-center{gap:8px}
  #viewcoinflip .ViewMatchModal-body{padding:10px}
  #viewcoinflip .ViewMatchModal-close{width:34px;height:34px;border-radius:12px}
  #viewcoinflip .VM-avatarRing{width:84px;height:84px;border-width:2px}
  #viewcoinflip .VM-badge{width:30px;height:30px;border-width:2px;bottom:-6px}
  #viewcoinflip .VM-badgeLeft{right:-6px} #viewcoinflip .VM-badgeRight{left:-6px}
  #viewcoinflip .VM-playerName{font-size:.84rem;max-width:140px}
  #viewcoinflip .VM-playerRank{font-size:.78rem}
  #viewcoinflip .VM-coinWrap{width:72px;height:72px}
  #viewcoinflip #coin img{width:56px;height:56px;object-fit:contain}
  #viewcoinflip .coin-countdown{font-size:36px}
  #viewcoinflip .VM-miniBtn{height:32px;padding:0 10px;border-radius:12px;font-weight:700;font-size:.82rem;gap:6px}
  #viewcoinflip .VM-gameId{font-size:.75rem;gap:6px}
  #viewcoinflip .VM-gameId code{padding:2px 6px;border-radius:9px}
  #viewcoinflip .VM-invGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  #viewcoinflip .VM-panel{min-height:200px;border-radius:16px}
  #viewcoinflip .VM-panelHead{padding:8px 10px}
  #viewcoinflip .VM-panelTitle{font-weight:900;font-size:.86rem;gap:6px}
  #viewcoinflip .VM-panelTitle i{font-size:.95rem;line-height:1}
  #viewcoinflip .VM-total{font-size:.78rem;padding:3px 8px}
  #viewcoinflip .VM-items{padding:8px;gap:8px;max-height:260px}
  #viewcoinflip .VM-item{padding:8px;border-radius:14px;min-height:56px}
  #viewcoinflip .VM-itemImgWrap{width:40px;height:40px;border-radius:12px}
  #viewcoinflip .VM-itemImg{width:100%;height:100%;border-radius:12px}
  #viewcoinflip .VM-itemName{font-size:.85rem;max-width:120px}
#viewcoinflip .VM-itemVal{font-size:.78rem;padding:3px 8px}
}
@media (max-width:360px){
#viewcoinflip .VM-invGrid{grid-template-columns:1fr}
}



@keyframes jackpotAmbientDriftA{
  0%,100%{ transform: translate3d(0,0,0) scale(1); opacity: .5; }
  50%{ transform: translate3d(22px,-14px,0) scale(1.08); opacity: .72; }
}

@keyframes jackpotAmbientDriftB{
  0%,100%{ transform: translate3d(0,0,0) scale(1); opacity: .48; }
  50%{ transform: translate3d(-20px,18px,0) scale(1.1); opacity: .68; }
}

@keyframes jackpotStatSweep{
  0%{ transform: translateX(-140%); opacity: 0; }
  14%{ opacity: .18; }
  42%{ transform: translateX(135%); opacity: .08; }
  100%{ transform: translateX(135%); opacity: 0; }
}

@keyframes jackpotWheelAura{
  0%,100%{ transform: scale(.98); opacity: .3; }
  50%{ transform: scale(1.04); opacity: .52; }
}

@keyframes jackpotPointerPulse{
  0%,100%{ filter: drop-shadow(0 2px 8px rgba(0,0,0,.45)); }
  50%{ filter: drop-shadow(0 2px 8px rgba(0,0,0,.45)) drop-shadow(0 0 10px rgba(255,255,255,.35)); }
}

@keyframes jackpotCenterBreathe{
  0%,100%{ box-shadow: inset 0 0 26px rgba(0,0,0,.33), 0 8px 20px rgba(0,0,0,.4); }
  50%{ box-shadow: inset 0 0 26px rgba(0,0,0,.33), 0 12px 28px rgba(0,0,0,.46), 0 0 22px rgba(129,140,248,.22); }
}

@keyframes jackpotRowIn{
  from{ opacity: 0; transform: translateY(10px) scale(.985); }
  to{ opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes jackpotMetricPop{
  0%{ transform: scale(1); text-shadow: none; }
  35%{ transform: scale(1.08); text-shadow: 0 0 16px rgba(192,132,252,.45); }
  100%{ transform: scale(1); text-shadow: none; }
}

@keyframes jackpotMetricSoft{
  0%{ transform: translateY(0); opacity: 1; }
  45%{ transform: translateY(-2px); opacity: 1; }
  100%{ transform: translateY(0); opacity: 1; }
}

@keyframes jackpotWinBurst{
  0%{ opacity: 0; transform: scale(.8) rotate(0deg); }
  22%{ opacity: .85; }
  100%{ opacity: 0; transform: scale(1.2) rotate(12deg); }
}


/* ===== LEADERBOARD MODAL ===== */
#leaderboardModal{
--surface:#110f1a;
--surface-2:#0f0d18;
--border:#2a2140;
--accent:#8b5cf6;
--accent-2:#c084fc;

--gold:#ffd166;
--silver:#cfd6e4;
--bronze:#f47c28;

--good:#22c55e;
}

#leaderboardModal .LeaderboardModal-content{
background:linear-gradient(180deg,var(--surface),var(--surface-2));
border:1px solid var(--border);
border-radius:20px;
overflow:hidden;
box-shadow:0 20px 60px rgba(0,0,0,.55);

opacity:0;
transform: translateY(-10px) scale(.985);
transition: opacity .22s ease, transform .28s ease;
}
#leaderboardModal .LeaderboardModal-content.is-open{
opacity:1;
transform: translateY(0) scale(1);
}

#leaderboardModal .LeaderboardModal-header{
padding:18px 18px 10px;
border:0;
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
}
#leaderboardModal .LeaderboardModal-badge{
width:38px;height:38px;border-radius:12px;
display:grid;place-items:center;
background:linear-gradient(180deg,rgba(139,92,246,.25),rgba(15,13,24,.6));
border:1px solid rgba(192,132,252,.25);
color:#fff;
flex:0 0 auto;
}
#leaderboardModal .LeaderboardModal-subtitle{
font-size:.85rem;
color:rgba(255,255,255,.65);
margin-top:2px;
}

/* Tabs */
#leaderboardModal .LeaderboardModal-tabs{
position:relative;
display:flex;
gap:8px;
padding:10px 14px 14px;
border-top:1px solid rgba(255,255,255,.03);
border-bottom:1px solid rgba(255,255,255,.05);
background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
}
#leaderboardModal .LeaderboardModal-tab{
border:1px solid rgba(192,132,252,.18);
background:linear-gradient(180deg,rgba(139,92,246,.14),rgba(15,13,24,.8));
color:#fff;
border-radius:12px;
padding:10px 12px;
font-weight:900;
font-size:.92rem;
display:flex;
align-items:center;
gap:8px;
cursor:pointer;
transition:.18s;
user-select:none;
}
#leaderboardModal .LeaderboardModal-tab:hover{
transform:translateY(-1px);
box-shadow:0 0 18px rgba(139,92,246,.25);
}
#leaderboardModal .LeaderboardModal-tab.is-active{
border-color:rgba(192,132,252,.35);
background:linear-gradient(180deg,rgba(192,132,252,.22),rgba(15,13,24,.85));
box-shadow:0 0 22px rgba(192,132,252,.22);
}
#leaderboardModal .LeaderboardModal-tabGlow{
position:absolute;
inset:auto 14px 0 14px;
height:2px;
background:linear-gradient(90deg,transparent,var(--accent-2),transparent);
opacity:.35;
}

#leaderboardModal .LeaderboardModal-body{ padding:14px; color:#fff; }

/* “Your rank” chip row */
#leaderboardModal .LB-youRow{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding:10px 12px;
border-radius:16px;
border:1px solid rgba(255,255,255,.06);
background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
margin-bottom:12px;
overflow:hidden;
position:relative;
}
#leaderboardModal .LB-youRow::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,transparent,rgba(192,132,252,.22),transparent);
opacity:.0;
transform:translateX(-40%);
}
#leaderboardModal .LB-youRow.is-me::before{
opacity:.55;
animation: LBshine .9s ease-out forwards;
}
@keyframes LBshine{
0%{ transform:translateX(-40%); opacity:.0; }
35%{ opacity:.65; }
100%{ transform:translateX(40%); opacity:.12; }
}

#leaderboardModal .LB-youLeft{
display:flex; align-items:center; gap:10px; min-width:0;
}
#leaderboardModal .LB-avatar{
width:38px;height:38px;border-radius:999px; object-fit:cover;
border:1px solid rgba(255,255,255,.12);
background:rgba(255,255,255,.03);
flex:0 0 auto;
}
#leaderboardModal .LB-youName{
font-weight:950;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
max-width:260px;
}
#leaderboardModal .LB-youMeta{
font-size:.85rem;
color:rgba(255,255,255,.65);
margin-top:2px;
}
#leaderboardModal .LB-youRight{
display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;
}
#leaderboardModal .LB-chip{
display:inline-flex; align-items:center; gap:8px;
padding:7px 10px;
border-radius:999px;
border:1px solid rgba(255,255,255,.10);
background:linear-gradient(180deg,rgba(139,92,246,.10),rgba(15,13,24,.85));
font-weight:900;
font-size:.85rem;
white-space:nowrap;
}
#leaderboardModal .LB-chip b{ color:#fff; }
#leaderboardModal .LB-chipSmall{
padding:6px 9px;
font-size:.82rem;
opacity:.9;
}
#leaderboardModal .LB-chipProfit{ border-color: rgba(34,197,94,.22); }
#leaderboardModal .LB-chipProfit i{ color: var(--good); }

#leaderboardModal .LB-podium{
display:grid;
grid-template-columns: minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);
gap:12px;
align-items:end;
margin-bottom:12px;
}

#leaderboardModal .LB-pCard{
position:relative;
min-width:0;
border-radius:18px;
border:1px solid rgba(255,255,255,.08);
background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,0));
overflow:hidden;
padding:12px 12px 10px;
text-align:center;
transform: translateY(10px) scale(.985);
opacity:0;
}
#leaderboardModal .LeaderboardModal-content.is-open .LB-pCard{
animation: LBpop .38s ease-out forwards;
animation-delay: var(--d, 0ms);
}
@keyframes LBpop{
to{ transform: translateY(0) scale(1); opacity:1; }
}

#leaderboardModal .LB-rankTag{
position:absolute;
top:12px;
left:12%;
transform:translateX(-50%);
z-index:10;
pointer-events:none;

font-weight:950;
opacity:.75;
padding:6px 10px;
border-radius:999px;
border:1px solid rgba(255,255,255,.10);
background:rgba(0,0,0,.18);
font-size:.85rem;
white-space:nowrap;
}

#leaderboardModal .LB-medal{
position:absolute;
top:12px;
right:12px;

left:auto !important;
bottom:auto !important;
transform:none !important;

z-index:10;
pointer-events:none;

width:36px;height:36px;border-radius:12px;
display:grid;place-items:center;
border:1px solid rgba(255,255,255,.12);
background:rgba(0,0,0,.18);
box-shadow:0 10px 24px rgba(0,0,0,.35);
}

#leaderboardModal .LB-pAvatar{
width:76px;height:76px;border-radius:999px; object-fit:cover;
border:3px solid rgba(255,255,255,.16);
margin:8px auto 8px;
display:block;
background:rgba(255,255,255,.03);
position:relative;
z-index:2;
}
#leaderboardModal .LB-pName{
font-weight:950;
white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
max-width:100%;
position:relative;
z-index:2;
}

#leaderboardModal .LB-stats{
margin-top:8px;
display:flex; flex-wrap:wrap; justify-content:center;
gap:8px;
position:relative;
z-index:2;
}
#leaderboardModal .LB-pill{
display:inline-flex; align-items:center; gap:8px;
padding:5px 10px;
border-radius:999px;
border:1px solid rgba(255,255,255,.08);
background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
font-weight:950;
font-size:.84rem;
white-space:nowrap;
}
#leaderboardModal .LB-pill i{ opacity:.9; }
#leaderboardModal .LB-pillProfit{ border-color: rgba(34,197,94,.18); }
#leaderboardModal .LB-pillProfit i{ color: var(--good); }

/* #1 pulsing glow */
#leaderboardModal .LB-first{
transform: translateY(-8px);
}
#leaderboardModal .LB-first::before{
content:"";
position:absolute;
inset:-18px;
border-radius:24px;
background: radial-gradient(circle at 50% 35%,
  rgba(192,132,252,.35),
  rgba(139,92,246,.18) 45%,
  transparent 70%
);
filter: blur(10px);
opacity: .65;
z-index:0;
animation: firstPulse 1.35s ease-in-out infinite;
pointer-events:none;
}
#leaderboardModal .LB-first::after{
content:"";
position:absolute;
inset:0;
border-radius:18px;
background: linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0));
z-index:1;
pointer-events:none;
}
@keyframes firstPulse{
0%   { transform: scale(.98); opacity:.55; }
50%  { transform: scale(1.03); opacity:.90; }
100% { transform: scale(.98); opacity:.55; }
}

#leaderboardModal .LB-pCard > :not(.LB-rankTag):not(.LB-medal){
position:relative;
z-index:2;
}

#leaderboardModal .LB-silver::before{
content:"";
position:absolute;
inset:0;
z-index:1;
background:linear-gradient(90deg,transparent,rgba(207,214,228,.22),transparent);
transform: translateX(-55%);
opacity:0;
pointer-events:none;
}
#leaderboardModal .LeaderboardModal-content.is-open .LB-silver::before{
opacity:.35;
animation: sheen 1.2s ease-out .55s forwards;
}

#leaderboardModal .LB-bronze::before{
content:"";
position:absolute;
inset:0;
z-index:1;
background:linear-gradient(90deg,transparent,rgba(244,124,40,.22),transparent);
transform: translateX(-55%);
opacity:0;
pointer-events:none;
}
#leaderboardModal .LeaderboardModal-content.is-open .LB-bronze::before{
opacity:.28;
animation: sheen 1.2s ease-out .65s forwards;
}

@keyframes sheen{
to{ transform: translateX(55%); opacity:.12; }
}

#leaderboardModal .LB-list{
max-height:320px;
overflow:auto;
padding:6px 2px 2px;
}
#leaderboardModal .LB-list::-webkit-scrollbar{ width:10px; }
#leaderboardModal .LB-list::-webkit-scrollbar-track{
background:rgba(255,255,255,.03);
border-radius:999px;
}
#leaderboardModal .LB-list::-webkit-scrollbar-thumb{
background:rgba(192,132,252,.28);
border-radius:999px;
}

#leaderboardModal .LB-row{
display:flex;
align-items:center;
gap:10px;
padding:10px 10px;
border-radius:16px;
border:1px solid rgba(255,255,255,.05);
background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
margin-bottom:10px;

opacity:0;
transform: translateY(8px);
min-width:0;
}
#leaderboardModal .LeaderboardModal-content.is-open .LB-row{
animation: rowIn .32s ease-out forwards;
animation-delay: var(--d, 0ms);
}
@keyframes rowIn{
to{ opacity:1; transform: translateY(0); }
}

#leaderboardModal .LB-row:hover{
box-shadow:0 0 18px rgba(139,92,246,.18);
border-color: rgba(192,132,252,.20);
}

#leaderboardModal .LB-rank{
width:38px;
text-align:center;
font-weight:950;
color:rgba(255,255,255,.65);
flex:0 0 auto;
}

#leaderboardModal .LB-nameWrap{ min-width:0; flex:1 1 auto; }
#leaderboardModal .LB-name{
font-weight:950;
white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
#leaderboardModal .LB-sub{
font-size:.82rem;
color:rgba(255,255,255,.6);
margin-top:2px;
}

#leaderboardModal .LB-right{
display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;
min-width:0;
}

#leaderboardModal .LB-row.is-me{
border-color: rgba(192,132,252,.35);
background:linear-gradient(180deg,rgba(192,132,252,.12),rgba(15,13,24,.55));
box-shadow:0 0 22px rgba(192,132,252,.18);
}
#leaderboardModal .LB-youTag{
padding:1px 9px;
border-radius:999px;
border:1px solid rgba(192,132,252,.30);
background:rgba(192,132,252,.12);
font-weight:950;
font-size:.78rem;
letter-spacing:.3px;
}

@media (max-width: 576px){
#leaderboardModal .LeaderboardModal-header{ padding:14px 14px 8px; }
#leaderboardModal .LeaderboardModal-tabs{ padding:10px 12px 12px; gap:6px; }
#leaderboardModal .LeaderboardModal-tab{ padding:9px 10px; font-size:.88rem; border-radius:12px; }
#leaderboardModal .LeaderboardModal-body{ padding:12px; }

#leaderboardModal .LB-podium{ gap:8px; }

#leaderboardModal .LB-pCard{ padding:10px 8px 9px; border-radius:16px; }
#leaderboardModal .LB-pAvatar{ width:58px; height:58px; margin:6px auto 6px; border-width:2px; }

#leaderboardModal .LB-pName{
  font-size: clamp(.82rem, 3.2vw, .98rem);
  line-height:1.15;
}

#leaderboardModal .LB-rankTag{
  top:10px;
  left:50%;
  padding:5px 8px;
  font-size:.78rem;
  opacity:.78;
}
#leaderboardModal .LB-medal{
  top:10px; right:10px;
  width:32px; height:32px; border-radius:11px;
}
#leaderboardModal .LB-medal i{ font-size:1rem; }

#leaderboardModal .LB-stats{ gap:6px; margin-top:6px; }
#leaderboardModal .LB-pill{ padding:4px 8px; font-size:.78rem; gap:6px; }

#leaderboardModal .LB-youName{ max-width:170px; }
#leaderboardModal .LB-chip{ padding:6px 9px; font-size:.82rem; }
#leaderboardModal .LB-chipSmall{ padding:5px 8px; font-size:.78rem; }

#leaderboardModal .LB-row{ gap:8px; padding:9px 9px; }
#leaderboardModal .LB-rank{ width:34px; }
#leaderboardModal .LB-right{ gap:6px; }
}

@media (max-width: 380px){
#leaderboardModal .LB-podium{ gap:6px; }
#leaderboardModal .LB-pCard{ padding:9px 7px 8px; }
#leaderboardModal .LB-pAvatar{ width:54px; height:54px; }
#leaderboardModal .LB-pill{ font-size:.76rem; padding:4px 7px; }
#leaderboardModal .LB-youName{ max-width:145px; }
}


/* ===== AFFILIATE MODAL ===== */
#affiliateModal{
  --surface:#110f1a;
  --surface-2:#0f0d18;
  --border:#2a2140;
  --accent:#8b5cf6;
  --accent-2:#c084fc;

  --good:#22c55e;
  --muted:rgba(255,255,255,.65);
  color-scheme: dark;
}

/* small utility */
#affiliateModal .min-w-0{ min-width:0; }
#affiliateModal .gap-10{ gap:10px; }

#affiliateModal .AffiliateModal-content{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.55);

  opacity:0;
  transform: translateY(-10px) scale(.985);
  transition: opacity .22s ease, transform .28s ease;
}
#affiliateModal .AffiliateModal-content.is-open{
  opacity:1;
  transform: translateY(0) scale(1);
}

/* header */
#affiliateModal .AffiliateModal-header{
  padding:18px 18px 10px;
  border:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
#affiliateModal .AffiliateModal-badge{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(180deg,rgba(139,92,246,.25),rgba(15,13,24,.6));
  border:1px solid rgba(192,132,252,.25);
  color:#fff;
  flex:0 0 auto;
}
#affiliateModal .AffiliateModal-subtitle{
  font-size:.85rem;
  color:var(--muted);
  margin-top:2px;
}
#affiliateModal .AffiliateModal-body{ padding:14px 18px 16px; }

@keyframes AffIn{ to{ opacity:1; transform: translateY(0); } }
@keyframes rowIn{ to{ opacity:1; transform: translateY(0); } }

/* hero card */
#affiliateModal .Aff-hero{
  position:relative;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 15% 20%, rgba(192,132,252,.20), transparent 55%),
    radial-gradient(circle at 85% 0%, rgba(139,92,246,.18), transparent 52%),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  overflow:hidden;
  padding:14px;
  margin-bottom:12px;

  opacity:0;
  transform: translateY(10px);
}
#affiliateModal .AffiliateModal-content.is-open .Aff-hero{
  animation: AffIn .38s ease-out forwards;
  animation-delay: 40ms;
}
#affiliateModal .Aff-hero::after{
  content:"";
  position:absolute;
  inset:-40px;
  background: radial-gradient(circle at 50% 35%,
    rgba(192,132,252,.22),
    rgba(139,92,246,.12) 45%,
    transparent 70%
  );
  filter: blur(10px);
  opacity:.65;
  pointer-events:none;
}
#affiliateModal .Aff-hero > *{ position:relative; z-index:2; }

#affiliateModal .Aff-heroTitle{
  font-weight:950;
  font-size:1.05rem;
  margin:0;
}
#affiliateModal .Aff-heroMeta{
  color:var(--muted);
  font-size:.86rem;
  margin-top:4px;
}

/* link row */
#affiliateModal .Aff-linkRow{
  margin-top:12px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
#affiliateModal .Aff-linkInput{
  flex:1 1 340px;
  border-radius:14px;
  border:1px solid rgba(192,132,252,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(15,13,24,.75));
  color:#fff;
  padding:12px 12px;
  box-shadow:none;
}
#affiliateModal .Aff-linkInput::placeholder{ color:rgba(255,255,255,.45); }
#affiliateModal .Aff-linkInput:focus{
  outline:none;
  border-color:rgba(192,132,252,.45);
  box-shadow:0 0 0 3px rgba(192,132,252,.12);
}
#affiliateModal .Aff-miniBtn{
  height:46px;
  width:46px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(139,92,246,.14),rgba(15,13,24,.85));
  color:#fff;
  font-weight:900;
  transition:.18s;
  display:grid;
  place-items:center;
}
#affiliateModal .Aff-miniBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 0 18px rgba(139,92,246,.22);
}
#affiliateModal .Aff-primaryBtn{
  height:46px;
  border-radius:14px;
  padding:0 14px;
  font-weight:950;
  border:1px solid rgba(192,132,252,.35);
  background:linear-gradient(180deg,rgba(192,132,252,.22),rgba(15,13,24,.85));
  color:#fff;
  transition:.18s;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
#affiliateModal .Aff-primaryBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 0 22px rgba(192,132,252,.22);
}

/* ===== STATS GRID ===== */
#affiliateModal .Aff-stats{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-bottom:12px;
}
#affiliateModal .Aff-stat{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  padding:12px 12px 11px;
  min-width:0;

  opacity:0;
  transform: translateY(10px);
}
#affiliateModal .AffiliateModal-content.is-open .Aff-stat{
  animation: AffIn .38s ease-out forwards;
  animation-delay: var(--d, 0ms);
}
#affiliateModal .Aff-statTop{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:6px;
  flex-wrap:wrap;
}
#affiliateModal .Aff-statIcon{
  width:36px;height:36px;border-radius:12px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
}
#affiliateModal .Aff-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(139,92,246,.12),rgba(15,13,24,.85));
  font-weight:950;
  font-size:.85rem;
  white-space:nowrap;
  flex:0 0 auto;
}
#affiliateModal .Aff-statTop .Aff-chip{
  margin-left:auto;
}

#affiliateModal .Aff-statVal{
  font-weight:950;
  font-size:1.25rem;
  line-height:1.1;
  margin:0;
}
#affiliateModal .Aff-statLbl{
  color:var(--muted);
  font-size:.86rem;
  margin:0;
}

/* withdraw card */
#affiliateModal .Aff-withdraw{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  padding:12px;
  margin-bottom:12px;

  opacity:0;
  transform: translateY(10px);
}
#affiliateModal .AffiliateModal-content.is-open .Aff-withdraw{
  animation: AffIn .38s ease-out forwards;
  animation-delay: 220ms;
}
#affiliateModal .Aff-withdrawRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
#affiliateModal .Aff-withdrawLeft{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
#affiliateModal .Aff-withdrawTitle{ font-weight:950; margin:0; }
#affiliateModal .Aff-withdrawSub{
  margin-top:2px;
  color:var(--muted);
  font-size:.86rem;
}
#affiliateModal .Aff-amountPill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(34,197,94,.18);
  background:linear-gradient(180deg,rgba(34,197,94,.10),rgba(15,13,24,.85));
  font-weight:950;
  white-space:nowrap;
}
#affiliateModal .Aff-amountPill i{ color: var(--good); }

/* list wrapper */
#affiliateModal .Aff-listWrap{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  overflow:hidden;

  opacity:0;
  transform: translateY(10px);
}
#affiliateModal .AffiliateModal-content.is-open .Aff-listWrap{
  animation: AffIn .38s ease-out forwards;
  animation-delay: 280ms;
}

#affiliateModal .Aff-listHeader{
  padding:12px;
  border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
#affiliateModal .Aff-listTitle{ font-weight:950; margin:0; }
#affiliateModal .Aff-listTools{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

/* search */
#affiliateModal .Aff-search{
  width:220px;
  border-radius:999px;
  border:1px solid rgba(192,132,252,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(15,13,24,.75));
  color:#fff;
  padding:9px 12px;
  font-weight:800;
  font-size:.88rem;
}
#affiliateModal .Aff-search::placeholder{ color:rgba(255,255,255,.45); }
#affiliateModal .Aff-search:focus{
  outline:none;
  border-color:rgba(192,132,252,.45);
  box-shadow:0 0 0 3px rgba(192,132,252,.12);
}

/* ===== SORT SELECT ===== */
#affiliateModal .Aff-select{
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(139,92,246,.12),rgba(15,13,24,.85));
  color:#fff;
  padding:9px 40px 9px 12px;
  font-weight:900;
  font-size:.88rem;

  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;

  background-image:
    linear-gradient(180deg,rgba(139,92,246,.12),rgba(15,13,24,.85)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='white' fill-opacity='.85' d='M5.6 7.6a1 1 0 0 1 1.4 0L10 10.6l3-3a1 1 0 1 1 1.4 1.4l-3.7 3.7a1 1 0 0 1-1.4 0L5.6 9a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position: right 12px center, right 12px center;
  background-size: auto, 18px 18px;
}
#affiliateModal .Aff-select:focus{
  outline:none;
  border-color:rgba(192,132,252,.45);
  box-shadow:0 0 0 3px rgba(192,132,252,.12);
}
/* option popup styling */
#affiliateModal .Aff-select option{
  background: var(--surface);
  color:#fff;
}

/* list */
#affiliateModal .Aff-list{
  max-height:320px;
  overflow:auto;
  padding:10px 10px 2px;
}
#affiliateModal .Aff-list::-webkit-scrollbar{ width:10px; }
#affiliateModal .Aff-list::-webkit-scrollbar-track{
  background:rgba(255,255,255,.03);
  border-radius:999px;
}
#affiliateModal .Aff-list::-webkit-scrollbar-thumb{
  background:rgba(192,132,252,.28);
  border-radius:999px;
}

/* rows */
#affiliateModal .Aff-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 10px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.05);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
  margin-bottom:10px;

  opacity:0;
  transform: translateY(8px);
  min-width:0;
}
#affiliateModal .AffiliateModal-content.is-open .Aff-row{
  animation: rowIn .32s ease-out forwards;
  animation-delay: var(--d, 0ms);
}
#affiliateModal .Aff-row:hover{
  box-shadow:0 0 18px rgba(139,92,246,.18);
  border-color: rgba(192,132,252,.20);
}
#affiliateModal .Aff-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1 1 auto;
}
#affiliateModal .Aff-avatar{
  width:40px;height:40px;border-radius:999px; object-fit:cover;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  flex:0 0 auto;
}
#affiliateModal .Aff-nameWrap{ min-width:0; }
#affiliateModal .Aff-name{
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:320px;
}
#affiliateModal .Aff-sub{
  font-size:.82rem;
  color:rgba(255,255,255,.62);
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#affiliateModal .Aff-right{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:0 0 auto;
}
#affiliateModal .Aff-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(139,92,246,.10),rgba(15,13,24,.85));
  font-weight:950;
  font-size:.84rem;
  white-space:nowrap;
}
#affiliateModal .Aff-pillEarn{ border-color: rgba(34,197,94,.18); }
#affiliateModal .Aff-pillEarn i{ color: var(--good); }

#affiliateModal .Aff-empty{
  padding:16px 12px 18px;
  color:rgba(255,255,255,.65);
  text-align:center;
}

/* footer */
#affiliateModal .AffiliateModal-footer{
  padding:12px 18px 16px;
  border:0;
  display:flex;
  justify-content:space-between;
  gap:10px;
}
#affiliateModal .Aff-btn{
  border-radius:14px;
  padding:11px 14px;
  font-weight:950;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(139,92,246,.14),rgba(15,13,24,.85));
  color:#fff;
  transition:.18s;
}
#affiliateModal .Aff-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 0 22px rgba(139,92,246,.22);
}
#affiliateModal .Aff-btnPrimary{
  border-color:rgba(192,132,252,.35);
  background:linear-gradient(180deg,rgba(192,132,252,.22),rgba(15,13,24,.85));
}
#affiliateModal .Aff-btnPrimary:disabled{
  opacity:.55;
  transform:none !important;
  box-shadow:none !important;
  cursor:not-allowed;
}

/* phone tuning */
@media (max-width: 576px){
  #affiliateModal .modal-dialog{ margin:12px; }
  #affiliateModal .AffiliateModal-header{ padding:14px 14px 8px; }
  #affiliateModal .AffiliateModal-body{ padding:12px 14px 14px; }
  #affiliateModal .AffiliateModal-footer{ flex-direction:column; }
  #affiliateModal .Aff-btn{ width:100%; }
  #affiliateModal .Aff-stats{ grid-template-columns: 1fr; }
  #affiliateModal .Aff-search{ width:100%; }
  #affiliateModal .Aff-linkInput{ flex:1 1 100%; }
}


/* =========================
   Bottombar
   ========================= */
.cfbb{
  --cfbb-p1:#8b5cf6;
  --cfbb-p2:#c084fc;
  --cfbb-shadow: 0 18px 45px rgba(0,0,0,.55);
  --cfbb-shadowSoft: 0 10px 25px rgba(0,0,0,.35);
  --cfbb-bar-height: 84px;
}


.cfbb .cfbb-wrap,
.cfbb .cfbb-scrim,
.cfbb .cfbb-panel{ display:none; }

@media (max-width:1199px){
  :root{
    --cfbb-gap: 12px;
    --cfbb-bar-h: 54px;
    --cfbb-bar-pad: 4px;
    --cfbb-item-pad-y: 5px;
    --cfbb-item-pad-x: 8px;
    --cfbb-ico: 32px;

    --cfbb-reserve: calc(var(--cfbb-gap) + env(safe-area-inset-bottom) + var(--cfbb-bar-h));
  }

  body{
    padding-bottom: var(--cfbb-reserve);
    scroll-padding-bottom: var(--cfbb-reserve);
  }

  body.modal-open{
    padding-bottom: 0;
    scroll-padding-bottom: 0;
  }

  body.modal-open .cfbb .cfbb-wrap,
  body.modal-open .cfbb .cfbb-scrim,
  body.modal-open .cfbb .cfbb-panel{
    display: none;
  }

  .cfbb .cfbb-scrim{
    display:block;
    position:fixed;
    inset:0;
    background: rgba(0,0,0,.38);
    opacity:0;
    pointer-events:none;
    transition: opacity .18s ease;
    z-index: 1000;
  }

  .cfbb .cfbb-scrim.is-active{
    opacity:1;
    pointer-events:auto;
  }

  .cfbb .cfbb-wrap{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom: calc(var(--cfbb-gap) + env(safe-area-inset-bottom));
    z-index: 1100;
    padding-left: calc(var(--cfbb-gap) + env(safe-area-inset-left));
    padding-right: calc(var(--cfbb-gap) + env(safe-area-inset-right));
  }

  .cfbb .cfbb-bar{
    height: var(--cfbb-bar-h);
    display:flex;
    align-items:center;
    gap: 8px;
    padding: var(--cfbb-bar-pad);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(18,15,29,.88), rgba(11,10,18,.82));
    border: 1px solid rgba(139,92,246,.28);
    box-shadow: var(--cfbb-shadow);
    backdrop-filter: blur(10px) saturate(1.15);
    -webkit-backdrop-filter: blur(10px) saturate(1.15);
    position: relative;
    overflow:hidden;
  }

  .cfbb .cfbb-bar::before{
    content:"";
    position:absolute;
    inset:-2px;
    background:
      radial-gradient(600px 220px at 18% 20%, rgba(139,92,246,.20), transparent 58%),
      radial-gradient(520px 220px at 82% 0%, rgba(192,132,252,.16), transparent 60%);
    opacity: .95;
    pointer-events:none;
  }

  .cfbb .cfbb-item{
    flex: 1 1 0;
    border: 0;
    background: transparent;
    color: #eee8ff;
    border-radius: 16px;
    padding: var(--cfbb-item-pad-y) var(--cfbb-item-pad-x);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    position: relative;
    transition: transform .16s ease, filter .16s ease, background .16s ease;
    outline:none;
  }
  .cfbb .cfbb-item > *{ position:relative; z-index:1; }

  .cfbb .cfbb-ico{
    width: var(--cfbb-ico);
    height: var(--cfbb-ico);
    border-radius: 12px;
    display:grid;
    place-items:center;
    background: linear-gradient(135deg, rgba(139,92,246,.18), rgba(17,15,26,.92));
    border: 1px solid rgba(139,92,246,.35);
    box-shadow: 0 10px 22px rgba(139,92,246,.10);
  }
  .cfbb .cfbb-ico i{ font-size: 16px; }

  .cfbb .cfbb-label{
    display:flex;
    flex-direction:column;
    line-height:1.05;
    text-align:left;
  }
  .cfbb .cfbb-label b{
    font-size: 12px;
    letter-spacing:.2px;
    font-weight: 950;
  }
  .cfbb .cfbb-label small{
    font-size: 10px;
    opacity:.78;
    font-weight: 800;
    letter-spacing:.2px;
    margin-top: 1px;
  }

  .cfbb .cfbb-item:hover{
    transform: none;
    filter: brightness(1.06);
  }
  .cfbb .cfbb-item:active{ transform: scale(.99); }

  .cfbb .cfbb-item.is-active{
    background: linear-gradient(135deg, rgba(139,92,246,.16), rgba(192,132,252,.08));
  }
  .cfbb .cfbb-item.is-active .cfbb-ico{
    border-color: rgba(192,132,252,.55);
    box-shadow: 0 12px 26px rgba(192,132,252,.14);
  }
  .cfbb .cfbb-item.is-active::after{
    content:"";
    position:absolute;
    left: 12px;
    right: 12px;
    bottom: 2px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(139,92,246,.0),
      rgba(139,92,246,.9),
      rgba(192,132,252,.9),
      rgba(192,132,252,.0)
    );
    opacity:.95;
  }

  .cfbb .cfbb-panel{
    display:block;
    position: fixed;
    left: calc(var(--cfbb-gap) + env(safe-area-inset-left));
    right: calc(var(--cfbb-gap) + env(safe-area-inset-right));
    background: linear-gradient(180deg, rgba(18,15,29,.95), rgba(11,10,18,.92));
    border: 1px solid rgba(139,92,246,.35);
    border-radius: 18px;
    box-shadow: var(--cfbb-shadowSoft);
    backdrop-filter: blur(10px) saturate(1.15);
    -webkit-backdrop-filter: blur(10px) saturate(1.15);
    padding: 10px;
    z-index: 1200;

    opacity: 0;
    transform: translateY(10px) scale(.985);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
  }

  .cfbb .cfbb-panel.is-active{
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  .cfbb .cfbb-panel::after{
    content:"";
    position:absolute;
    width: 14px;
    height: 14px;
    background: linear-gradient(180deg, rgba(18,15,29,.95), rgba(11,10,18,.92));
    border-right: 1px solid rgba(139,92,246,.28);
    border-bottom: 1px solid rgba(139,92,246,.28);
    transform: rotate(45deg);
    bottom: -8px;
    left: calc(var(--cfbb-arrow-x, 50%) - 7px);
  }

  .cfbb .cfbb-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    padding: 8px 8px 10px;
  }
  .cfbb .cfbb-title{
    font-weight: 950;
    letter-spacing:.2px;
    font-size: 13px;
    opacity: .95;
  }
  .cfbb .cfbb-hint{
    font-weight: 850;
    font-size: 11px;
    opacity: .70;
  }

  .cfbb .cfbb-grid{ display:grid; gap: 8px; }

  .cfbb .cfbb-action{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    padding: 10px 10px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(139,92,246,.16), rgba(17,15,26,.92));
    border: 1px solid rgba(139,92,246,.28);
    color:#eee8ff;
    font-weight: 900;
    letter-spacing:.2px;
    cursor:pointer;
    transition: transform .16s ease, filter .16s ease, border-color .16s ease;
  }
  .cfbb .cfbb-action:hover{
    transform: translateY(-1px);
    filter: brightness(1.06);
    border-color: rgba(192,132,252,.45);
  }
  .cfbb .cfbb-action:active{ transform: translateY(0) scale(.99); }

  .cfbb .cfbb-left{ display:flex; align-items:center; gap: 10px; }
  .cfbb .cfbb-pill{
    width: 34px; height: 34px;
    border-radius: 12px;
    display:grid;
    place-items:center;
    background: rgba(139,92,246,.18);
    border: 1px solid rgba(139,92,246,.28);
  }
  .cfbb .cfbb-pill i{ font-size: 15px; }
  .cfbb .cfbb-right{ opacity:.65; font-size: 12px; font-weight: 900; }
}

/* ViewDice */
#viewdice{
  --bg:#0b0a12;
  --surface:#110f1a;
  --surface-2:#0f0d18;
  --border:#2a2140;
  --accent:#8b5cf6;
  --accent-2:#c084fc;

  /* responsive sizing knobs */
  --avatarSize:118;
  --dieSize:56;
  --centerCol:220;
  --countSize:120;
  --topGap:14;

  color:#fff;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
#viewdice, #viewdice *{ box-sizing:border-box; }

/* Card inside modal */
#viewdice.ViewMatch{
  width:100%;
  background: linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  padding:14px;
}

/* ================= TOP ================= */
#viewdice .VM-top{
  display:grid;
  grid-template-columns: minmax(0,1fr) calc(var(--centerCol) * 1px) minmax(0,1fr);
  gap: var(--topGap);
  align-items:center;
  padding: 8px 6px 14px;
  border-bottom:1px solid rgba(255,255,255,.06);
  overflow:hidden; /* prevent tiny overflow */
}

/* ================= PLAYER ================= */
#viewdice .VM-player{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding: 8px 4px;
  min-width:0;
}
#viewdice .VM-avatarRing{
  width: calc(var(--avatarSize) * 1px);
  height: calc(var(--avatarSize) * 1px);
  border-radius:999px;
  position:relative;
  border:3px solid rgba(192,132,252,.85);
  box-shadow:
    0 0 0 6px rgba(139,92,246,.12),
    0 0 22px rgba(139,92,246,.28);
  background: radial-gradient(circle at 30% 20%, rgba(192,132,252,.18), rgba(0,0,0,0) 60%);
  overflow: visible;
  z-index: 2;
  flex: 0 0 auto;
}
#viewdice .VM-avatar{
  width:100%;
  height:100%;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:900;
  background: linear-gradient(135deg,var(--accent),var(--accent-2));
}
#viewdice .VM-badge{
  position:absolute;
  bottom:-8px;
  width:44px;
  height:44px;
  border-radius:999px;
  background:rgba(0,0,0,.35);
  border:3px solid rgba(255,255,255,.14);
  display:grid;
  place-items:center;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  overflow:hidden;
  z-index: 5;
}
#viewdice .VM-badgeLeft{ right:-10px; left:auto; }
#viewdice .VM-badgeRight{ left:-10px; right:auto; }

#viewdice .VM-player.winner .VM-avatar{
  box-shadow:
    0 0 0 4px rgba(255,255,255,.15),
    0 0 22px rgba(139,92,246,.65),
    0 0 46px rgba(192,132,252,.45);
  transform: scale(1.03);
  transition: box-shadow .25s ease, transform .25s ease;
}

#viewdice .VM-name{
  font-weight:950;
  font-size:1.05rem;
  line-height:1.1;
  text-align:center;
  max-width:220px;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#viewdice .VM-rank{ font-size:.9rem; opacity:.75; text-align:center; }

/* ================= DICE ================= */
#viewdice .dice-row{ display:flex; gap:10px; margin-top:6px; }
#viewdice .rolldice{
  width: calc(var(--dieSize) * 1px);
  height: calc(var(--dieSize) * 1px);
  border-radius:14px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
  position:relative;
  transform: translateZ(0);
  flex: 0 0 auto;
}
#viewdice .rolldice::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:
    inset 0 10px 14px rgba(0,0,0,.65),
    inset 0 -10px 14px rgba(0,0,0,.65);
  pointer-events:none;
}

/* Hide reel by default */
#viewdice .dice-reel{
  display:flex;
  flex-direction:column;
  align-items:center;
  opacity:0;
  transition: opacity .18s ease;
}
#viewdice .rolldice.rolling .dice-reel,
#viewdice .rolldice.revealed .dice-reel{ opacity:1; }

#viewdice .rolldice span{
  height: calc(var(--dieSize) * 1px);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  font-weight:900;
}

#viewdice .dice-q{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:28px;
  font-weight:900;
  opacity:1;
  transform: scale(1);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events:none;
  text-shadow: 0 6px 22px rgba(0,0,0,.55);
}
#viewdice .rolldice.rolling .dice-q,
#viewdice .rolldice.revealed .dice-q{
  opacity:0;
  transform: scale(.85);
}

#viewdice .rolldice.shake{ animation: diceShake .35s linear infinite; }
@keyframes diceShake{
  0%{ transform:translate(0,0) rotate(0deg); }
  25%{ transform:translate(-1px,1px) rotate(-2deg); }
  50%{ transform:translate(1px,-1px) rotate(2deg); }
  75%{ transform:translate(-1px,0) rotate(-1deg); }
}
#viewdice .rolldice.lock{ animation: lockPop .18s ease-out; }
@keyframes lockPop{ 0%{ transform:scale(.98); } 100%{ transform:scale(1); } }

/* ================= CENTER ================= */
#viewdice .VM-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
}
#viewdice .countdown{
  width: calc(var(--countSize) * 1px);
  height: calc(var(--countSize) * 1px);
  border-radius:50%;
  border:4px solid var(--accent);
  display:grid;
  place-items:center;
  font-size:44px;
  font-weight:900;
  box-shadow:0 0 30px rgba(139,92,246,.45);
}
#viewdice .hidden{ display:none; }
#viewdice .countdown.pop{ animation: countPop .18s ease-out; }
@keyframes countPop{ 0%{ transform: scale(.92); } 100%{ transform: scale(1); } }

#viewdice .VM-totalsRow{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
}
#viewdice .VM-totalBig{
  min-width:76px;
  text-align:center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight:950;
  font-size:1.45rem;
  padding:8px 14px;
  border-radius:16px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
  opacity:.9;
}
#viewdice .VM-totalBig.win{
  opacity:1;
  border-color: rgba(192,132,252,.55);
  box-shadow: 0 0 18px rgba(139,92,246,.22), inset 0 0 0 1px rgba(192,132,252,.18);
  transform: scale(1.04);
}
#viewdice .VM-totalBig.lose{ opacity:.72; }
#viewdice .VM-totalBig.tie{
  opacity:1;
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 0 14px rgba(255,255,255,.12);
}

#viewdice .VM-gameId{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:.86rem;
  opacity:.86;
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
}
#viewdice .VM-gameId code{
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.10);
  padding: 3px 8px;
  border-radius: 10px;
  color:#fff;
}

/* ================= INVENTORIES ================= */
#viewdice .VM-invGrid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 12px;
}
#viewdice .VM-panel{
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,0));
  border-radius: 18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: 240px;
  min-width:0;
}
#viewdice .VM-panelHead{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
#viewdice .VM-panelTitle{
  font-weight: 950;
  display:flex;
  align-items:center;
  gap:8px;
  opacity:.92;
  min-width:0;
}
#viewdice .VM-total{
  font-size:.85rem;
  opacity:.75;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
  padding: 4px 10px;
  border-radius: 999px;
  white-space:nowrap;
}
#viewdice .VM-items{
  padding: 10px;
  display:flex;
  flex-direction:column;
  gap: 10px;
  overflow:auto;
  max-height: 320px;
}
#viewdice .VM-items::-webkit-scrollbar{ width:10px; }
#viewdice .VM-items::-webkit-scrollbar-thumb{
  background:rgba(192,132,252,.22);
  border:2px solid rgba(0,0,0,.18);
  border-radius:999px;
}
#viewdice .VM-items::-webkit-scrollbar-track{
  background:rgba(0,0,0,.10);
  border-radius:999px;
}
#viewdice .VM-item{
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  border-radius: 16px;
  padding: 10px;
  display:flex;
  gap: 10px;
  align-items:center;
  min-height: 64px;
  min-width:0;
}
#viewdice .VM-itemImgWrap{
  position:relative;
  width:46px; height:46px;
  border-radius: 14px;
  flex:0 0 auto;
  overflow:hidden;
}
#viewdice .VM-itemImg{
  width:100%; height:100%;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  object-fit:cover;
  flex:0 0 auto;
}
#viewdice .VM-itemImgWrap .rainbow,
#viewdice .VM-itemImgWrap .shiny{
  z-index:2;
  border-radius:inherit;
  pointer-events:none;
}
#viewdice .VM-itemName{
  font-weight: 900;
  font-size:.95rem;
  line-height:1.15;
  min-width:0;
  flex: 1 1 auto;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#viewdice .VM-itemVal{
  margin-left:auto;
  font-weight: 950;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  opacity:.9;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
  padding: 4px 10px;
  border-radius: 999px;
  white-space:nowrap;
  flex: 0 0 auto;
}

/* ================= THEMED MINI BUTTONS (scoped) ================= */
#viewdice .vd-btn{
  height:36px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
  color:#fff;
  font-weight:750;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:.18s;
  user-select:none;
}
#viewdice .vd-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 0 18px rgba(139,92,246,.22);
  border-color: rgba(192,132,252,.35);
  color:#fff;
}
#viewdice .vd-btnPrimary{
  background: linear-gradient(180deg, rgba(139,92,246,.28), rgba(0,0,0,.18));
  border-color: rgba(192,132,252,.32);
}
#viewdice .vd-iconBtn{
  width:36px;
  height:36px;
  padding:0;
  border-radius:14px;
  display:grid;
  place-items:center;
}

/* ================= Tablets: KEEP SAME LAYOUT 1.5X larger then mobile ================= */

@media (max-width: 991px){
  #viewdice{
    --avatarSize:82;
    --dieSize:42;
    --centerCol:180;
    --countSize:92;
    --topGap:8;
  }

  #viewdice .VM-badge{
    width:36px;
    height:36px;
    bottom:-6px;
  }
  
  #viewdice .countdown{
    border-width:3px;
    font-size:34px;
  }

  #viewdice .VM-totalBig{
    min-width:60px;
    font-size:1.18rem;
    padding:6px 10px;
    border-radius:14px;
  }

  #viewdice .VM-name{
    font-size:.95rem;
    max-width:120px;
  }

  #viewdice .vd-btn{
    height:34px;
    padding:0 10px;
    border-radius:12px;
    font-size:.9rem;
  }

  #viewdice .VM-item{
    padding:8px;
    gap:8px;
    min-height:56px;
    border-radius:14px;
  }
  #viewdice .VM-itemImg{ width:38px; height:38px; border-radius:12px; }
  #viewdice .VM-itemName{ font-size:.88rem; }
  #viewdice .VM-itemVal{ font-size:.82rem; padding:3px 8px; }
}

@media (max-width: 975px){
  #viewdice{
    --avatarSize:82;
    --dieSize:42;
    --centerCol:140;
    --countSize:92;
    --topGap:8;
  }

  #viewdice.ViewMatch{
    padding:10px;
    border-radius:18px;
  }

  #viewdice .VM-top{ padding: 6px 2px 10px; }

  #viewdice .VM-badge{
    width:36px;
    height:36px;
    bottom:-6px;
  }

  #viewdice .dice-row{ gap:8px; }
  #viewdice .rolldice{ border-radius:12px; }
  #viewdice .rolldice span{ font-size:22px; }
  #viewdice .dice-q{ font-size:22px; }

  #viewdice .countdown{
    border-width:3px;
    font-size:34px;
  }

  #viewdice .VM-totalBig{
    min-width:60px;
    font-size:1.18rem;
    padding:6px 10px;
    border-radius:14px;
  }

  #viewdice .VM-name{
    font-size:.95rem;
    max-width:120px;
  }
  #viewdice .VM-rank{ font-size:.80rem; }

  #viewdice .vd-btn{
    height:34px;
    padding:0 10px;
    border-radius:12px;
    font-size:.9rem;
  }
  #viewdice .vd-iconBtn{ width:34px; height:34px; }

  #viewdice .VM-invGrid{ gap:10px; }
  #viewdice .VM-panel{ min-height:190px; border-radius:16px; }
  #viewdice .VM-panelHead{ padding:8px 10px; }
  #viewdice .VM-items{ padding:8px; gap:8px; max-height:280px; }

  #viewdice .VM-item{
    padding:8px;
    gap:8px;
    min-height:56px;
    border-radius:14px;
  }
  #viewdice .VM-itemImg{ width:38px; height:38px; border-radius:12px; }
  #viewdice .VM-itemName{ font-size:.88rem; }
  #viewdice .VM-itemVal{ font-size:.82rem; padding:3px 8px; }
}

/* extra-small phones (320-360px) */
@media (max-width: 380px){
  #viewdice{
    --avatarSize:76;
    --dieSize:40;
    --centerCol:132;
    --countSize:86;
    --topGap:6;
  }
  #viewdice .VM-name{ max-width:108px; }
  #viewdice .VM-totalBig{ min-width:56px; }
}

/* ================= FIX: KEEP FULLSCREEN ON SM-DOWN BUT STILL CENTERED ================= */
@media (max-width: 575.98px){
  #viewdiceModal .modal-dialog.modal-fullscreen-sm-down{
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
  }
  #viewdiceModal .modal-dialog.modal-fullscreen-sm-down .modal-content{
    height: auto;
    max-height: calc(100vh - 20px);
  }
  #viewdiceModal .modal-dialog.modal-fullscreen-sm-down .modal-body{
    overflow: auto;
  }
}

/* ===== TOS MODAL REBUILD ===== */
#tosModal{
  --tm-text:#d7d9fc;
  --tm-muted:rgba(215,217,252,.76);
  --tm-muted-2:rgba(192,132,252,.62);
  --tm-line:rgba(139,92,246,.16);
  --tm-line-strong:rgba(192,132,252,.34);
  --tm-card:rgba(11,10,18,.96);
  --tm-card-2:rgba(17,15,26,.98);
  --tm-panel:rgba(15,13,24,.92);
  --tm-accent:#8b5cf6;
  --tm-accent-2:#c084fc;
  --tm-glow:rgba(139,92,246,.16);
  z-index:1190;
  font-family:"Plus Jakarta Sans","Segoe UI",sans-serif;
}

#tosModal.fade .TosModal-dialog{
  opacity:0;
  transform:translateY(22px) scale(.985);
}

#tosModal.show .TosModal-dialog{
  opacity:1;
  transform:translateY(0) scale(1);
}

#tosModal .TosModal-shell{
  opacity:1;
  visibility:visible;
}

#tosModal .TosModal-dialog{
  width:min(1220px, 100%);
  max-height:calc(100vh - 48px);
  transition:transform .22s ease, opacity .22s ease;
}

#tosModal .TosModal-shell{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  border:1px solid var(--tm-line);
  background:
    radial-gradient(circle at top right, rgba(192,132,252,.08), transparent 24%),
    radial-gradient(circle at bottom left, rgba(139,92,246,.08), transparent 24%),
    linear-gradient(180deg, rgba(17,15,26,.98), rgba(15,13,24,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.48);
}

#tosModal .TosModal-topline{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(139,92,246,.62), rgba(192,132,252,.52), transparent);
}

#tosModal .TosModal-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:26px 28px 20px;
}

#tosModal .TosModal-headerCopy{
  display:flex;
  align-items:flex-start;
  gap:16px;
  min-width:0;
}

#tosModal .TosModal-badge{
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#f7f1ff;
  background:linear-gradient(135deg, rgba(139,92,246,.95), rgba(192,132,252,.92));
  box-shadow:0 14px 34px rgba(139,92,246,.24);
  flex:0 0 auto;
}

#tosModal .TosModal-kicker{
  margin:0 0 6px;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--tm-accent);
}

#tosModal .TosModal-title{
  margin:0;
  font-size:clamp(1.55rem, 2.8vw, 2.25rem);
  font-weight:900;
  line-height:1.05;
  color:#fff;
}

#tosModal .TosModal-subtitle{
  margin:8px 0 0;
  max-width:700px;
  color:var(--tm-muted);
  line-height:1.55;
}

#tosModal .TosModal-headerActions{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

#tosModal .TosModal-linkBtn,
#tosModal .TosModal-close,
#tosModal .TosModal-tab{
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  color:#fff;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

#tosModal .TosModal-linkBtn:hover,
#tosModal .TosModal-close:hover,
#tosModal .TosModal-tab:hover{
  transform:translateY(-1px);
  border-color:rgba(192,132,252,.3);
  box-shadow:0 18px 28px rgba(4,9,28,.28), 0 0 0 1px rgba(192,132,252,.08) inset;
}

#tosModal .TosModal-linkBtn{
  height:46px;
  padding:0 16px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}

#tosModal .TosModal-close{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  cursor:pointer;
}

#tosModal .TosModal-tabs{
  display:flex;
  gap:12px;
  padding:0 28px 22px;
  position:static;
  border:0;
  background:none;
}

#tosModal .TosModal-tab{
  min-width:148px;
  border-radius:16px;
  padding:14px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:900;
  cursor:pointer;
}

#tosModal .TosModal-tab.is-active{
  border-color:rgba(192,132,252,.36);
  background:linear-gradient(180deg, rgba(139,92,246,.18), rgba(255,255,255,.04));
  box-shadow:0 0 0 1px rgba(192,132,252,.1) inset, 0 18px 32px rgba(2,8,24,.28);
}

#tosModal .TosModal-body{
  padding:0 28px 26px;
}

#tosModal .TosModal-panel{
  display:none;
}

#tosModal .TosModal-panel.is-active{
  display:block;
}

#tosModal .TosModal-main{
  min-width:0;
  padding:18px;
  border-radius:28px;
  border:1px solid var(--tm-line);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}

#tosModal .TosModal-scroll{
  max-height:min(54vh, 620px);
  overflow:auto;
  padding:0 6px 0 0;
}

#tosModal .TosModal-scroll::-webkit-scrollbar{
  width:10px;
}

#tosModal .TosModal-scroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

#tosModal .TosModal-scroll::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(139,92,246,.44), rgba(192,132,252,.44));
  border-radius:999px;
}

#tosModal .TosModal-callout,
#tosModal .TosModal-section,
#tosModal .TosModal-faqItem{
  border:1px solid var(--tm-line);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}

#tosModal .TosModal-callout{
  padding:16px 18px;
  margin-bottom:14px;
  color:var(--tm-muted);
  line-height:1.6;
}

#tosModal .TosModal-callout b{
  color:#fff;
}

#tosModal .TosModal-section{
  display:grid;
  grid-template-columns:60px minmax(0, 1fr);
  gap:14px;
  padding:18px;
  margin-bottom:12px;
}

#tosModal .TosModal-sectionIndex{
  width:60px;
  height:60px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:.96rem;
  font-weight:900;
  color:#06122f;
  background:linear-gradient(135deg, rgba(113,224,255,.94), rgba(255,143,112,.84));
}

#tosModal .TosModal-h{
  margin:0 0 6px;
  font-size:1rem;
  font-weight:900;
  color:#fff;
}

#tosModal .TosModal-p{
  margin:0;
  color:var(--tm-muted);
  line-height:1.62;
}

#tosModal .TosModal-faqTop{
  margin-bottom:14px;
  padding:0;
}

#tosModal .TosModal-search{
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 16px;
  min-height:56px;
  border-radius:18px;
  border:1px solid var(--tm-line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}

#tosModal .TosModal-search i{
  color:var(--tm-accent);
}

#tosModal #faqSearch{
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  color:#fff;
  font-size:.98rem;
}

#tosModal #faqSearch::placeholder{
  color:var(--tm-muted-2);
}

#tosModal .TosModal-accordion{
  display:grid;
  gap:12px;
}

#tosModal .TosModal-faqToggle{
  width:100%;
  border:0;
  background:none;
  color:#fff;
  cursor:pointer;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  text-align:left;
  font-weight:900;
}

#tosModal .TosModal-faqToggle i{
  color:var(--tm-accent);
  transition:transform .18s ease;
}

#tosModal .TosModal-faqItem.is-open .TosModal-faqToggle i{
  transform:rotate(45deg);
}

#tosModal .TosModal-faqAnswer{
  padding:0 20px 18px;
  color:var(--tm-muted);
  line-height:1.6;
}

@media (max-width: 980px){
  #tosModal{
    padding:18px;
  }

  #tosModal .TosModal-body,
  #tosModal .TosModal-tabs{
    padding-left:20px;
    padding-right:20px;
  }

  #tosModal .TosModal-header{
    padding:22px 20px 18px;
  }
}

@media (max-width: 640px){
  #tosModal{
    padding:10px;
  }

  #tosModal .TosModal-shell{
    border-radius:24px;
  }

  #tosModal .TosModal-header{
    flex-direction:column;
  }

  #tosModal .TosModal-headerActions{
    width:100%;
    justify-content:space-between;
  }

  #tosModal .TosModal-tabs{
    flex-direction:column;
  }

  #tosModal .TosModal-tab{
    width:100%;
  }

  #tosModal .TosModal-section{
    grid-template-columns:1fr;
  }

  #tosModal .TosModal-sectionIndex{
    width:52px;
    height:52px;
  }
}

/* ===== TOS MODAL TUNE ===== */
#tosModal{
  --tm-text:#d7d9fc;
  --tm-muted:rgba(215,217,252,.76);
  --tm-muted-2:rgba(147,152,225,.62);
  --tm-line:rgba(147,152,225,.16);
  --tm-line-strong:rgba(165,44,216,.34);
  --tm-card:rgba(2,4,31,.96);
  --tm-card-2:rgba(10,12,46,.98);
  --tm-panel:rgba(8,10,40,.92);
  --tm-accent:#9398e1;
  --tm-accent-2:#a52cd8;
  --tm-glow:rgba(165,44,216,.16);
}

#tosModal .TosModal-backdrop{
  background:
    radial-gradient(circle at 18% 18%, rgba(139,92,246,.14), transparent 30%),
    radial-gradient(circle at 82% 16%, rgba(192,132,252,.14), transparent 26%),
    rgba(2,4,31,.78);
}

#tosModal .TosModal-dialog{
  width:min(960px, calc(100vw - 40px));
  max-height:calc(100vh - 72px);
  will-change:transform, opacity;
}

#tosModal .TosModal-shell{
  border-radius:26px;
  border-color:var(--tm-line);
  background:
    radial-gradient(circle at top right, rgba(192,132,252,.08), transparent 28%),
    linear-gradient(180deg, rgba(17,15,26,.98), rgba(15,13,24,.98));
}

#tosModal .TosModal-header{
  padding:24px 24px 18px;
  border-bottom:1px solid rgba(147,152,225,.08);
  opacity:0;
  transform:translateY(10px);
}

#tosModal.show .TosModal-header{
  animation:TosFadeUp .34s cubic-bezier(.22,.61,.36,1) forwards;
}

#tosModal .TosModal-badge{
  width:48px;
  height:48px;
  border-radius:16px;
  color:var(--tm-text);
  background:linear-gradient(135deg, rgba(139,92,246,.9), rgba(192,132,252,.9));
  box-shadow:none;
}

#tosModal .TosModal-kicker{
  color:var(--tm-accent);
}

#tosModal .TosModal-title{
  font-size:clamp(1.4rem, 2.6vw, 1.95rem);
  color:var(--tm-text);
}

#tosModal .TosModal-subtitle{
  max-width:520px;
  color:var(--tm-muted);
}

#tosModal .TosModal-linkBtn,
#tosModal .TosModal-close,
#tosModal .TosModal-tab{
  border-color:rgba(147,152,225,.14);
  background:rgba(255,255,255,.03);
}

#tosModal .TosModal-linkBtn:hover,
#tosModal .TosModal-close:hover,
#tosModal .TosModal-tab:hover{
  border-color:rgba(192,132,252,.28);
  box-shadow:0 0 0 1px rgba(192,132,252,.08) inset;
}

#tosModal .TosModal-linkBtn{
  color:var(--tm-text);
}

#tosModal .TosModal-tabs{
  gap:10px;
  padding:18px 24px 0;
  opacity:0;
  transform:translateY(10px);
}

#tosModal.show .TosModal-tabs{
  animation:TosFadeUp .36s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay:60ms;
}

#tosModal .TosModal-tab{
  min-width:126px;
  border-radius:14px;
  padding:12px 16px;
}

#tosModal .TosModal-tab.is-active{
  border-color:rgba(192,132,252,.32);
  background:linear-gradient(180deg, rgba(139,92,246,.26), rgba(255,255,255,.03));
  box-shadow:0 0 0 1px rgba(192,132,252,.1) inset;
}

#tosModal .TosModal-body{
  padding:18px 24px 24px;
}

#tosModal .TosModal-main{
  padding:18px;
  border-radius:20px;
  border-color:var(--tm-line);
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.015));
}

#tosModal .TosModal-main--plain{
  display:flex;
  flex-direction:column;
  gap:14px;
}

#tosModal .TosModal-callout{
  margin-bottom:0;
  border-radius:16px;
  border-color:rgba(147,152,225,.16);
  background:rgba(255,255,255,.03);
  color:var(--tm-muted);
  opacity:0;
  transform:translateY(8px);
}

#tosModal .TosModal-panel.is-active .TosModal-callout{
  animation:TosFadeUp .34s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay:100ms;
}

#tosModal .TosModal-scroll{
  max-height:min(50vh, 520px);
  padding-right:2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(147,152,225,.34) rgba(255,255,255,.03);
}

#tosModal .TosModal-scroll::-webkit-scrollbar{
  width:8px;
}

#tosModal .TosModal-scroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.03);
  border-radius:999px;
}

#tosModal .TosModal-scroll::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(139,92,246,.46), rgba(192,132,252,.38));
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}

#tosModal .TosModal-scroll::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, rgba(139,92,246,.62), rgba(192,132,252,.52));
  background-clip:padding-box;
}

#tosModal .TosModal-section{
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  padding:15px 16px;
  border-radius:18px;
  border-color:rgba(147,152,225,.14);
  opacity:0;
  transform:translateY(10px);
}

#tosModal .TosModal-panel.is-active .TosModal-section{
  animation:TosFadeUp .32s cubic-bezier(.22,.61,.36,1) forwards;
}

#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(1){ animation-delay:130ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(2){ animation-delay:165ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(3){ animation-delay:200ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(4){ animation-delay:235ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(5){ animation-delay:270ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(6){ animation-delay:305ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(7){ animation-delay:340ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(8){ animation-delay:375ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(9){ animation-delay:410ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(10){ animation-delay:445ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(11){ animation-delay:480ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(12){ animation-delay:515ms; }
#tosModal .TosModal-panel.is-active .TosModal-section:nth-child(13){ animation-delay:550ms; }

#tosModal .TosModal-sectionIndex{
  width:44px;
  height:44px;
  border-radius:14px;
  color:var(--tm-text);
  background:rgba(139,92,246,.72);
}

#tosModal .TosModal-h{
  color:var(--tm-text);
}

#tosModal .TosModal-p,
#tosModal .TosModal-faqAnswer{
  color:var(--tm-muted);
}

#tosModal .TosModal-faqTop{
  display:flex;
  align-items:center;
  gap:12px;
}

#tosModal .TosModal-search{
  flex:1 1 auto;
  min-height:50px;
  border-radius:16px;
  border-color:rgba(147,152,225,.14);
  background:rgba(255,255,255,.03);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#tosModal .TosModal-search i{
  color:var(--tm-accent);
}

#tosModal .TosModal-search:focus-within{
  border-color:rgba(192,132,252,.32);
  box-shadow:0 0 0 1px rgba(192,132,252,.08) inset;
  transform:translateY(-1px);
}

#tosModal .TosModal-count{
  flex:0 0 auto;
  min-height:50px;
  padding:0 14px;
  border-radius:16px;
  border:1px solid rgba(147,152,225,.14);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:var(--tm-muted);
  background:rgba(255,255,255,.03);
  transition:transform .18s ease, opacity .18s ease;
}

#tosModal .TosModal-accordion{
  gap:10px;
}

#tosModal .TosModal-faqItem{
  border-radius:18px;
  border-color:rgba(147,152,225,.14);
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
  opacity:0;
  transform:translateY(10px);
}

#tosModal .TosModal-panel.is-active .TosModal-faqItem{
  animation:TosFadeUp .3s cubic-bezier(.22,.61,.36,1) forwards;
}

#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(1){ animation-delay:90ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(2){ animation-delay:115ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(3){ animation-delay:140ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(4){ animation-delay:165ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(5){ animation-delay:190ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(6){ animation-delay:215ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(7){ animation-delay:240ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(8){ animation-delay:265ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(9){ animation-delay:290ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(10){ animation-delay:315ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(11){ animation-delay:340ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(12){ animation-delay:365ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(13){ animation-delay:390ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(14){ animation-delay:415ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(15){ animation-delay:440ms; }
#tosModal .TosModal-panel.is-active .TosModal-faqItem:nth-child(16){ animation-delay:465ms; }

#tosModal .TosModal-faqItem.is-open{
  border-color:rgba(192,132,252,.28);
  background:rgba(255,255,255,.04);
  box-shadow:0 0 0 1px rgba(192,132,252,.08) inset;
}

#tosModal .TosModal-faqToggle{
  padding:16px 18px;
  transition:color .18s ease;
}

#tosModal .TosModal-faqToggle i{
  color:var(--tm-accent-2);
  transition:transform .22s cubic-bezier(.22,.61,.36,1), color .18s ease;
}

#tosModal .TosModal-faqItem.is-open .TosModal-faqToggle{
  color:#fff;
}

@keyframes TosFadeUp{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (max-width: 640px){
  #tosModal .TosModal-header{
    padding:20px 18px 16px;
  }

  #tosModal .TosModal-tabs,
  #tosModal .TosModal-body{
    padding-left:18px;
    padding-right:18px;
  }

  #tosModal .TosModal-faqTop{
    flex-direction:column;
    align-items:stretch;
  }

  #tosModal .TosModal-count{
    width:100%;
  }

  #tosModal .TosModal-section{
    grid-template-columns:1fr;
  }
}

@media (max-width: 1200px){
  #tosModal .TosModal-dialog{
    width:min(860px, calc(100vw - 56px));
  }
}

@media (max-width: 900px){
  #tosModal .TosModal-dialog{
    width:min(720px, calc(100vw - 40px));
  }
}

@media (max-width: 640px){
  #tosModal .TosModal-dialog{
    width:min(100%, calc(100vw - 20px));
  }
}

@media (max-height: 900px){
  #tosModal{
    padding:16px;
  }

  #tosModal .TosModal-dialog{
    max-height:calc(100vh - 32px);
  }

  #tosModal .TosModal-header{
    padding:20px 20px 14px;
  }

  #tosModal .TosModal-tabs{
    padding-top:14px;
  }

  #tosModal .TosModal-body{
    padding-top:14px;
    padding-bottom:18px;
  }

  #tosModal .TosModal-scroll{
    max-height:min(46vh, 430px);
  }
}

@media (prefers-reduced-motion: reduce){
  #tosModal .TosModal-header,
  #tosModal .TosModal-tabs,
  #tosModal .TosModal-callout,
  #tosModal .TosModal-section,
  #tosModal .TosModal-faqItem{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }

  #tosModal .TosModal-dialog,
  #tosModal .TosModal-backdrop,
  #tosModal .TosModal-linkBtn,
  #tosModal .TosModal-close,
  #tosModal .TosModal-tab,
  #tosModal .TosModal-search,
  #tosModal .TosModal-count,
  #tosModal .TosModal-faqItem,
  #tosModal .TosModal-faqToggle,
  #tosModal .TosModal-faqToggle i{
    transition:none !important;
  }
}
