/* ==========================================================================
   MathMaster – matematinės įvesties laukelis (MathLive)
   ==========================================================================

   `<math-field>` yra savarankiškas elementas su savo Shadow DOM, todėl iš išorės
   valdome tik jo rėmelį, dydį ir spalvas. Vidiniai dalykai (žymeklis, pasirinkta
   sritis) nustatomi per MathLive CSS kintamuosius `--*`.
   ========================================================================== */

.answer-expr {
  flex: 1 1 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Laukelis ir klaviatūros mygtukas vienoje eilutėje. */
.mm-field-row { display: flex; align-items: stretch; gap: 8px; }
.mm-field-slot { flex: 1 1 auto; min-width: 0; display: flex; }

.mm-mathfield {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1.35rem;
  padding: 10px 14px;
  border-radius: 14px;
  color: var(--text);
  background: var(--surface-2);
  border: 2px solid var(--border);
  outline: none;
  transition: border-color var(--ease), box-shadow var(--ease);

  /* MathLive vidiniai kintamieji */
  --caret-color: var(--secondary);
  --selection-background-color: rgba(99, 102, 241, .22);
  --contains-highlight-background-color: rgba(99, 102, 241, .10);
  --placeholder-color: var(--muted);
  --smart-fence-color: var(--muted);
}
.mm-mathfield:focus,
.mm-mathfield:focus-within {
  border-color: var(--secondary);
  box-shadow: 0 0 0 4px rgba(99, 102, 241, .14);
}
/* Vidinę MathLive slinktį paslepiame – laukelis pats plečiasi. */
.mm-mathfield::part(virtual-keyboard-toggle) { display: none; }
.mm-mathfield::part(menu-toggle) { display: none; }

/* Klaviatūros mygtukas. */
.mm-kbd-btn {
  flex: 0 0 auto;
  width: 52px;
  border-radius: 14px;
  border: 2px solid var(--border);
  background: var(--surface-2);
  color: var(--text-2);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color var(--ease), background var(--ease), transform .08s;
}
.mm-kbd-btn:hover { border-color: var(--secondary); color: var(--secondary); }
.mm-kbd-btn:active { transform: translateY(2px); }
.mm-kbd-btn:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(99, 102, 241, .18); }

/* Kai MathLive neįsikėlė, lieka paprastas laukelis – mygtukas nereikalingas. */
.answer-expr.is-plain .mm-kbd-btn { display: none; }

/* Uždarymo mygtukas yra `.MLK__backdrop` vaikas, todėl visada sėdi tikrame
   klaviatūros viršutiniame dešiniajame kampe ir juda kartu su ja. */
.mm-kbd-close {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 1000;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #CBD5E1;
  background: #FFFFFF;
  color: #334155;
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 3px 12px rgba(15, 23, 42, .16);
  transition: transform .15s ease, opacity .15s ease, background .15s ease, color .15s ease;
  opacity: 0;
  transform: scale(.9);
  pointer-events: none;
}
.mm-kbd-close.visible {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.mm-kbd-close:hover { background:#E5E7EB; color:#111827; border-color:#94A3B8; }
.mm-kbd-close:active { transform: scale(.94); }
:root[data-theme="dark"] .mm-kbd-close {
  border-color:#475569; background:#1F2937; color:#F8FAFC;
  box-shadow:0 3px 14px rgba(0,0,0,.38);
}
:root[data-theme="dark"] .mm-kbd-close:hover { background:#374151; color:#FFFFFF; border-color:#64748B; }

/* Pagalbinis tekstas ir gyva peržiūra. */
.expr-help { margin: 0; font-size: .8rem; line-height: 1.5; color: var(--muted); }
.expr-help code {
  font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace;
  background: var(--surface-2); border: 1px solid var(--border);
  border-radius: 6px; padding: 1px 5px; font-size: .95em;
}
.expr-echo {
  min-height: 1.6em; font-size: .95rem; color: var(--text-2);
  max-width: 100%; overflow-x: auto;
}
.expr-echo.is-bad { color: #B45309; }

/* --------------------------- virtuali klaviatūra --------------------------
   MathLive ją deda tiesiai į <body> kaip `.ML__keyboard`. Telefone ji turi
   sėdėti ekrano apačioje ir NEUŽDENGTI uždavinio, todėl kai ji atidaryta,
   puslapiui pridedame apatinį tarpą (žr. `body.mm-kbd-open` žemiau). */

.ML__keyboard {
  --keyboard-zindex: 3000;
  --keyboard-accent-color:#4F46E5;
  --keyboard-background:#F3F4F6;
  --keyboard-border:#D1D5DB;
  --keyboard-toolbar-text:#4B5563;
  --keyboard-toolbar-text-active:#4F46E5;
  --keyboard-toolbar-background:#F3F4F6;
  --keyboard-toolbar-background-hover:#E5E7EB;
  --keyboard-horizontal-rule:1px solid #D1D5DB;
  --keycap-background:#FFFFFF;
  --keycap-background-hover:#F3F4F6;
  --keycap-background-active:#4F46E5;
  --keycap-background-pressed:#4338CA;
  --keycap-border:#D1D5DB;
  --keycap-border-bottom:#9CA3AF;
  --keycap-text:#111827;
  --keycap-text-active:#FFFFFF;
  --keycap-text-pressed:#FFFFFF;
  --keycap-primary-background:#4F46E5;
  --keycap-primary-background-hover:#4338CA;
  --keycap-primary-text:#FFFFFF;
  --keycap-secondary-background:#E5E7EB;
  --keycap-secondary-background-hover:#D1D5DB;
  --keycap-secondary-border:#CBD5E1;
  --keycap-secondary-border-bottom:#94A3B8;
  --keycap-secondary-text:#1F2937;
  --variant-panel-background:#FFFFFF;
  --variant-keycap-text:#111827;
  font-family: 'Inter', system-ui, sans-serif;
}

/* Viršutinėje juostoje paliekame atskirą vietą mūsų uždarymo mygtukui.
   MathLive dešinėje rodo Undo / Redo / Copy veiksmus; be šio tarpo paskutinis
   iš jų atsidurtų po apvaliu „X“, nors pats mygtukas būtų teisingame kampe. */
.ML__keyboard .MLK__toolbar {
  box-sizing: border-box;
  padding-right: 64px;
}

:root[data-theme="dark"] .ML__keyboard {
  --keyboard-accent-color:#818CF8;
  --keyboard-background:#111827;
  --keyboard-border:#374151;
  --keyboard-toolbar-text:#CBD5E1;
  --keyboard-toolbar-text-active:#A5B4FC;
  --keyboard-toolbar-background:#111827;
  --keyboard-toolbar-background-hover:#374151;
  --keyboard-horizontal-rule:1px solid #374151;
  --keycap-background:#1F2937;
  --keycap-background-hover:#374151;
  --keycap-background-active:#6366F1;
  --keycap-background-pressed:#4F46E5;
  --keycap-border:#374151;
  --keycap-border-bottom:#0F172A;
  --keycap-text:#FFFFFF;
  --keycap-text-active:#FFFFFF;
  --keycap-text-hover:#FFFFFF;
  --keycap-text-pressed:#FFFFFF;
  --keycap-primary-background:#6366F1;
  --keycap-primary-background-hover:#818CF8;
  --keycap-primary-text:#FFFFFF;
  --keycap-secondary-background:#2D2D2D;
  --keycap-secondary-background-hover:#374151;
  --keycap-secondary-border:#475569;
  --keycap-secondary-border-bottom:#111827;
  --keycap-secondary-text:#FFFFFF;
  --variant-panel-background:#1F2937;
  --variant-keycap-text:#FFFFFF;
}

/* -------------------------- mygtukų dydis ---------------------------------
   MathLive savo mygtukams aukščio nenustato – jis gaunasi iš šrifto, todėl
   buvo 42 px, o siaurame telefone plotis nukrisdavo iki 35 px. Tokį mygtuką
   pirštu pataikyti sunku, todėl abu matmenis fiksuojame ties 44 px – tai
   mažiausias dydis, kurį prieinamumo gairės laiko patogiu. */

/* Eilutės vaikai yra trijų rūšių: `.MLK__keycap` (simboliai), `.action`
   (trintukas, rodyklės, „Enter") ir `.separator` (tarpiklis). Dydį fiksuojame
   visiems, išskyrus tarpiklį – jam plotis nereikalingas. */
.ML__keyboard .MLK__row > div:not(.separator) {
  min-height: 44px;
  min-width: 44px;
  height: auto;
  padding: 4px 6px;
  box-sizing: border-box;

  /* Tekstas centruojamas ir niekada neišlenda už mygtuko ribų. */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Tarpiklis tik skiria grupes – jis neturi būti paspaudžiamo dydžio. */
.ML__keyboard .MLK__row > div.separator {
  min-width: 0;
  flex: 0 1 14px;
}

/* Ilgi užrašai (arcsin, arccos) sutraukiami, o ne nukerpami. */
.ML__keyboard .MLK__keycap.small {
  font-size: 0.78em;
  letter-spacing: -0.01em;
}
.ML__keyboard .MLK__keycap .MLK__tex,
.ML__keyboard .MLK__keycap .MLK__tex-math {
  max-width: 100%;
  overflow: hidden;
}

/* Eilutės niekada neišsilieja už plokštelės krašto. */
.ML__keyboard .MLK__rows { width: 100%; box-sizing: border-box; }
.ML__keyboard .MLK__row { flex-wrap: nowrap; }
.ML__keyboard .MLK__plate { overflow-x: hidden; }

/* Skirtukų juosta: pakankamai aukšta ir pirštu pataikoma. */
.ML__keyboard .MLK__toolbar > div > div,
.ML__keyboard .MLK__layer-switch {
  min-height: 40px;
  padding: 0 12px;
}

/* Kad klaviatūra neuždengtų nei uždavinio, nei „Tikrinti" mygtuko.
   Tikslų aukštį paduoda `mathinput.js` per `--mm-kbd-h`. */
body.mm-kbd-open main {
  padding-bottom: calc(var(--mm-kbd-h, 300px) + 24px);
}

@media (max-width: 640px) {
  .mm-mathfield { font-size: 1.2rem; padding: 9px 12px; }
  .mm-kbd-btn { width: 46px; font-size: 1.25rem; }
  /* Siaurame ekrane tarpikliai tik atima vietą iš pačių mygtukų. */
  .ML__keyboard .MLK__row > div.separator { display: none; }
  .ML__keyboard .MLK__row > div:not(.separator) { padding: 4px 2px; }
}

/* 320–390 px ekrane trys MathLive redagavimo piktogramos ir trys skirtukai
   fiziškai netelpa vienoje eilėje kartu su „X“. Skirtukai ir uždarymas yra
   pagrindinė navigacija, todėl pagalbinę Undo / Redo / Copy grupę šiame
   plotyje paslepiame; įvesties klavišai lieka visi ir pilno dydžio. */
@media (max-width: 480px) {
  .ML__keyboard .ML__edit-toolbar.right { display: none !important; }
}

/* Labai siauruose telefonuose 7 mygtukai po 44 px nebetelpa, todėl leidžiame
   jiems susitraukti – geriau siauresnis mygtukas negu horizontali slinktis. */
@media (max-width: 359px) {
  .ML__keyboard .MLK__row > div:not(.separator) { min-width: 38px; }
}

/* Spausdinant nei laukelis, nei klaviatūra nereikalingi. */
@media print {
  .mm-kbd-btn, .expr-help, .expr-echo, .ML__keyboard { display: none !important; }
  .mm-mathfield { border-color: #94A3B8; background: none; }
}
