/* ===== Egzersizler — Unity Assets/Prefab/Egzersiz/ ekranlarının web ikizi (2026-08-21) =====
   Görsel dil `fabuwords.css`ten miras alınır (fw-topbar, fw-pill, fw-overlay); burada yalnız
   egzersize özgü olanlar tanımlanır. Sayfa `fabuwords.css`i de yüklediği için ortak kabuk
   kopyalanmaz — kopyalanırsa iki tema kaynağı doğar ve biri güncellenince diğeri sapar. */

.egzersiz-page { background: var(--bg, #fbf0d6); }

.ex-topbar-bosluk { visibility: hidden; pointer-events: none; }

/* ---- İlerleme çubuğu ---- */
.ex-ilerleme {
  height: 8px;
  margin: 0 16px 10px;
  border-radius: 999px;
  background: rgba(58, 36, 21, 0.14);
  overflow: hidden;
}
.ex-ilerleme > i {
  display: block; height: 100%; width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, #f0a835, #e0752d);
  transition: width .35s ease;
}
.ex-ilerleme-pill { font-variant-numeric: tabular-nums; }

/* ⚠️ `.fw-game` bir FLEX kabıdır (fabuwords.css:16) → içindeki blok, varsayılan `flex` kısaltmasıyla
   İÇERİĞE göre büzülür. Ölçüldü: 375px ekranda `.ex-alan` 234px'e düşüyor, eşleştirme sütunları
   96px kalıyordu. `width:100%` + `align-self:stretch` bunu kırar. Ayrıca oyun kabı `overflow:hidden`
   ve sabit yükseklikli olduğu için soru alanı KENDİ İÇİNDE kaydırılabilir olmalı. */
.egzersiz-page .fw-game { flex-direction: column; }
.ex-alan {
  width: 100%;
  align-self: stretch;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 720px;
  margin: 0 auto;
  padding: 8px 16px 32px;
  box-sizing: border-box;
}

/* ---- Mod seçimi (Unity ModGrid.prefab) ---- */
.ex-baslik { font-family: 'Fredoka', sans-serif; font-weight: 700; font-size: 1.7rem; margin: 8px 0 4px; text-align: center; }
.ex-alt { text-align: center; opacity: .75; margin: 0 0 20px; font-size: .95rem; }

.ex-kartlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.ex-kart {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  min-height: 116px; padding: 16px 12px;
  border: none; border-radius: 20px; cursor: pointer;
  background: var(--bg-card); box-shadow: var(--shadow-soft, 0 3px 10px rgba(58,36,21,0.14));
  font-family: 'Fredoka', sans-serif; font-weight: 600; color: var(--ink, #3a2415);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ex-kart:hover { transform: translateY(-3px); box-shadow: 0 8px 18px rgba(58,36,21,0.18); }
.ex-kart:active { transform: translateY(0); }
.ex-kart-ikon { font-size: 2rem; line-height: 1; }
.ex-kart-ad { font-size: 1rem; }

.ex-defter { margin: 18px 0 0; text-align: center; font-size: .9rem; opacity: .7; }
.ex-defter-az { color: #c0562d; opacity: 1; font-weight: 600; }

/* ---- Ortak soru alanı ---- */
.ex-sahne { display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 8px; }
.ex-soru-etiket { margin: 0; font-size: .95rem; opacity: .75; text-align: center; }
.ex-soru-kelime {
  font-family: 'Fredoka', sans-serif; font-weight: 700; font-size: 2rem;
  text-align: center; word-break: break-word; margin: 4px 0 8px;
}

/* ---- Şıklar ---- */
.ex-siklar { display: grid; gap: 12px; width: 100%; }
.ex-siklar-2 { grid-template-columns: 1fr; }
@media (min-width: 560px) { .ex-siklar-2 { grid-template-columns: 1fr 1fr; } }

.ex-sik {
  padding: 18px 16px; border: none; border-radius: 18px; cursor: pointer;
  background: var(--bg-card); box-shadow: var(--shadow-soft, 0 3px 10px rgba(58,36,21,0.14));
  font-family: 'Fredoka', sans-serif; font-weight: 600; font-size: 1.05rem;
  color: var(--ink, #3a2415); word-break: break-word;
  transition: transform .12s ease, background .2s ease;
}
.ex-sik:hover:not(:disabled) { transform: translateY(-2px); }
.ex-sik:disabled { cursor: default; }
/* Renk TEK sinyal değil: doğru/yanlış ayrıca kalınlık ve işaretle de belli olur (renk körlüğü) */
.ex-sik-dogru { background: #d6efd0; color: #1f5c1a; box-shadow: inset 0 0 0 3px #4c9c3f; }
.ex-sik-dogru::after { content: ' ✓'; font-weight: 700; }
.ex-sik-yanlis { background: #f6d8d0; color: #8c2f1a; box-shadow: inset 0 0 0 3px #c0562d; }
.ex-sik-yanlis::after { content: ' ✕'; font-weight: 700; }

/* ---- Eşleştirme ---- */
.ex-eslestir-govde { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; }
.ex-sutun { display: flex; flex-direction: column; gap: 10px; }
.ex-es-btn {
  padding: 14px 10px; border: none; border-radius: 14px; cursor: pointer;
  background: var(--bg-card); box-shadow: var(--shadow-soft, 0 3px 8px rgba(58,36,21,0.12));
  font-family: 'Fredoka', sans-serif; font-weight: 600; font-size: .95rem;
  color: var(--ink, #3a2415); word-break: break-word;
  transition: transform .12s ease, opacity .35s ease, background .2s ease;
}
.ex-es-secili { background: #ffe6b8; box-shadow: inset 0 0 0 3px #e0a03a; }
.ex-es-bitti { opacity: .28; cursor: default; box-shadow: none; }
.ex-es-sarsinti { animation: exSarsinti .4s ease; }
@keyframes exSarsinti {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-7px); }
  40% { transform: translateX(7px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) { .ex-es-sarsinti { animation: none; box-shadow: inset 0 0 0 3px #c0562d; } }

/* ---- Yazarak ---- */
.ex-ipucu {
  font-family: 'Fredoka', sans-serif; letter-spacing: .18em; font-size: 1.15rem;
  min-height: 1.5em; opacity: .65;
}
.ex-input {
  width: 100%; max-width: 380px; padding: 14px 18px;
  border: 3px solid var(--frame-wood, #c08652); border-radius: 16px;
  background: #fff; font-family: 'Fredoka', sans-serif; font-size: 1.15rem;
  color: var(--ink, #3a2415); text-align: center;
}
.ex-input:focus { outline: none; border-color: #e0a03a; }
.ex-input:disabled { background: #f3ece0; }
.ex-geribildirim { min-height: 1.4em; margin: 2px 0; font-weight: 600; text-align: center; }
.ex-geri-dogru { color: #2f7d26; }
.ex-geri-yanlis { color: #c0562d; }
.ex-yaz-butonlar { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

/* ---- Sonuç / bilgi ---- */
.ex-sonuc-card, .ex-bilgi-card { text-align: center; max-width: 380px; }
.ex-bilgi-ico { font-size: 2.6rem; }
.ex-sonuc-sayilar { display: flex; gap: 14px; justify-content: center; margin: 14px 0 6px; }
.ex-sonuc-kutu {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  min-width: 92px; padding: 12px 10px; border-radius: 16px; background: rgba(58,36,21,0.06);
}
.ex-sonuc-kutu b { font-size: 1.7rem; font-family: 'Fredoka', sans-serif; }
.ex-sonuc-kutu span { font-size: .8rem; opacity: .7; }
.ex-dogru b { color: #2f7d26; }
.ex-yanlis b { color: #c0562d; }
.ex-sonuc-xp { margin: 6px 0 16px; font-weight: 600; }
.ex-sonuc-butonlar { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 480px) {
  .ex-soru-kelime { font-size: 1.6rem; }
  .ex-kartlar { grid-template-columns: 1fr 1fr; }
  .ex-es-btn { font-size: .86rem; padding: 12px 8px; }
}
