/* MİMARLAB Kelime Oyunu (public/kelime.html, public/js/kelime.js): tanım kartı, harf kutuları, deneme kalpleri. quiz.css'in pafta dili üzerine. */
.kz-topic{margin:0 0 22px; max-width:640px;}
.kz-topics{display:flex; flex-wrap:wrap; gap:8px;}
.kz-topic-item{cursor:pointer;}
.kz-topic-item > span{
  display:inline-flex; align-items:baseline; gap:4px; padding:8px 14px; border:1px solid var(--line); border-radius:100px; background:var(--paper-card);
  font-size:14px; font-weight:600; color:var(--ink-soft); transition:border-color .12s ease, background-color .12s ease, color .12s ease;
}
.kz-topic-item small{font-size:12px; font-weight:700; color:var(--walnut);}
.kz-topic-item:hover > span{border-color:var(--ink-soft); color:var(--ink);}
.kz-topic-item input:checked + span{background:var(--ink); border-color:var(--ink); color:var(--page);}
.kz-topic-item input:checked + span small{color:inherit; opacity:.8;}
.kz-topic-item input:focus-visible + span{box-shadow:0 0 0 2px var(--brass);}
.kz-topic-item input:disabled + span{opacity:.4; cursor:not-allowed;}

.kz-sheet .qz-body{max-width:820px; width:100%; margin:0 auto;}
.kz-def{font-size:clamp(19px, 2.1vw, 25px); line-height:1.45; font-weight:600; margin-bottom:20px;}
.kz-field{position:relative; margin:6px 0 4px;}
.kz-boxes{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:6px 0;}
.kz-box{
  display:inline-flex; align-items:center; justify-content:center; width:clamp(34px, 8.4vw, 54px); height:clamp(44px, 10.6vw, 66px);
  border:2px solid var(--ink); border-radius:12px; background:var(--page); font-size:clamp(20px, 4.8vw, 30px); font-weight:800; line-height:1;
  color:var(--ink); transition:background-color .12s ease, border-color .12s ease, transform .12s ease;
}
.kz-box.is-typed{background:var(--field);}
.kz-box.is-revealed{background:var(--lab-kelime-tint, #F1E9FD); border-color:var(--lab-kelime, #8746E8); color:var(--lab-kelime-ink, #6A2FC4);}
.kz-box.is-next{box-shadow:0 0 0 3px var(--brass);}
.kz-boxes.is-shake{animation:kz-shake .4s ease;}
.kz-boxes.is-done.is-won .kz-box{border-color:var(--good); background:var(--qz-good-bg, #E6F6EE);}
.kz-boxes.is-done.is-lost .kz-box{border-color:var(--bad); background:var(--qz-bad-bg, #FDEDEA);}
.kz-boxes.is-done .kz-box.is-revealed{border-color:var(--lab-kelime, #8746E8);}
/* Gerçek giriş alanı kutuların üstünde şeffaf durur: dokununca klavye açılır (16px: iOS yakınlaştırmaz). */
.kz-input{position:absolute; inset:0; width:100%; height:100%; opacity:0; border:0; background:transparent; font-size:16px; cursor:text;}
.kz-tools{display:flex; align-items:center; justify-content:space-between; gap:14px; margin:6px 0 4px; min-height:28px;}
.kz-tries{display:inline-flex; gap:6px;}
.kz-tries i{display:block; width:14px; height:14px; border-radius:50%; border:2px solid var(--ink); opacity:.35;}
.kz-tries i.on{background:var(--accent); border-color:var(--accent); opacity:1;}
.kz-status{margin:0; font-size:14px; color:var(--ink-soft); text-align:right;}
.kz-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; align-items:center;}
.kz-result-title{margin:0 0 14px; font-size:clamp(30px, 5vw, 44px); font-weight:800; letter-spacing:-0.02em;}
.kz-result.is-won .kz-result-title{color:var(--good);}
.kz-result.is-lost .kz-result-title{color:var(--bad);}
.kz-def-small{margin:14px 0 4px; font-size:15px; color:var(--ink-soft);}
.kz-facts{margin:18px 0 6px;}
.kz-parts{margin:4px 0 0; font-size:14px; color:var(--ink-soft);}
@keyframes kz-shake{20%{transform:translateX(-8px);} 40%{transform:translateX(8px);} 60%{transform:translateX(-5px);} 80%{transform:translateX(5px);}}
@media (max-width:560px){
  .kz-boxes{gap:5px;}
  .kz-tools{flex-direction:column; align-items:flex-start; gap:6px;}
  .kz-status{text-align:left;}
  .kz-actions .btn{flex:1 1 100%;}
}
@media (prefers-reduced-motion:reduce){
  .kz-boxes.is-shake{animation:none;}
  .kz-box, .kz-topic-item > span{transition:none;}
}

/* Oyun ve tur sonucu footer'a değmesin (2026-10-09). */
.kz-play{padding-top:8px; padding-bottom:88px;}
.kz-round{margin-top:6px;}
.kz-round-actions{margin:22px 0 8px;}
.kz-review{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px;}
.kz-review .qz-review-item{padding:14px 16px; border:1px solid var(--line); border-left-width:4px; border-radius:12px; background:var(--paper-card);}
.kz-review .qz-review-item.is-correct{border-left-color:var(--good);}
.kz-review .qz-review-item.is-wrong{border-left-color:var(--bad);}
.kz-review-word{display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap;}
.kz-review-word strong{font-size:18px; letter-spacing:.04em;}
.kz-review-word span{font-size:13px; color:var(--ink-soft);}
.kz-review p{margin:6px 0; font-size:14px; line-height:1.5; color:var(--ink-soft);}
.kz-review-cat{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--walnut);}
@media (max-width:700px){ .kz-review{grid-template-columns:minmax(0, 1fr);} }
