/* vstep.css — VSTEP
   (tách từ index.html; thứ tự nạp các file CSS phải giữ như trong index.html) */
/* ---------- VSTEP practice ---------- */
#vstep{height:100%;overflow:auto;background:var(--soft)}
.vs-hero{background:linear-gradient(135deg,#7a1f1f,#b3261e)}
.vs-exam .vs-bar{background:#7a1f1f}
.vs-strip{background:#fbeceb;border-color:#f0cfcc;color:#7a1f1f}
.vs-exam .ap-btn{border-color:#7a1f1f;color:#7a1f1f}
.vs-exam .ap-btn.pri{background:#7a1f1f;color:#fff}
.vs-exam .vs-q{padding-left:12px;padding-right:8px;border-radius:6px;transition:background .15s}
.vs-exam .vs-q.vs-qcur{background:#fdf6f5;box-shadow:inset 3px 0 0 #7a1f1f}
.vs-exam .ap-dot.done{background:#f6d6d3;border-color:#d48c86;color:#7a1f1f}
.vs-exam .ap-dot.cur{outline-color:#7a1f1f}
.vs-exam .ap-play{background:#7a1f1f}
.vs-exam .ap-play[disabled]{background:#d9b3b0}
.vs-exam .ap-player{background:#fdf5f4;border-color:#f0cfcc}
.vs-dot{padding:0 8px}
.vs-q{padding:10px 0 12px;border-bottom:1px solid #eee}
.vs-q:last-child{border-bottom:0}
.vs-q .tf-qtext{margin:0 0 6px}
.vs-passage p{line-height:1.7}
.vs-pn{font-weight:700;color:#7a1f1f}
.vs-topic{background:#fff;border:1px solid #ddd;border-left:4px solid #7a1f1f;border-radius:6px;padding:10px 16px;font-weight:600}
.vs-ta{width:100%}
.vs-card{text-align:left;background:#fff;border:1px solid #e6d4d2;border-radius:10px;padding:16px 20px;margin:0 auto 14px;max-width:640px}
.vs-optlist{margin:8px 0 12px;padding-left:22px;display:grid;gap:4px}
.vs-map{display:grid;gap:14px;justify-items:center}
.vs-hub{background:#7a1f1f;color:#fff;font-weight:700;border-radius:10px;padding:12px 18px;text-align:center;max-width:420px}
.vs-legs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.vs-leg{border:2px solid #d48c86;border-radius:999px;padding:8px 14px;text-align:center;background:#fdf5f4}
.vs-leg.own{border-style:dashed;color:var(--muted)}
.vs-exam .tf-recs{grid-template-columns:1fr}
@media (min-width:761px){.vs-split .tf-left,.vs-split .tf-right{max-height:calc(100vh - 210px);overflow:auto;padding-right:12px}}
@media (max-width:760px){.vs-legs{grid-template-columns:1fr}}
