/* Higher-or-Lower specific styles: editor rows + play board. */

/* ---- Editor ------------------------------------------------------------ */
.field { max-width: 460px; margin-bottom: 1.5rem; }

.editor-head {
  display: flex; align-items: center; gap: 1rem;
  margin: 1.5rem 0 .75rem;
}
.editor-head h2 { margin: 0; font-size: 1.1rem; }
.editor-head .meta { color: var(--ink-soft); font-weight: 400; font-size: .9rem; }
.editor-head .btn { margin-inline-start: auto; }

.editor-grid { display: grid; gap: .5rem; }
.card-row {
  display: grid;
  grid-template-columns: 2rem 1fr 6rem 2.4rem;
  gap: .6rem;
  align-items: center;
}
.card-row .card-index {
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.card-row .word-input { font-size: 1.15rem; }
.btn.icon { padding: .45rem; width: 2.4rem; }

/* ---- Play board -------------------------------------------------------- */
.scorebar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); padding: .75rem 1.1rem; box-shadow: var(--shadow);
}
.scorebar .deck-name { font-weight: 700; font-size: 1.05rem; }
.scorebar .stats { display: flex; gap: 1.25rem; }
.scorebar .stat { color: var(--ink-soft); font-size: .9rem; }
.scorebar .stat strong { color: var(--ink); font-size: 1.15rem; margin-inline-start: .25rem; font-variant-numeric: tabular-nums; }

.hl-instructions { color: var(--ink-soft); text-align: center; margin: 1.5rem 0; }

.hl-board {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(1.5rem, 6vw, 4rem);
  flex-wrap: wrap;
  margin-top: 1rem;
}

/* Card geometry shared by pile + current */
.hl-card {
  --w: clamp(140px, 34vw, 172px);
  width: var(--w);
  height: calc(var(--w) * 1.4);
  border-radius: 14px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  user-select: none;
}

/* Pile: stacked face-down cards, edges peeking out */
.pile-column { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; }
.pile {
  position: relative;
  width: clamp(140px, 34vw, 172px);
  height: calc(clamp(140px, 34vw, 172px) * 1.4 + 40px);
}
.pile .hl-card {
  position: absolute;
  top: 0; left: 0;
  transition: transform .45s ease, opacity .35s ease;
}

/* Face-down back design */
.card-back {
  background:
    repeating-linear-gradient(45deg, transparent 0 10px, rgba(255,255,255,.06) 10px 20px),
    linear-gradient(150deg, var(--accent), #24534680);
  color: var(--accent-ink);
  display: flex; align-items: center; justify-content: center;
}
.card-back::after {
  content: "א";
  font-size: 2.6rem;
  font-weight: 700;
  opacity: .8;
  border: 3px solid rgba(255,255,255,.35);
  border-radius: 50%;
  width: 3.4rem; height: 3.4rem;
  display: flex; align-items: center; justify-content: center;
}

/* Face-up card (current + revealed) */
.card-face {
  background: var(--surface);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  position: relative;
  padding: 1rem;
}
.card-face .word {
  direction: rtl;
  font-size: clamp(1.6rem, 6vw, 2.4rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}
.card-face .corner {
  position: absolute;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}
/* Both corners upright — a rotated numeral would make 6/9 (and 10) ambiguous,
   which matters in a number-learning game. */
.card-face .corner.tl { top: .5rem; left: .6rem; }
.card-face .corner.br { bottom: .5rem; right: .6rem; }

.card-face.correct { outline: 3px solid var(--accent); box-shadow: 0 0 0 6px var(--accent-soft), var(--shadow); }
.card-face.wrong { outline: 3px solid var(--danger); box-shadow: 0 0 0 6px color-mix(in srgb, var(--danger) 22%, transparent), var(--shadow); }

/* Current column */
.current-column { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.current-slot { position: relative; }
.current-label { color: var(--ink-soft); font-size: .85rem; }

/* Guess buttons */
.guess-buttons { display: flex; gap: .75rem; }
.btn.guess {
  flex-direction: column;
  gap: .1rem;
  min-width: 6.5rem;
  padding: .7rem 1rem;
}
.btn.guess .arrow { font-size: 1.2rem; line-height: 1; }
.btn.guess .he { font-size: .85rem; opacity: .85; direction: rtl; font-weight: 500; }
.btn.guess.higher { --btn-bg: var(--accent); --btn-ink: var(--accent-ink); border-color: transparent; }
.btn.guess.lower  { --btn-bg: var(--surface); }

/* Animations */
@keyframes flip-in {
  from { transform: rotateY(90deg); opacity: 0; }
  to   { transform: rotateY(0deg); opacity: 1; }
}
@keyframes slide-cover {
  from { transform: translateX(-40px) scale(.96); opacity: 0; }
  to   { transform: translateX(0) scale(1); opacity: 1; }
}
@keyframes score-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.5); }
  100% { transform: scale(1); }
}
.flip-in { animation: flip-in .38s ease both; }
.slide-cover { animation: slide-cover .45s cubic-bezier(.2,.7,.3,1) both; }
.score-pop { animation: score-pop .4s ease; display: inline-block; }

/* Result overlay */
.result-overlay {
  position: fixed; inset: 0;
  background: rgba(10, 12, 16, .55);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem; z-index: 50;
  backdrop-filter: blur(3px);
}
.result-card {
  background: var(--surface);
  border-radius: 20px;
  padding: 2rem clamp(1.5rem, 5vw, 3rem);
  text-align: center;
  box-shadow: var(--shadow);
  max-width: 420px; width: 100%;
}
.result-emoji { font-size: 3rem; }
.result-card h2 { margin: .25rem 0 .5rem; }
.result-score { color: var(--ink-soft); font-size: 1.1rem; }
.result-score strong { color: var(--ink); font-size: 1.4rem; }
.result-actions { display: flex; flex-direction: column; gap: .6rem; margin-top: 1.5rem; }

@media (max-width: 520px) {
  .card-row { grid-template-columns: 1.5rem 1fr 4.5rem 2.2rem; }
  .scorebar { justify-content: center; text-align: center; }
}
