/* LV Typing Suite 6.0.7 — narrowly scoped launch fixes only. */

/* Kruti Dev exam overlay: while an exam is actively running, show the synchronized
   preview caret unconditionally. The exam-running body class is removed on Finish/
   Cancel, so the caret cannot leak into instruction/result screens. Mangal/English
   are outside .lvt-kruti-mode and remain untouched. */
body.lvt-exam-running .lvt-ws-root.lvt-kruti-mode .lvt-kruti-overlay .lvt-kruti-visual-caret{
  display:inline-block;
}

/* Requested curated Hindi input selector. It lives inside the existing Language
   control so the approved filter-bar grid/spacing does not gain a new column. */
.lv56-single-controls [data-lv607-hindi-input]{
  margin-top:8px;
}
.lv56-single-controls [data-lv607-hindi-input][hidden]{
  display:none;
}
.lv56-single-controls [data-lv607-hindi-input] select{
  width:100%;
  max-width:245px;
}

/* Keep the converted Kruti preview (and its synchronized caret) visually above the
   transparent capture textarea. Pointer events pass through to the real textarea,
   so focus/key handling is unchanged while the caret stays visible in Chromium. */
body.lvt-exam-running .lvt-ws-root.lvt-kruti-mode .lvt-kruti-overlay .lvt-kruti-live-preview{
  z-index:3;
  pointer-events:none;
}
body.lvt-exam-running .lvt-ws-root.lvt-kruti-mode .lvt-kruti-overlay .lvt-kruti-visual-caret{
  position:relative;
  z-index:4;
}

/* Fixed/Fresh General Practice Kruti preview uses the existing hidden physical-key
   capture field. Reuse its existing .is-focus state to give students a visible
   caret without adding another input/keypress listener. */
.lv50-general-run[data-mode="krutidev"]:not(.is-finished) .lv50-kruti-preview.is-focus::after{
  content:"";
  display:inline-block;
  width:2px;
  height:1.2em;
  margin-left:1px;
  vertical-align:-0.16em;
  background:#0f172a;
  animation:lvts607PracticeKrutiCaretBlink 1s steps(1,end) infinite;
}
@keyframes lvts607PracticeKrutiCaretBlink{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .lv50-general-run[data-mode="krutidev"]:not(.is-finished) .lv50-kruti-preview.is-focus::after{
    animation:none;
    opacity:1;
  }
}
