/* ============================================================
   Preštej — slog igre.
   Plošče, gumbki, gumbi, vrstica z rezultatom in okno ob koncu
   so skupni in stojijo v assets/kids.css.
   ============================================================ */

/* ---------- nastavitve ---------- */
.nacin { flex-direction: column; gap: 2px; }
.nacin .nacin-znak { font-size: 1.3rem; line-height: 1; letter-spacing: 2px; }
.nacin .nacin-ime { font-size: .9rem; font-weight: 600; line-height: 1.1; }

/* ---------- igra ---------- */
.score-chip.current .val { color: var(--sky-d); }
.score-chip.best .val { color: var(--sun-d); }

#game .problem-card { margin-top: auto; }
#game .feedback { margin-bottom: auto; }

.problem-card {
  background: var(--card);
  border-radius: 34px;
  box-shadow: var(--shadow), inset 0 0 0 1px var(--rob);
  padding: clamp(14px, 3vh, 30px) clamp(12px, 3vw, 24px);
  margin: 10px 0 20px;
  text-align: center;
  border: 5px solid rgba(35,48,74,.06);
}
.problem-card.shake { animation: shake .45s ease; }
.problem-card.flash { animation: flash .5s ease; }
@keyframes flash {
  0% { background: #fff; }
  35% { background: #DFFCF3; }
  100% { background: #fff; }
}

.vprasanje {
  margin: 0 0 clamp(10px, 2vh, 18px);
  font-size: clamp(1.25rem, min(5vw, 4.4vh), 1.9rem);
  font-weight: 700;
  color: var(--ink);
}

/* ---------- plošča: desetiški okvir ----------

   Okvir je mreža s petimi stolpci. Do 10 ima dve vrsti, do 5 eno,
   do 20 sta dva okvirja drug ob drugem — na ozkem zaslonu pa drug
   pod drugim, ker bi sicer celice postale premajhne za štetje.

   VELIKOST CELICE DOLOČA ŠIRINA IN NE VIŠINA. Pet celic mora iti
   v vrsto pri vsaki širini, sicer okvir ni več okvir; višina sledi
   iz kvadratne oblike. Zgornja meja preprečuje, da bi na široki
   tablici ena sama vrsta pojedla ves zaslon. */
.plosca {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(10px, 2.4vw, 22px);
}
.okvir {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(4px, 1.1vw, 8px);
  padding: clamp(6px, 1.4vw, 10px);
  border: 3px solid var(--ink);
  border-radius: 16px;
  background: #fff;
  width: min(100%, 430px);
}
/* Dva okvirja: vsak pol vrste, dokler je prostor, nato ves. */
.plosca.meja-20 .okvir { width: min(100%, 360px); }

.celica {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px dashed rgba(35,48,74,.28);
  border-radius: 10px;
  font-size: clamp(1.4rem, min(8vw, 6.4vh), 3rem);
  line-height: 1;
  /* Emodži brez senc in brez izbora ob dvojnem tapu. */
  user-select: none;
  -webkit-user-select: none;
}
/* Polna celica ima poln rob: otrok mora prazno in polno ločiti na
   prvi pogled, tudi pri sličici, ki je skoraj bela. */
.celica.polna { border-style: solid; border-color: rgba(35,48,74,.18); background: #FFFDF7; }
.plosca.meja-20 .celica { font-size: clamp(1.1rem, min(6vw, 4.6vh), 2.3rem); }

/* ---------- odgovori ----------
   Trije v vrsti tudi na ozkem telefonu: odgovori so eno- in
   dvomestna števila in trije gumbi v vrsti prihranijo višino,
   ki jo pri dvajsetih celicah potrebuje plošča. */
.answers { grid-template-columns: repeat(3, 1fr); }

.answer {
  font-family: var(--font);
  font-size: clamp(1.8rem, min(7vw, 7vh), 2.8rem);
  font-weight: 700;
  color: #fff;
  background: var(--sky);
  border: none;
  border-radius: 26px;
  padding: clamp(12px, 3vh, 26px) 10px;
  cursor: pointer;
  box-shadow: 0 8px 0 var(--sky-d);
  transition: transform .1s ease, box-shadow .1s ease, background .2s ease;
}
.answer:nth-child(2) { background: var(--grape); box-shadow: 0 8px 0 var(--grape-d); }
/* Tretja možnost ni koralna: rdeča pove "narobe", preden otrok
   sploh odgovori. Sun nosi črnilo — belo na rumeni ni berljivo.
   Glej racunanje.css, kjer je bilo to izmerjeno. */
.answer:nth-child(3) { background: var(--sun); box-shadow: 0 8px 0 var(--sun-d); color: var(--ink); }
.answer:active { transform: translateY(6px); box-shadow: 0 2px 0 rgba(0,0,0,.2); }
.answer.correct { background: var(--mint) !important; box-shadow: 0 8px 0 var(--mint-d) !important; animation: pop .45s ease; }
.answer.wrong   { background: #C6CEDD !important; box-shadow: 0 8px 0 #A6B0C2 !important; }

.feedback { margin-top: 16px; min-height: 2.4em; font-size: clamp(1.15rem, 3.4vh, 1.7rem); }

/* ---------- telefon po strani ---------- */
@media (orientation: landscape) and (max-height: 560px) {
  .problem-card { margin: 6px 0 12px; border-radius: 26px; padding: 10px 14px; }
  .vprasanje { margin-bottom: 8px; }
  .okvir { width: min(100%, 300px); }
  .plosca.meja-20 .okvir { width: min(48%, 280px); }
  .celica { font-size: clamp(1rem, 5vh, 1.8rem); }
  .answers { gap: 10px; }
  .feedback { margin-top: 8px; min-height: 2em; }
}
