/* ===== پایه: رنگ‌ها، فونت، عنوان‌ها ===== */
* {
  box-sizing: border-box;
}

h1,
h2,
h3,
.disp {
  font-family: Lalezar,Vazirmatn,Tahoma,sans-serif;
  font-weight: 400;
  margin: 0;
  line-height: 1.3;
}

a {
  color: inherit;
}

:focus-visible {
  outline: 4px solid var(--sun);
  outline-offset: 3px;
}

section {
  max-width: 1060px;
  margin: auto;
  padding: 52px 18px;
}

h2.t {
  font-size: clamp(28px,5.5vw,44px);
  color: var(--blue);
  text-shadow: 0 3px 0 rgba(20,32,79,.2);
}

.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 (prefers-reduced-motion:reduce) {
  * {
    animation: none!important;
    transition: none!important;
  }
}

.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;
}

.opt {
  background: linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,255,255,.48))!important;
  border: 1.5px solid rgba(255,255,255,.9)!important;
  box-shadow: 0 6px 16px rgba(10,20,80,.25),inset 0 2px 0 #fff!important;
}

.opt.ok {
  background: linear-gradient(145deg,rgba(120,255,160,.92),rgba(30,190,90,.75))!important;
}

.opt.no {
  background: linear-gradient(145deg,rgba(255,120,140,.92),rgba(224,17,47,.78))!important;
}
