/* ===== کارت‌های جادویی ===== */
.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.tab {
  font: 700 17px Vazirmatn,sans-serif;
  border: 3px solid var(--line);
  background: var(--card);
  color: var(--ink);
  border-radius: 99px;
  padding: 6px 18px;
  cursor: pointer;
}

.tab[aria-selected=true] {
  background: var(--blue);
  color: #fff;
  transform: rotate(-2deg);
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(150px,1fr));
  gap: 18px;
}

.card {
  perspective: 700px;
  height: 190px;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.card .in {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform .5s;
  transform-style: preserve-3d;
}

.card.flip .in {
  transform: rotateY(180deg);
}

.face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 4px solid var(--line);
  border-radius: 26px;
  background: var(--card);
  box-shadow: 5px 5px 0 var(--line);
}

.back {
  transform: rotateY(180deg);
  background: var(--red);
  color: #fff;
  border-color: var(--line);
}

.card:nth-child(3n+1) .back {
  background: var(--blue);
}

.card:nth-child(3n+2) .face:not(.back) {
  background: #eef2ff;
  color: #14204f;
}

.e {
  font-size: 60px;
  line-height: 1.1;
}

.w {
  font-size: 28px;
  direction: ltr;
}

.p {
  font-size: 15px;
  font-weight: 700;
}

.back .w {
  font-size: 32px;
}

.tab {
  box-shadow: 0 5px 0 var(--line),inset 0 2px 0 rgba(255,255,255,.7);
  background: linear-gradient(#fff,#e9eeff);
  color: #14204f;
}

.tab[aria-selected=true] {
  background: linear-gradient(#6d90ff,#1240ff);
  color: #fff;
  box-shadow: 0 5px 0 #061a70,0 0 18px rgba(18,64,255,.7),inset 0 2px 0 rgba(255,255,255,.5);
}

.face {
  overflow: hidden;
  box-shadow: 0 8px 0 var(--line),0 18px 26px rgba(10,20,80,.3),inset 0 3px 0 rgba(255,255,255,.9);
}

.face::after {
  content: "";
  position: absolute;
  inset: 0 0 52% 0;
  background: linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,0));
  pointer-events: none;
}

.card:nth-child(n) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#dfe8ff);
  color: #14204f;
}

.card:nth-child(3n+1) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#fff0a8);
}

.card:nth-child(3n+2) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#ffd9df);
}

.card:nth-child(n) .back {
  background: linear-gradient(160deg,#ff6b80,#ff2a45 55%,#bf0a28);
  color: #fff;
}

.card:nth-child(3n+1) .back {
  background: linear-gradient(160deg,#5f86ff,#1240ff 55%,#0a1f9e);
}

.card:not(.flip):hover .in {
  transform: translateY(-6px) rotateX(8deg);
}

.e {
  filter: drop-shadow(0 6px 5px rgba(0,0,0,.3));
}

.card:nth-child(6n+1) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#ffd3e8);
}

.card:nth-child(6n+2) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#fff1a6);
}

.card:nth-child(6n+3) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#c9f5cf);
}

.card:nth-child(6n+4) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#cfe6ff);
}

.card:nth-child(6n+5) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#e6d6ff);
}

.card:nth-child(6n) .face:not(.back) {
  background: linear-gradient(160deg,#fff,#ffe0bd);
}

.card:nth-child(6n+1) .back {
  background: linear-gradient(160deg,#ff8cc4,#ff4fa3 55%,#c2186f);
}

.card:nth-child(6n+2) .back {
  background: linear-gradient(160deg,#ffbf5c,#ff9a1f 55%,#d96a00);
}

.card:nth-child(6n+3) .back {
  background: linear-gradient(160deg,#7fe08a,#4cc95a 55%,#1f9a35);
}

.card:nth-child(6n+4) .back {
  background: linear-gradient(160deg,#5f86ff,#1240ff 55%,#0a1f9e);
}

.card:nth-child(6n+5) .back {
  background: linear-gradient(160deg,#c49bff,#9b5de5 55%,#6a2fbf);
}

.card:nth-child(6n) .back {
  background: linear-gradient(160deg,#ff6b80,#ff2a45 55%,#bf0a28);
}

@media (max-width:480px) {
  .grid {
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
  }
  .card {
    height: 170px;
  }
  .e {
    font-size: 50px;
  }
  .w,
  .back .w {
    font-size: 24px;
  }
  .tab {
    font-size: 15px;
    padding: 4px 14px;
  }
}

.face {
  border: 1.5px solid rgba(255,255,255,.85)!important;
  box-shadow: 0 12px 30px rgba(40,70,170,.28),inset 0 2px 0 rgba(255,255,255,.95),inset 0 -3px 10px rgba(255,255,255,.3)!important;
}

.card:nth-child(6n+1) .face:not(.back) {
  background: linear-gradient(150deg,rgba(255,150,205,.6),rgba(255,255,255,.4))!important;
}

.card:nth-child(6n+2) .face:not(.back) {
  background: linear-gradient(150deg,rgba(255,225,100,.62),rgba(255,255,255,.4))!important;
}

.card:nth-child(6n+3) .face:not(.back) {
  background: linear-gradient(150deg,rgba(130,225,155,.6),rgba(255,255,255,.4))!important;
}

.card:nth-child(6n+4) .face:not(.back) {
  background: linear-gradient(150deg,rgba(130,190,255,.6),rgba(255,255,255,.4))!important;
}

.card:nth-child(6n+5) .face:not(.back) {
  background: linear-gradient(150deg,rgba(195,160,255,.6),rgba(255,255,255,.4))!important;
}

.card:nth-child(6n) .face:not(.back) {
  background: linear-gradient(150deg,rgba(255,185,110,.62),rgba(255,255,255,.4))!important;
}

.card:nth-child(6n+1) .back {
  background: linear-gradient(150deg,rgba(255,110,180,.9),rgba(190,30,110,.8))!important;
}

.card:nth-child(6n+2) .back {
  background: linear-gradient(150deg,rgba(255,180,70,.92),rgba(215,105,0,.8))!important;
}

.card:nth-child(6n+3) .back {
  background: linear-gradient(150deg,rgba(100,215,120,.92),rgba(25,150,50,.82))!important;
}

.card:nth-child(6n+4) .back {
  background: linear-gradient(150deg,rgba(90,130,255,.92),rgba(10,31,158,.82))!important;
}

.card:nth-child(6n+5) .back {
  background: linear-gradient(150deg,rgba(185,140,255,.92),rgba(106,47,191,.82))!important;
}

.card:nth-child(6n) .back {
  background: linear-gradient(150deg,rgba(255,100,120,.92),rgba(191,10,40,.82))!important;
}

.tab {
  background: rgba(255,255,255,.4)!important;
  border: 1.5px solid rgba(255,255,255,.85)!important;
  box-shadow: 0 6px 18px rgba(40,70,170,.2),inset 0 2px 0 rgba(255,255,255,.9)!important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #14204f!important;
}

.tab[aria-selected=true] {
  background: linear-gradient(145deg,rgba(18,64,255,.88),rgba(90,130,255,.72))!important;
  color: #fff!important;
}
