/* LV Typing Suite 5.3.0 — Progress, result analytics and wider desktop canvas */
@media (min-width:1280px){
  body.lvts-compact-ui .lvt-page-inner,
  body.lvts-compact-ui .lvt-container,
  .lvts-wide-page .lvt-content-narrow,
  .lvts-wide-page .lvt-page-header{max-width:1320px!important}
}
.lvts-account-dashboard{max-width:1320px!important}

/* General Practice full result state */
.lv50-general-run.is-finished .lv50-lesson-top,
.lv50-general-run.is-finished .lv50-live-stats,
.lv50-general-run.is-finished .lv50-run-work,
.lv50-general-run.is-finished>.lv50-actions{display:none!important}
.lv50-result-dashboard{margin-top:18px;background:linear-gradient(180deg,#fff,#f7faff);border:1px solid #dce6f3;border-radius:18px;padding:24px;box-shadow:0 16px 38px rgba(15,43,87,.08);color:#142036}
.lv50-result-dashboard[hidden]{display:none!important}
.lv50-result-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.lv50-result-head small{display:block;color:#1d63e9;font-size:10px;font-weight:950;letter-spacing:.12em}
.lv50-result-head h2{font-size:clamp(28px,3vw,40px);line-height:1.05;margin:5px 0 7px}
.lv50-result-head p{margin:0;color:#637188;font-size:13px;line-height:1.6;max-width:720px}
.lv50-result-score{min-width:112px;text-align:center;background:#10274f;color:#fff;border-radius:16px;padding:14px 16px}.lv50-result-score span{display:block;font-size:10px;color:#b8c9e5}.lv50-result-score strong{display:block;font-size:28px;margin-top:3px}
.lv50-result-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.lv50-result-metrics>div{background:#fff;border:1px solid #e0e7f0;border-radius:12px;padding:12px}.lv50-result-metrics span{display:block;color:#78869a;font-size:9px}.lv50-result-metrics strong{display:block;font-size:18px;margin-top:4px;color:#111d33}
.lv50-result-insights{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:12px}.lv50-result-insights>div{background:#fff;border:1px solid #e0e7f0;border-radius:12px;padding:14px}.lv50-result-insights small{display:block;color:#1d63e9;font-size:9px;font-weight:900;letter-spacing:.08em}.lv50-result-insights p{margin:5px 0 0;color:#526179;font-size:12px;line-height:1.55}.lv50-result-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.lv50-result-compare div{background:#f6f8fc;border-radius:9px;padding:9px}.lv50-result-compare span{display:block;color:#7b8899;font-size:8px}.lv50-result-compare b{display:block;font-size:12px;margin-top:2px}
.lv50-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.lv50-result-actions button,.lv50-result-actions a{border:0;border-radius:9px;padding:9px 12px;font-size:10px;font-weight:900;text-decoration:none!important;cursor:pointer}.lv50-result-actions .primary{background:#1d63e9;color:#fff!important}.lv50-result-actions .light{background:#eef3f9;color:#40506a!important;border:1px solid #dfe6ef}.lv50-save-state{margin-top:10px;font-size:10px;font-weight:850;color:#6c798c}.lv50-save-state.is-saved{color:#0b7b46}.lv50-save-state.is-login{color:#8a5a00}

/* Account progress */
.lvts-progress-dashboard{margin-top:34px;border-top:1px solid #e4eaf2;padding-top:28px}
.lvts-progress-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.lvts-progress-heading h2{font-size:30px;margin:5px 0 6px}.lvts-progress-heading p{margin:0;color:#66748a;font-size:13px}.lvts-progress-filters{display:grid;gap:7px;justify-items:end}.lvts-progress-filter-group{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.lvts-progress-filter-group a{font-size:9px;font-weight:850;color:#526079!important;text-decoration:none!important;border:1px solid #dfe6ef;background:#fff;border-radius:8px;padding:6px 8px}.lvts-progress-filter-group a.active{background:#1d63e9;border-color:#1d63e9;color:#fff!important}
.lvts-progress-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.lvts-progress-kpis>div{background:#f6f8fc;border:1px solid #e2e8f0;border-radius:13px;padding:14px}.lvts-progress-kpis span{display:block;color:#7a8799;font-size:10px}.lvts-progress-kpis strong{display:block;font-size:22px;margin-top:5px;color:#111d33}
.lvts-progress-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.lvts-progress-charts article,.lvts-progress-history{background:#fff;border:1px solid #e0e7ef;border-radius:15px;padding:15px}.lvts-progress-panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px}.lvts-progress-panel-head small{color:#1d63e9;font-size:8px;font-weight:900;letter-spacing:.1em}.lvts-progress-panel-head h3{font-size:16px;margin:3px 0 0}.lvts-progress-panel-head>span{font-size:9px;color:#7a8799}
.lvts-progress-chart{display:block;width:100%;height:auto;max-height:210px}.lvts-progress-chart .grid{stroke:#dce4ee;stroke-width:1}.lvts-progress-chart .trend{fill:none;stroke:#1d63e9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.lvts-progress-chart .dot{fill:#fff;stroke:#1d63e9;stroke-width:3}.lvts-progress-chart-meta{display:flex;justify-content:space-between;gap:8px;color:#7a8799;font-size:9px}.lvts-progress-chart-meta b{color:#1b2940}.lvts-progress-empty-mini{padding:52px 10px;text-align:center;color:#7a8799;font-size:11px}
.lvts-progress-history{margin-top:12px}.lvts-progress-table-wrap{overflow:auto}.lvts-progress-table{width:100%;border-collapse:collapse;min-width:900px}.lvts-progress-table th{text-align:left;font-size:9px;color:#65748a;border-bottom:1px solid #dfe6ef;padding:9px 8px;white-space:nowrap}.lvts-progress-table td{font-size:10.5px;color:#344259;border-bottom:1px solid #edf1f5;padding:10px 8px;vertical-align:top}.lvts-progress-table td strong{display:block;color:#152238}.lvts-progress-table td small{display:block;color:#8793a3;margin-top:2px}.lvts-progress-table td b{color:#145fd2}
.lvts-progress-empty{margin-top:18px;background:#f6f8fc;border:1px dashed #d6dfeb;border-radius:14px;padding:24px;text-align:center}.lvts-progress-empty strong{font-size:17px}.lvts-progress-empty p{color:#69778b}.lvts-progress-empty>div{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
@media(max-width:1000px){.lv50-result-metrics{grid-template-columns:repeat(3,1fr)}.lv50-result-insights,.lvts-progress-charts{grid-template-columns:1fr}.lvts-progress-heading{align-items:flex-start;flex-direction:column}.lvts-progress-filters{justify-items:start}.lvts-progress-filter-group{justify-content:flex-start}}
@media(max-width:680px){.lv50-result-head{flex-direction:column}.lv50-result-metrics{grid-template-columns:repeat(2,1fr)}.lv50-result-compare,.lvts-progress-kpis{grid-template-columns:repeat(2,1fr)}.lv50-result-dashboard{padding:16px}}
.lvt-ws-result{max-width:980px!important}
.lvt-result-actions a.lvt-ws-btn{text-decoration:none!important;display:inline-flex;align-items:center}
.lvt-progress-save-state{margin-top:10px;font-size:11px;color:#cbd8ed;font-weight:800}.lvt-progress-save-state.is-saved{color:#8ff0bc}.lvt-progress-save-state.is-login{color:#ffd98a}

/* =========================================================
   LV Typing Suite 5.3.2 — Fluid desktop canvas + readable analytics
   Design goal: use the monitor instead of reserving oversized blank rails,
   while keeping a safe gutter and a 1600px cap on very wide displays.
   ========================================================= */
@media (min-width: 1024px){
  body.lvts-compact-ui .lvt-page-inner,
  body.lvts-compact-ui .lvt-container,
  .lvts-wide-page .lvt-content-narrow,
  .lvts-wide-page .lvt-page-header{
    width:calc(100% - 48px)!important;
    max-width:1600px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  .lvts-account-dashboard{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
@media (min-width: 1500px){
  body.lvts-compact-ui .lvt-page-inner,
  body.lvts-compact-ui .lvt-container,
  .lvts-wide-page .lvt-content-narrow,
  .lvts-wide-page .lvt-page-header{
    width:calc(100% - 64px)!important;
  }
}

/* Result screen: no micro-text. */
.lv50-result-dashboard{padding:clamp(20px,2vw,30px)!important}
.lv50-result-head small{font-size:12px!important}
.lv50-result-head h2{font-size:clamp(30px,2.5vw,42px)!important}
.lv50-result-head p{font-size:14px!important;line-height:1.6!important}
.lv50-result-score{min-width:126px!important;padding:16px 18px!important}
.lv50-result-score span{font-size:12px!important}
.lv50-result-score strong{font-size:30px!important}
.lv50-result-metrics{gap:11px!important}
.lv50-result-metrics>div{padding:14px!important}
.lv50-result-metrics span{font-size:12px!important;line-height:1.35!important}
.lv50-result-metrics strong{font-size:20px!important;line-height:1.25!important}
.lv50-result-insights{gap:14px!important;margin-top:14px!important}
.lv50-result-insights>div{padding:16px!important}
.lv50-result-insights small{font-size:11.5px!important}
.lv50-result-insights p{font-size:14px!important;line-height:1.6!important}
.lv50-result-compare{gap:10px!important}
.lv50-result-compare div{padding:11px!important}
.lv50-result-compare span{font-size:11.5px!important;line-height:1.35!important}
.lv50-result-compare b{font-size:13.5px!important;line-height:1.35!important}
.lv50-result-actions{gap:10px!important;margin-top:18px!important}
.lv50-result-actions button,.lv50-result-actions a{
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 15px!important;
  font-size:13px!important;
  border-radius:10px!important;
}
.lv50-save-state{font-size:12.5px!important;line-height:1.45!important}

/* General Practice controls and status: readable at 100% browser zoom. */
.lv50-general-run .lv50-lesson-top small{font-size:12px!important}
.lv50-general-run .lv50-lesson-top h1{font-size:clamp(27px,2.1vw,34px)!important}
.lv50-general-run .lv50-run-top>a,
.lv50-general-run .lv50-run-top span,
.lv50-general-run .lv50-run-badges span{font-size:12px!important;line-height:1.35!important}
.lv50-general-run .lv50-run-font button{font-size:12.5px!important;padding:7px 10px!important;min-width:34px!important}
.lv50-general-run .lv50-live-stats span{font-size:12px!important}
.lv50-general-run .lv50-live-stats strong{font-size:18px!important}
.lv50-general-run .lv50-run-work label{font-size:12px!important;line-height:1.35!important}
.lv50-general-run .lv50-actions button{
  min-height:40px!important;
  padding:10px 15px!important;
  font-size:13px!important;
  border-radius:9px!important;
}

/* My Progress: readable labels, filters, chart captions and history table. */
.lvts-progress-dashboard{margin-top:30px!important;padding-top:26px!important}
.lvts-progress-heading h2{font-size:clamp(30px,2.3vw,38px)!important;line-height:1.1!important}
.lvts-progress-heading p{font-size:14px!important;line-height:1.55!important}
.lvts-progress-filters{gap:9px!important}
.lvts-progress-filter-group{gap:7px!important}
.lvts-progress-filter-group a{
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:12px!important;
  padding:8px 11px!important;
  border-radius:9px!important;
}
.lvts-progress-kpis{gap:12px!important;margin-top:20px!important}
.lvts-progress-kpis>div{padding:16px!important}
.lvts-progress-kpis span{font-size:12px!important;line-height:1.4!important}
.lvts-progress-kpis strong{font-size:24px!important;line-height:1.2!important}
.lvts-progress-charts{gap:14px!important;margin-top:14px!important}
.lvts-progress-charts article,.lvts-progress-history{padding:18px!important}
.lvts-progress-panel-head{margin-bottom:11px!important}
.lvts-progress-panel-head small{font-size:11px!important;line-height:1.3!important}
.lvts-progress-panel-head h3{font-size:18px!important;line-height:1.3!important}
.lvts-progress-panel-head>span{font-size:12px!important}
.lvts-progress-chart-meta{font-size:12px!important;line-height:1.4!important;margin-top:7px!important}
.lvts-progress-empty-mini{font-size:13px!important}
.lvts-progress-history{margin-top:14px!important}
.lvts-progress-table{min-width:980px!important}
.lvts-progress-table th{font-size:11.5px!important;padding:11px 10px!important;line-height:1.35!important}
.lvts-progress-table td{font-size:13px!important;padding:12px 10px!important;line-height:1.45!important}
.lvts-progress-table td small{font-size:11.5px!important;line-height:1.4!important;margin-top:3px!important}
.lvts-progress-empty strong{font-size:18px!important}
.lvts-progress-empty p{font-size:14px!important}

@media (max-width: 1023px){
  body.lvts-compact-ui .lvt-page-inner,
  body.lvts-compact-ui .lvt-container,
  .lvts-wide-page .lvt-content-narrow,
  .lvts-wide-page .lvt-page-header{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
@media (max-width: 680px){
  .lv50-result-metrics span,
  .lvts-progress-kpis span{font-size:11.5px!important}
  .lvts-progress-table td{font-size:12.5px!important}
}

/* =========================================================
   LV Typing Suite 5.4.0 — consistent public desktop canvas
   ========================================================= */
@media (min-width:1024px){
  /* Front page was previously missing the wide-page class in some themes. */
  body.home .lvt-container,
  body.home .lvt-page-inner,
  body.front-page .lvt-container,
  body.front-page .lvt-page-inner,
  body.lvts-page-home .lvt-container,
  body.lvts-page-home .lvt-page-inner,
  body.lvts-page-home .lvt-content-narrow,
  body.lvts-page-home .lvt-page-header{
    width:calc(100% - 48px)!important;
    max-width:1600px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  /* The practice runner had its own old 1180px cap, so it ignored the wider page. */
  .lvts-page-practice .lv50-general-run,
  .lv50-general-run{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  .lv50-result-dashboard{width:100%!important;max-width:none!important;box-sizing:border-box!important}
}
@media (min-width:1500px){
  body.home .lvt-container,
  body.home .lvt-page-inner,
  body.front-page .lvt-container,
  body.front-page .lvt-page-inner,
  body.lvts-page-home .lvt-container,
  body.lvts-page-home .lvt-page-inner,
  body.lvts-page-home .lvt-content-narrow,
  body.lvts-page-home .lvt-page-header{
    width:calc(100% - 64px)!important;
  }
}

/* Exam directory categories / verification state. */
.lv50-exam-category{margin:22px 0 28px}
.lv50-exam-category:first-of-type{margin-top:10px}
.lv50-exam-category-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 10px}
.lv50-exam-category-head>div small{display:block;color:#1d63e9;font-size:11px;font-weight:900;letter-spacing:.1em}
.lv50-exam-category-head h2{margin:4px 0 0;font-size:clamp(23px,2vw,30px);line-height:1.15}
.lv50-exam-category-head>span{font-size:12px;color:#6c7a8f}
.lv50-profile-state{display:inline-flex!important;align-items:center!important;gap:5px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.04em!important;padding:5px 8px!important;border-radius:999px!important}
.lv50-profile-state.official{background:#eaf8f0!important;color:#087347!important;border:1px solid #bde8cf!important}
.lv50-profile-state.reference{background:#fff7e5!important;color:#8a5a00!important;border:1px solid #f0d28f!important}
.lv50-exam-card.is-reference{border-style:dashed}
.lv50-exam-card.is-reference .lv50-exam-card-title>span{background:#fff5dd;color:#9a6200}
.lv50-exam-card .lv50-exam-meta span{font-size:11px!important}
.lv50-exam-card>p{font-size:13px!important;line-height:1.55!important}
.lv50-exam-actions a{font-size:12px!important;min-height:36px;display:inline-flex;align-items:center}
@media(max-width:760px){
  .lv50-exam-category-head{align-items:flex-start;flex-direction:column}
}
