.vnt-trainer{font-family:inherit;max-width:860px;margin:0 auto;color:#1c2733}
.vnt-trainer *{box-sizing:border-box}
.vnt-head{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.vnt-stat{flex:1;min-width:110px;background:#f2f7fb;border:1px solid #dbe7f0;border-radius:12px;padding:10px 12px;text-align:center}
.vnt-stat-num{display:block;font-size:24px;font-weight:700;color:#0b5cad}
.vnt-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#5a6b7a}
.vnt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.vnt-tab{border:1px solid #c9d8e4;background:#fff;border-radius:999px;padding:8px 16px;font-size:15px;cursor:pointer}
.vnt-tab.is-on{background:#0b5cad;border-color:#0b5cad;color:#fff}
.vnt-body{background:#fff;border:1px solid #e2eaf0;border-radius:14px;padding:20px;min-height:220px}
.vnt-intro{font-size:16px;line-height:1.55;color:#33475b;margin:0 0 14px}
.vnt-hint{font-size:13px;color:#7a8a99;margin-top:10px}
.vnt-lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.vnt-lesson{text-align:left;border:1px solid #dbe7f0;background:#f8fbfd;border-radius:12px;padding:14px;cursor:pointer}
.vnt-lesson:hover{border-color:#0b5cad}
.vnt-lesson.is-locked{opacity:.55;cursor:not-allowed}
.vnt-lesson-title{display:block;font-weight:700;font-size:16px;margin-bottom:4px;color:#123}
.vnt-lesson-meta{font-size:13px;color:#5a6b7a}
.vnt-btn{background:#0b5cad;color:#fff;border:0;border-radius:10px;padding:11px 20px;font-size:16px;cursor:pointer}
.vnt-btn:hover{background:#094e8f}
.vnt-btn-ghost{background:#fff;color:#0b5cad;border:1px solid #0b5cad}
.vnt-durations{display:flex;gap:10px;flex-wrap:wrap}
.vnt-session-top{display:flex;justify-content:space-between;align-items:baseline}
.vnt-session-top h3{margin:0 0 8px}
.vnt-clock{font-weight:700;font-size:20px;color:#0b5cad}
.vnt-target{font-size:27px;line-height:1.7;padding:14px 16px;background:#f7fafc;border-radius:12px;border:1px solid #e2eaf0;word-spacing:2px}
.vnt-word{color:#33475b}
.vnt-word.is-done{color:#a7bccb}
.vnt-word.is-cur{color:#0b5cad;font-weight:700;text-decoration:underline}
.vnt-typed{font-size:24px;line-height:1.6;padding:12px 16px;margin-top:10px;background:#fffdf5;border:1px dashed #d8c98a;border-radius:12px;min-height:58px}
.vnt-ok{color:#178a4c}
.vnt-bad{color:#cf222e;text-decoration:line-through}
.vnt-cur{color:#8a6d00;border-bottom:2px solid #d8a400}
.vnt-caret-note{display:block;font-size:13px;color:#98a6b3;margin-top:4px}
.vnt-live{display:flex;gap:22px;margin-top:10px;font-size:15px;color:#33475b;font-weight:600}
.vnt-result{text-align:center;padding:16px 0}
.vnt-result h3{font-size:30px;margin:0 0 8px;color:#0b5cad}
.vnt-pass{color:#178a4c;font-weight:700}
.vnt-result-btns{display:flex;gap:10px;justify-content:center;margin-top:14px}
.vnt-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:14px}
.vnt-bar-label{width:210px;color:#33475b}
.vnt-bar{flex:1;height:12px;background:#eef3f7;border-radius:6px;overflow:hidden}
.vnt-bar-fill{display:block;height:100%;background:#0b5cad}
.vnt-bar-val{width:130px;color:#5a6b7a}
.vnt-history{line-height:1.7}
.vnt-capture{position:absolute;opacity:0;pointer-events:none;height:1px;width:1px}
.vnt-loading{padding:24px;text-align:center;color:#5a6b7a}
@media (max-width:640px){.vnt-target{font-size:22px}.vnt-typed{font-size:20px}.vnt-bar-label{width:130px}}
