:root{
  --lvt-blue:#087bf2;
  --lvt-navy:#0d1b35;
  --lvt-text:#101828;
  --lvt-muted:#667085;
  --lvt-border:#d8e0ec;
  --lvt-soft:#f5f8fd;
  --lvt-green:#baff4f;
  --lvt-red:#e54848;
}
*{box-sizing:border-box}
.lvt-ws-hidden{display:none!important}
.lvt-ws-root{font-family:Arial,Helvetica,sans-serif;color:var(--lvt-text)}

/* General practice */
.lvt-ws-shell{max-width:760px;margin:0 auto;padding:18px;background:#fff;border:1px solid var(--lvt-border);border-radius:18px}
.lvt-ws-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}.lvt-ws-top h1{margin:4px 0 4px;font-size:28px}.lvt-ws-top p{margin:0;color:var(--lvt-muted)}
.lvt-ws-kicker,.lvt-ws-label{font-size:11px;font-weight:900;letter-spacing:.1em;color:#1465d8}
.lvt-ws-rule-pills{display:flex;gap:8px;flex-wrap:wrap}.lvt-ws-rule-pills span{padding:8px 10px;border-radius:999px;background:#eef4ff;border:1px solid #d5e3ff;font-size:12px;font-weight:800}
.lvt-ws-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}.lvt-ws-stats>div{padding:12px;background:var(--lvt-soft);border:1px solid var(--lvt-border);border-radius:12px}.lvt-ws-stats span{display:block;font-size:10px;color:var(--lvt-muted)}.lvt-ws-stats strong{font-size:18px}
.lvt-ws-card{border:1px solid var(--lvt-border);border-radius:16px;padding:14px}.lvt-ws-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.lvt-ws-card-head strong{display:block;margin-top:4px}.lvt-ws-type-head{margin-top:12px}
.lvt-ws-source{padding:14px;border:1px solid var(--lvt-border);border-radius:12px;line-height:1.7;font-size:16px;white-space:pre-wrap}.lvt-ws-input{width:100%;min-height:180px;padding:14px;border:2px solid #7eabff;border-radius:12px;font-size:17px;line-height:1.6;resize:vertical;outline:none}
.lvt-ws-actions,.lvt-result-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.lvt-ws-btn{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}.lvt-ws-btn-primary{background:#1f5ed8;color:#fff}.lvt-ws-btn-light{background:#fff;border:1px solid var(--lvt-border);color:#111}
.lvt-ws-correct{color:#078c57;background:#e8f8f1}.lvt-ws-wrong{color:#d92d20;background:#fff0ef;text-decoration:underline}.lvt-ws-current{background:#fff0b8;border-left:2px solid #f0ae00}

/* Instructions */
.lvt-ws-instructions{max-width:980px;margin:0 auto;padding:28px 24px 42px;background:#efeee7;color:#111}
.lvt-instruction-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:34px}.lvt-info-card{background:#fff;border:1px solid #7d7d7d;border-radius:3px;min-height:112px;padding:14px 20px;box-shadow:0 9px 16px rgba(0,0,0,.08)}.lvt-info-card span{display:block;font-size:12px;color:#333}.lvt-info-card strong{display:block;font-size:19px;line-height:1.4;margin-top:4px}
.lvt-ws-instructions h2{font-size:40px;line-height:1.1;margin:24px 0 36px;border-bottom:1px solid #333;padding-bottom:32px}.lvt-instructions-box{background:#fff;padding:12px 28px 14px}.lvt-instructions-box ol{margin:0;padding-left:18px}.lvt-instructions-box li{font-size:14px;line-height:1.8;margin:7px 0;font-weight:600}
.lvt-hindi-mode-box{margin-top:14px;padding:16px;background:#fff;border-top:1px solid #ccc}.lvt-hindi-mode-box strong{display:block;margin-bottom:8px}.lvt-hindi-mode-box label{display:block;margin:8px 0;font-weight:700}.lvt-hindi-mode-box small{display:block;color:#667085;margin-top:7px;line-height:1.5}
.lvt-exam-start-btn{margin-top:18px;background:#050505;color:#fff;border:0;border-radius:4px;padding:13px 28px;font-weight:800;cursor:pointer}

/* Exam screens: common */
.lvt-exam-screen{width:100%;min-height:calc(100vh - 16px);background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif;padding-bottom:24px}
.lvt-exam-titlebar{height:50px;display:flex;align-items:center;justify-content:center;padding:0 20px;background:#087bf2;color:#fff;font-size:20px;font-weight:700;text-align:center}
.lvt-exam-blackbar{min-height:28px;background:#050505;color:#fff;padding:6px 8px;font-size:13px;font-weight:700}
.lvt-exam-controlrow{min-height:105px;display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:center;padding:12px 6%;background:#fff}.lvt-font-controls{display:inline-flex;width:max-content;border:1px solid #d9dce1;border-radius:30px;overflow:hidden}.lvt-font-controls button{border:0;background:#fff;padding:12px 15px;font-size:16px;cursor:pointer}.lvt-font-controls button+button{border-left:1px solid #eee}.lvt-exam-timer{font-size:18px;font-weight:800;white-space:nowrap}.lvt-candidate-chip{display:flex;flex-direction:column;align-items:center;min-width:58px}.lvt-candidate-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1b334f;color:#fff;font-weight:900;border:3px solid #dde4ea}.lvt-candidate-chip small{font-weight:800;margin-top:3px}
.lvt-keyboard-strip{height:38px;background:#087bf2;color:#fff;display:flex;align-items:center;gap:46px;padding:0 34px;font-size:16px}
.lvt-exam-source{margin:8px 8px 0;border:1px solid #333;min-height:250px;max-height:310px;overflow:auto;padding:7px 10px;font-family:"Times New Roman",serif;font-size:18px;line-height:1.28;white-space:pre-wrap;background:#fff}
.lvt-exam-input{display:block;width:calc(100% - 16px);margin:34px 8px 0;min-height:180px;border:2px solid #168be8;border-radius:7px;padding:14px;font-family:"Courier New",monospace;font-size:18px;line-height:1.55;resize:none;outline:none}.lvt-answer-green{background:#b9ff4e}.lvt-answer-white{background:#fff}
.lvt-exam-actions{display:flex;justify-content:space-between;max-width:860px;margin:38px auto 0;padding:0 20px}.lvt-exam-cancel,.lvt-exam-submit{border:0;border-radius:5px;color:#fff;font-weight:800;padding:13px 24px;cursor:pointer}.lvt-exam-cancel{background:#e54747}.lvt-exam-submit{background:#2d8bd5}

/* Template refinements */
.lvt-template-up_police .lvt-exam-controlrow{min-height:90px}.lvt-template-up_police .lvt-exam-source{max-height:285px}.lvt-template-up_police .lvt-exam-input{height:150px;min-height:150px;margin-top:24px;background:#a8ec35}
.lvt-template-upsssc .lvt-exam-source{min-height:260px}.lvt-template-upsssc .lvt-exam-input{min-height:180px;background:#b9ff4e}
.lvt-template-ahc .lvt-exam-controlrow{min-height:110px}.lvt-template-ahc .lvt-exam-source{min-height:290px}.lvt-template-ahc .lvt-exam-input{min-height:165px;background:#fff}

/* Result */
.lvt-ws-result{max-width:760px;margin:24px auto;background:#0d2143;color:#fff;border-radius:16px;padding:22px}.lvt-ws-result .lvt-ws-kicker{color:#2c79ff}.lvt-ws-result h2{color:#fff;font-size:27px}.lvt-ws-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.lvt-ws-result-grid>div{background:rgba(255,255,255,.09);padding:13px;border-radius:10px}.lvt-ws-result-grid span{display:block;font-size:11px;opacity:.76}.lvt-ws-result-grid strong{font-size:20px}.lvt-ws-official-grid{margin-top:10px}.lvt-ws-result p{line-height:1.55}.lvt-ws-result .lvt-ws-btn-primary{background:#2d7cf3}

/* Exam isolation */
body.lvt-exam-running .site-header,
body.lvt-exam-running .site-footer,
body.lvt-exam-running header,
body.lvt-exam-running footer,
body.lvt-exam-running .wp-site-blocks>header,
body.lvt-exam-running .wp-site-blocks>footer,
body.lvt-exam-running #wpadminbar{display:none!important}
body.lvt-exam-running{margin-top:0!important;background:#fff!important;overflow:auto}
body.lvt-exam-running .lvt-ws-root{position:relative;z-index:99999;background:#fff;min-height:100vh}
body.lvt-exam-running .entry-header,body.lvt-exam-running .page-header,body.lvt-exam-running .wp-block-post-title{display:none!important}

@media(max-width:900px){
  .lvt-instruction-summary{grid-template-columns:1fr}.lvt-ws-instructions h2{font-size:34px}.lvt-exam-controlrow{grid-template-columns:1fr auto}.lvt-candidate-chip{display:none}.lvt-keyboard-strip{gap:18px;padding:0 12px;font-size:13px}.lvt-ws-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .lvt-ws-instructions{padding:18px 12px 28px}.lvt-instructions-box{padding:10px 15px}.lvt-instructions-box li{font-size:13px}.lvt-exam-titlebar{font-size:15px}.lvt-exam-controlrow{padding:10px 12px;min-height:80px}.lvt-exam-timer{font-size:15px}.lvt-keyboard-strip{height:auto;min-height:38px;flex-wrap:wrap;padding:8px 10px}.lvt-exam-source{font-size:15px;min-height:230px}.lvt-exam-input{font-size:16px;min-height:160px}.lvt-ws-result-grid{grid-template-columns:repeat(2,1fr)}
}

/* v1.4.1 — readability + robust AHC viewport isolation
 * Important: this patch is intentionally scoped to AHC for viewport geometry,
 * so the already-tested UP Police layout is not visually reworked by this hotfix.
 */
.lvt-ws-root{font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.lvt-info-card span{font-size:13px}.lvt-info-card strong{font-size:20px}
.lvt-instructions-box li{font-size:15px!important;line-height:1.72!important}
.lvt-exam-blackbar{font-size:14px!important;line-height:1.35}.lvt-exam-timer{font-size:20px!important}
.lvt-keyboard-strip{font-size:15px!important;font-weight:700}
.lvt-exam-source{font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:1.46!important;letter-spacing:.005em}
.lvt-exam-input{font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:1.55!important}
.lvt-lang-hindi .lvt-exam-source,.lvt-lang-hindi .lvt-exam-input,.lvt-lang-hindi .lvt-instructions-box{font-family:"Nirmala UI","Noto Sans Devanagari","Mangal","Segoe UI",sans-serif!important}

html.lvt-exam-running-html body.lvt-exam-running:has(.lvt-template-ahc){
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.lvt-exam-running .lvt-template-ahc.lvt-ws-root{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  z-index:2147483000!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  transform:none!important;
  background:#fff!important;
}
body.lvt-exam-running .lvt-template-ahc #lvt-ws-exam{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0 0 18px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow-x:hidden!important;
}
body.lvt-exam-running .lvt-template-ahc,
body.lvt-exam-running .lvt-template-ahc *{box-sizing:border-box;min-width:0}
body.lvt-exam-running .lvt-template-ahc .lvt-exam-blackbar,
body.lvt-exam-running .lvt-template-ahc .lvt-exam-controlrow,
body.lvt-exam-running .lvt-template-ahc .lvt-keyboard-strip{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.lvt-exam-running .lvt-template-ahc .lvt-exam-blackbar{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.lvt-exam-running .lvt-template-ahc .lvt-exam-controlrow{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  padding:12px clamp(14px,3vw,54px)!important;
}
body.lvt-exam-running .lvt-template-ahc .lvt-candidate-chip{display:none!important}
body.lvt-exam-running .lvt-template-ahc .lvt-exam-timer{justify-self:end!important;white-space:nowrap!important}
body.lvt-exam-running .lvt-template-ahc .lvt-keyboard-strip{
  flex-wrap:wrap!important;
  gap:clamp(14px,3vw,46px)!important;
  padding:8px clamp(14px,2vw,34px)!important;
  height:auto!important;
  min-height:38px!important;
  overflow:hidden!important;
}
body.lvt-exam-running .lvt-template-ahc .lvt-exam-source,
body.lvt-exam-running .lvt-template-ahc .lvt-exam-input{
  display:block!important;
  width:calc(100% - 24px)!important;
  max-width:calc(100% - 24px)!important;
  margin-left:12px!important;
  margin-right:12px!important;
  overflow-x:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  white-space:pre-wrap!important;
}
body.lvt-exam-running .lvt-template-ahc .lvt-exam-source{
  margin-top:8px!important;
  min-height:clamp(245px,38vh,430px)!important;
  max-height:44vh!important;
  font-size:18px!important;
  line-height:1.5!important;
}
body.lvt-exam-running .lvt-template-ahc .lvt-exam-input{
  margin-top:22px!important;
  min-height:clamp(135px,24vh,300px)!important;
  font-size:18px!important;
}
body.lvt-exam-running .lvt-template-ahc .lvt-exam-actions{
  width:100%!important;
  max-width:none!important;
  margin:24px 0 0!important;
  padding:0 clamp(24px,8vw,140px)!important;
}
.lvt-template-ahc:fullscreen,.lvt-template-ahc:-webkit-full-screen{
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:#fff!important;
}
@media(max-width:760px){
  .lvt-exam-source,.lvt-exam-input{font-size:16px!important}.lvt-instructions-box li{font-size:14px!important}
  body.lvt-exam-running .lvt-template-ahc .lvt-exam-controlrow{padding:10px 12px!important;gap:10px!important}
  body.lvt-exam-running .lvt-template-ahc .lvt-exam-timer{font-size:16px!important}
  body.lvt-exam-running .lvt-template-ahc .lvt-exam-source,
  body.lvt-exam-running .lvt-template-ahc .lvt-exam-input{width:calc(100% - 12px)!important;max-width:calc(100% - 12px)!important;margin-left:6px!important;margin-right:6px!important}
  body.lvt-exam-running .lvt-template-ahc .lvt-exam-actions{padding:0 18px!important}
}

/* v1.4.2 / Suite 5.2.2 — unified exam viewport safety.
 * Every exam template is mounted directly under <body> while running. This keeps
 * UP Police / UPSSSC / AHC inside the viewport even after the user exits browser fullscreen.
 */
html.lvt-exam-running-html,
html.lvt-exam-running-html body.lvt-exam-running{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:#fff!important;
}
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws]{
  position:fixed!important;
  inset:0!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  z-index:2147483000!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  transform:none!important;
  background:#fff!important;
}
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] #lvt-ws-exam{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow-x:hidden!important;
}
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws],
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] *{box-sizing:border-box;min-width:0}
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-exam-titlebar,
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-exam-blackbar,
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-exam-controlrow,
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-keyboard-strip{
  width:100%!important;
  max-width:100%!important;
}
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-exam-controlrow{
  grid-template-columns:minmax(0,1fr) auto auto;
}
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-exam-source,
body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-exam-input{
  max-width:calc(100% - 16px)!important;
  overflow-x:hidden!important;
  overflow-wrap:anywhere!important;
}
body.lvt-exam-running>.lvt-template-up_police .lvt-exam-source,
body.lvt-exam-running>.lvt-template-upsssc .lvt-exam-source,
body.lvt-exam-running>.lvt-template-up_police .lvt-exam-input,
body.lvt-exam-running>.lvt-template-upsssc .lvt-exam-input{
  width:calc(100% - 16px)!important;
  margin-left:8px!important;
  margin-right:8px!important;
}
@media(max-width:900px){
  body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-exam-controlrow{grid-template-columns:minmax(0,1fr) auto!important}
  body.lvt-exam-running>.lvt-ws-root[data-lvt-ws] .lvt-candidate-chip{display:none!important}
}


/* v1.4.3 / Suite 5.2.3 — keep UPSSSC Kruti Dev answer panel visually separated
 * from the source panel, matching the normal Mangal/Inscript answer-box spacing.
 */
body.lvt-exam-running>.lvt-template-upsssc.lvt-kruti-mode .lvt-kruti-live-preview{
  display:block!important;
  width:calc(100% - 16px)!important;
  max-width:calc(100% - 16px)!important;
  min-height:180px!important;
  margin:34px 8px 0!important;
}


/* 5.7.1 usability fixes: clearer action buttons + visible caret in Kruti mode */
.lvt-ws-btn,.lvt-exam-cancel,.lvt-exam-submit{
  font-size:15px!important;
  line-height:1.2!important;
  letter-spacing:.01em;
}
.lvt-ws-btn-primary,.lvt-exam-submit{
  background:#145fd7!important;
  color:#fff!important;
  font-weight:850!important;
}
.lvt-ws-btn-light{
  color:#162136!important;
  font-weight:800!important;
}
.lvt-kruti-overlay{
  position:relative;
}
.lvt-kruti-overlay .lvt-kruti-live-preview{
  display:none;
  margin:0!important;
  min-height:100%;
}
.lvt-kruti-mode .lvt-kruti-overlay{
  margin:34px 8px 0!important;
}
.lvt-kruti-mode .lvt-kruti-overlay .lvt-kruti-live-preview{
  display:block!important;
  position:relative;
  z-index:1;
}
.lvt-kruti-mode .lvt-kruti-overlay > .lvt-exam-input,
.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;
  /* Native caret inside a transparent overlay is unreliable in Chromium.
   * A synchronized visual caret is rendered in the preview instead. */
  caret-color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}
.lvt-kruti-visual-caret{
  display:none;
  width:2px;
  height:1.22em;
  margin-left:1px;
  vertical-align:-0.18em;
  background:#0f172a;
  animation:lvtKrutiCaretBlink 1s steps(1,end) infinite;
}
.lvt-kruti-mode .lvt-kruti-overlay.is-input-focus .lvt-kruti-visual-caret{display:inline-block}
@keyframes lvtKrutiCaretBlink{0%,48%{opacity:1}49%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.lvt-kruti-visual-caret{animation:none;opacity:1}}
.lvt-kruti-mode .lvt-kruti-overlay > .lvt-exam-input:focus,
.lvt-kruti-mode .lvt-kruti-overlay > .lvt-ws-input:focus{
  box-shadow:none!important;
}
.lvt-template-upsssc .lvt-exam-input,
.lvt-template-up_police .lvt-exam-input{
  caret-color:#0f172a;
}
