/* LV Typing Suite 6.0.8 — narrowly scoped launch fixes. */

/* Kruti Dev exam overlay must occupy the exact answer-panel geometry that the normal
   Mangal/English textarea occupies. Geometry lives on the wrapper only; the converted
   preview itself has no external margin, avoiding the old collapsed/double-margin bug. */
body.lvt-exam-running .lvt-ws-root[data-lvt-ws].lvt-kruti-mode .lvt-kruti-overlay{
  display:block!important;
  position:relative!important;
  width:calc(100% - 16px)!important;
  max-width:calc(100% - 16px)!important;
  min-height:180px!important;
  margin:34px 8px 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.lvt-exam-running .lvt-template-upsssc[data-lvt-ws].lvt-kruti-mode .lvt-kruti-overlay{
  min-height:175px!important;
}
body.lvt-exam-running .lvt-ws-root[data-lvt-ws].lvt-kruti-mode .lvt-kruti-overlay .lvt-kruti-live-preview{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-height:inherit!important;
  margin:0!important;
  box-sizing:border-box!important;
  z-index:3!important;
  pointer-events:none!important;
}
body.lvt-exam-running .lvt-ws-root[data-lvt-ws].lvt-kruti-mode .lvt-kruti-overlay > .lvt-exam-input,
body.lvt-exam-running .lvt-ws-root[data-lvt-ws].lvt-kruti-mode .lvt-kruti-overlay > .lvt-ws-input{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  z-index:2!important;
  opacity:1!important;
  pointer-events:auto!important;
  background:transparent!important;
  color:transparent!important;
  caret-color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}
/* The legacy inline marker is hidden and a CSS caret is painted at the exact end of
   the converted preview text. This avoids transparent-textarea/native-caret and focus-class
   inconsistencies in Chromium while leaving Kruti conversion/input logic untouched. */
body.lvt-exam-running .lvt-ws-root[data-lvt-ws].lvt-kruti-mode .lvt-kruti-visual-caret{
  display:none!important;
}
body.lvt-exam-running .lvt-ws-root[data-lvt-ws].lvt-kruti-mode .lvt-kruti-live-preview::after{
  content:"";
  display:inline-block;
  width:2px;
  height:1.22em;
  margin-left:1px;
  vertical-align:-0.18em;
  background:#0f172a;
  pointer-events:none;
  animation:lvts608KrutiBlink 1s steps(1,end) infinite;
}
@keyframes lvts608KrutiBlink{0%,48%{opacity:1}49%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  body.lvt-exam-running .lvt-ws-root[data-lvt-ws].lvt-kruti-mode .lvt-kruti-live-preview::after{animation:none;opacity:1}
}

/* Coupon UX: a logged-in student who has typed a coupon gets an unmistakably actionable
   Apply button. Busy/empty/logged-out states do not receive this class. */
.lv5714-coupon-box .lv5714-apply.lvts608-coupon-ready:not(:disabled){
  background:#1764e8;
  border-color:#1764e8;
  color:#fff;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(23,100,232,.22);
}
.lv5714-coupon-box .lv5714-apply.lvts608-coupon-ready:not(:disabled):hover,
.lv5714-coupon-box .lv5714-apply.lvts608-coupon-ready:not(:disabled):focus-visible{
  background:#0f55ca;
  border-color:#0f55ca;
  color:#fff;
}
