{
  "schema_version": 3,
  "generated_on": "2026-09-05",
  "source_fingerprint": "4163bc9bea7faa5ae34d700cdbdd1b1070a65967ebde1882273f5c2802ad9db1",
  "title": "Sổ đáp án nhanh",
  "notice": "Đáp án tham khảo đã được phân tích; không phải đáp án chính thức. Câu projection OCR cần đối chiếu ảnh nếu còn mơ hồ.",
  "stats": {
    "total": 710,
    "ready": 705,
    "provisional": 5,
    "practice_tests": 500,
    "grammar": 94,
    "writing": 116,
    "answer_only": 45,
    "question_translated": 710,
    "answer_translated": 710,
    "pedagogical_explanations": 710,
    "complete_mcq_options": 544,
    "question_unavailable": 0,
    "source_verified_questions": 597,
    "ocr_projection_questions": 113,
    "contexts": 30
  },
  "pages": [
    {
      "page": 1,
      "summary": "Practice Test 1; Vocabulary 1–10; mở đầu passage The Origin of Jeans",
      "has_answers": true
    },
    {
      "page": 2,
      "summary": "Kết thúc passage 1, câu 11–15; passage The Furby Fad; mở đầu câu 16",
      "has_answers": true
    },
    {
      "page": 3,
      "summary": "Nối câu 16; Practice Test 1 — Grammar",
      "has_answers": true
    },
    {
      "page": 4,
      "summary": "Practice Test 1",
      "has_answers": true
    },
    {
      "page": 5,
      "summary": "Practice Test 1",
      "has_answers": true
    },
    {
      "page": 6,
      "summary": "Practice Test 1",
      "has_answers": false,
      "content_type": "listening",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "60. How long has the woman been waiting?\n(B) Fifteen minutes.\n(A) Ten minutes.\n(D) Forty minutes.\n(C) Thirty minutes.\nPART B\nIn this part you will hear a longer conversation followed by five questions. Select the best\nanswer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 61 through 65: You will hear an interview with a singer called Nick Parker who\nplays in a band called Krispy with her sister Mel.\n61. When Nick and Mel were younger, _\nA. they studied music at school.\nB. their father took them to live concerts.\nC. their mother encouraged them to play music.\nD. they joined some great bands.\n62. When Nick and Mel started writing music together, they\nA. disagreed about the style they should have.\nB. didn't want to be the same as other bands.\nC. were influenced by different kinds of music.\nD. both loved music from Africa.\n63. The band Krispy was started after_\nA. Nick began studying at music school.\nB. two other musicians heard Nick and Mel playing.\nC. Nick and Mel advertised for the band members.\nD. they invited two other students to join.\n64. In the band's first year together,\nA. they just spent time studying at school.\nB. they signed a recording contract.\nC. their national tour was very successful.\nD. concert audiences liked their music.\n65. What does Nick say about life in the band today?\nA. The older members look after him and Mel.\nB. He's pleased to have the chance to travel.\nC. There's no opportunity for them to relax together.\nD. It is hard to work together\n1\nPART C\nIn this part you will hear a talk given by a single person followed by five questions. Select the\nbest answer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\n4\nC\nQuestions 66 through 70: You will hear a talk given to visitors to a fashion museum.\nA"
    },
    {
      "page": 7,
      "summary": "Kết thúc Practice Test 1; mở Practice Test 2",
      "has_answers": true
    },
    {
      "page": 8,
      "summary": "Practice Test 2",
      "has_answers": true
    },
    {
      "page": 9,
      "summary": "Practice Test 2",
      "has_answers": true
    },
    {
      "page": 10,
      "summary": "Practice Test 2",
      "has_answers": true
    },
    {
      "page": 11,
      "summary": "Practice Test 2",
      "has_answers": true
    },
    {
      "page": 12,
      "summary": "Practice Test 2",
      "has_answers": true
    },
    {
      "page": 13,
      "summary": "Practice Test 2",
      "has_answers": false,
      "content_type": "listening",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "55. Whose office is at the end of the hall?\nA. Cindy's boss's office.\nB. Cindy's office.\nC. John's boss's office.\nD. John's office.\n56. What's the new accountant's name?\nA. Bill.\nB. Bob.\nC. Mr. Ortega.\nD. Mrs. Ortega.\n57. What's Frank's profession?\nA. He's a lawyer.\nB. He's an economist.\nC. He's a student.\nD. He's a professor.\n58. Who's in the hospital?\nA. Marsha.\nB. Jim.\nC. Linda.\nD. Jim's wife.\n59. Whose car's parked by the front door?\nA. Martin's car.\nB. Sandy's car.\nC. The (new) secretary's car.\nD. The director's car.\n60. What's the woman's job?\nA. She's a bank teller.\nB. She's a police officer.\nC. She's a bus driver.\nD. She's a mail carrier.\nPART B\nIn this part you will hear a longer conversation followed by five questions. Select the best\nanswer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 61 through 65: You will hear an interview with a teenager called Simon about\ngoing to an indoor climbing center that has a climbing wall.\n61. Simon's mum decided to take him to the climbing centre because\nA. she had enjoyed going there.\nB. her friend had recommended it.\nC. Simon had been there with her school. D. he was sick last year.\n62. Before he went to the center, Simon was\nA. worried about going climbing there.\nB. interested in seeing the climbing wall.\nC. disappointed to hear it was all indoors.\nD. happy it was not outdoors.\n63. What did Simon think about the climbing wall?\nA. He thought it looked very high.\nB. He was afraid he might fall.\nC. He did not liked rocks of different sizes.\nD. He found the foot holes helpful.\n64. Simon was unhappy with his first climb because\nA. he was slower than everyone else.\nB. he found it hurt his arms.\nC. he didn't get to the top.\nD. the instructor did not tell him what to do.\n65. When climbing at the centre, Sumon learnt\nA. how to improve his fitness."
    },
    {
      "page": 14,
      "summary": "Kết thúc Practice Test 2; mở Practice Test 3",
      "has_answers": true
    },
    {
      "page": 15,
      "summary": "Practice Test 3",
      "has_answers": true
    },
    {
      "page": 16,
      "summary": "Practice Test 3",
      "has_answers": true
    },
    {
      "page": 17,
      "summary": "Practice Test 3",
      "has_answers": true
    },
    {
      "page": 18,
      "summary": "Practice Test 3",
      "has_answers": true
    },
    {
      "page": 19,
      "summary": "Practice Test 3",
      "has_answers": true
    },
    {
      "page": 20,
      "summary": "Practice Test 3",
      "has_answers": false,
      "content_type": "listening",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "C. With cash.\nA. With the money order.\nD. With a check.\nB. With a credit card.\n57. What will the woman probably do?\nC. Turn on the air-conditioning.\nA. Turn off the air-conditioning.\nD. Close the window.\nB. Open the window.\n58. What will the man do?\nC. Plug the machine in.\nA. Buy a new machine.\nD. Use his coworker's machine.\nB. Fix the old machine.\n59. What does the woman want to do?\nA. Look at the movie schedule.\nC. Read the news.\nB. Borrow some paper.\nD. Buy a newspaper.\n60. What will the woman probably buy?\nA. A sweater.\nC. A suit.\nB. A skirt.\nD. A dress.\nPART B\nIn this part you will hear a longer conversation followed by five questions. Select the best\nanswer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 61 through 65: You will hear a radio interview with a teenage surfer called\nAbby Fielding.\n61. Abby first decided to go surfing when\nA. her dad offered to teach her.\nB. she saw some local competitions.\nC. her mother gave her money for a surfboard.\nD. her family started to love going to the beach.\n62. When she started surfing, Abby discovered that\nA. it cost a lot to practise.\nB. her local surfing school was expensive.\nC. she needed more equipment than she'd expected.\nD. it was good to try different surfboards.\n63. Abby says that when surfing in the winter\nA. the sea is warm enough where she lives.\nB. she wears a special suit for winter surfing.\nC. she needs to always wear gloves.\nD. the beaches are very quiet then.\n64. How did Abby feel about surfing the enormous wave?\nA. Disappointed that she didn't have the right board.\nB. Worried at first by the size of the wave.\nC. Scared about falling off her board.\nD. It was not as big as she had thought.\n65. Abby suggests that teenagers interested in surfing should\nA. not start until they are very strong swimmers.\nB. find a good surfing teacher.\nC. learn to surf in different conditions.\nD. not do what others do."
    },
    {
      "page": 21,
      "summary": "Kết thúc Practice Test 3; mở Practice Test 4",
      "has_answers": true
    },
    {
      "page": 22,
      "summary": "Practice Test 4",
      "has_answers": true
    },
    {
      "page": 23,
      "summary": "Practice Test 4",
      "has_answers": true
    },
    {
      "page": 24,
      "summary": "Practice Test 4",
      "has_answers": true
    },
    {
      "page": 25,
      "summary": "Practice Test 4",
      "has_answers": true
    },
    {
      "page": 26,
      "summary": "Practice Test 4",
      "has_answers": true
    },
    {
      "page": 27,
      "summary": "Practice Test 4",
      "has_answers": false,
      "content_type": "listening",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "B. Managing your finances.\nA. Earning money.\nD. Organizing your time.\nC. Finding a job.\n60. What are the speakers discussing?\nA. Going to work.\nB. Going to a party.\nC. Going out for dinner.\nD. Going out for a drink.\nPART B\nIn this part you will hear a longer conversation followed by five questions. Select the best\nanswer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 61 through 65: You will hear an interview with a champion gymnast called\nMaria Anderson.\n61. Maria decided to take up gymnastics\nA. when her teacher said she's good at sports.\nB. at a gymnastics competition.\nD. when she read a book about a gymnast.\nC. in a sports lesson at the school.\n62. Maria realized she could be a champion gymnast\nA. when she won some local competitions.\nB. as soon as she started to practise gymnastics.\nC. after she nearly gave up gymnastics.\nD. when a well-known coach offered to teach her.\n63. Maria thinks success has not changed her because\nA. she believes she's a sensible person.\nB. people tell her she's the same as before\nC. her parents help her live a normal life\nD. she has a lot of experience to stay the same.\n64. What does Maria say about school?\nA. She feels too tired to study.\nC. She is allowed to miss some lessons.\nB. She has little time with school friends.\nD. She has too much homework to do at night\n65. In her free time, Maria\nA. makes videos.\nB. goes to concerts.\nC. watches cartoon films.\nD. travels.\nPART C\nIn this part you will hear a talk given by a single person followed by five questions. Select the\nbest answer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 66 through 70: You will hear someone talking to a group of students about a\nvisit to an Arts Centre.\n66. There are still tickets for\nA. the piano concert.\nB. Twelfth Night.\nC. The Wild Duck.\nD. Spider and Rose.\n67. Why will the coach leave at 3.30?\nA. They don't want to miss the shows\nB. They want free time at the Arts Centre.\nC. It's a long journey to the Arts Centre.\nD. They need more time to find the Arts Centre.\n68. What do you have to pay to see?\nA. The Russian ballet exhibition.\nB. Children's prize-winning paintings.\nC. The Scottish jewellery.\nD. The South American photograph."
    },
    {
      "page": 28,
      "summary": "Kết thúc Practice Test 4; mở Practice Test 5",
      "has_answers": true
    },
    {
      "page": 29,
      "summary": "Practice Test 5",
      "has_answers": true
    },
    {
      "page": 30,
      "summary": "Practice Test 5",
      "has_answers": true
    },
    {
      "page": 31,
      "summary": "Practice Test 5",
      "has_answers": true
    },
    {
      "page": 32,
      "summary": "Practice Test 5",
      "has_answers": true
    },
    {
      "page": 33,
      "summary": "Practice Test 5",
      "has_answers": false,
      "content_type": "listening",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "B. Nobody wants to sit down.\nA. The chairs haven't been ordered yet.\nD. People prefer to sit on the floor.\nC. The chairs haven't arrived yet.\n52. Why does the man call the woman?\nB. To invite her to dinner.\nA. Because he needs some help.\nC. Because he's bored\nD. To arrange a meeting.\n53. Why is the woman going to Hawaii?\nB. To buy new clothes.\nA. To spend her vacation.\nD. To visit friends.\nC. To attend a conference.\n54. Why did the woman arrive late?\nB. She had a flat tire.\nA. She was in an accident.\nD. She was waiting for someone.\nC. She felt tired.\n55. Why is the window closed?\nB. The air-conditioning is on.\nA. It's cool outside.\nD. The street is very noisy.\nC. The room isn't warm enough.\n56. Why doesn't the man want to take the elevator?\nB. They're going down.\nA. The elevator is slow.\nD. He likes to walk.\nC. It's late.\n57. Why is the man staying late at the office?\nC. He has a day off tomorrow.\nA. He has to finish his work.\nD. He isn't tired.\nB. He's expecting a phone call.\n58. Why isn't the meeting in the conference room?\nB. It isn't big enough.\nA. There aren't enough chairs.\nD. It's being painted.\nC. The office is more comfortable.\n59. Why does the woman suggest taking the subway?\nB. The car is too fast.\nA. The office is close.\nD. It's late.\nC. Traffic is heavy.\n60. Why didn't the man eat lunch?\nB. He wasn't hungry.\nA. He forgot to eat.\nD. He didn't have time.\nC. He got to go to the cafeteria too late.\nPART B\nIn this part you will hear a longer conversation followed by five questions. Select the best\nanswer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 61 through 65: You will hear part of a local radio programme in which someone\nis talking about a shopping centre.\n61. The shopping centre opened\nC. two months ago.\nA. last week.\nD. three years ago.\nB. three weeks ago.\n62. The speaker suggests the best way of travelling to Waterside is by\nA. coach\nC. train\nD. walking.\nB. car.\n63.On Friday the shops are open from\nD. 10 to 10.\nA. 9 to 9.\nB. 10 to 8.\nC. 10 to 9."
    },
    {
      "page": 34,
      "summary": "Practice Test 5",
      "has_answers": false,
      "content_type": "listening-speaking",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "64.On the third level, you can\nA. get information.\nB. watch a film.\nC. find a bank.\nD. get a map.\n65. At Waterside, apart from shopping, you can\nA. feed the ducks.\nB. go swimming.\nC. go sailing.\nD. have a picnic.\nPART C\nIn this part you will hear a talk given by a single person followed by five questions. Select the\nbest answer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 66 through 70: You will hear part of a radio programme about classical music.\n66. What is the week's prize?\nA. A music cassette.\nB. Two concert tickets.\nC. Two theater tickets.\nD. A classical CD.\n67. Where did the person who wrote the music live?\nA. In Italy.\nB. In Spain.\nC. In France.\nD. In England.\n68. What else shares the title of this music?\nA. A garden.\nB. A play.\nC. A park.\nD. A theatre.\n69. What did people do when they first heard the music?\nA. Some left before the end.\nB. Some clapped their hands at the end.\nC. Some asked for their money back.\nD. Many thought it was amazing.\n70. What has happened to this piece of music?\nA. It has been played in the cinema.\nB. It has been used in advertising.\nC. It has been used for a TV play.\nD It has been advertised in a magazine.\nPAPER 4: SPEAKING\nA. Self-introduction\nB. Your best friend"
    },
    {
      "page": 35,
      "summary": "Kết thúc Practice Test 5; mở Practice Test 6",
      "has_answers": true
    },
    {
      "page": 36,
      "summary": "Practice Test 6",
      "has_answers": true
    },
    {
      "page": 37,
      "summary": "Practice Test 6",
      "has_answers": true
    },
    {
      "page": 38,
      "summary": "Practice Test 6",
      "has_answers": true
    },
    {
      "page": 39,
      "summary": "Practice Test 6",
      "has_answers": true
    },
    {
      "page": 40,
      "summary": "Practice Test 6",
      "has_answers": false,
      "content_type": "listening",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "52. Where are the speake\nA. At a train station.\nB. At a bus stop.\nC. At a swimming pool.\nD. At an airport.\n53. Where does the conversation take place?\nA. In a hotel.\nB. At an airport.\nC. In a parking garage.\nD. At a store\n54. Where did the man leave his phone?\nA. In the office.\nB. In a cab.\nC. At a restaurant\nD. On a bus.\n55. Where will the man wait?\nA. Upstairs.\nB. By the front door.\nC. Outside.\nD. Near the elevator.\n56. Where does the conversation take place?\nA. On a bus\nB. In a cab.\nC. At a fair.\nD. In a store.\n57. Where are the speakers?\nA. In a grocery store.\nB. In a restaurant.\nC. In a kitchen.\nD. On an airplane.\n58. Where are the speakers going?\nA. To a bookstore.\nB. To the library.\nC. To school.\nD. To the police station.\n59. Where does the conversation take place?\nA. In Los Angeles.\nB. At an airport.\nC. At a travel agency. D. On an airplane.\n60. Where are the speakers?\nA. In an office.\nB. In a gym.\nC. In a garage.\nD. In a park.\nPART B\nIn this part you will hear a longer conversation followed by five questions. Select the best\nanswer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 61 through 65: You will hear an interview with Angela Morgan, who has\nrecently flown around the world in a helicopter.\n61. The main reason for Angela's trip was to\nA. make money for her business.\nB. make money for other people.\nC. have an exciting adventure.\nD. do it before she was too old.\n62. About her life now, Angela\nA. feels much older.\nB. likes to be active and busy.\nC. is lonely without her children.\nD. feels different inside.\n63. When Angela had flying lessons,\nA. her course lasted five months.\nC. she got to know her teacher well.\nB. it took her three years to be able to fly.\nD. her husband took lessons as well.\n64. During the trip, Angela and her teacher\nA. did very little sightseeing.\nC. had engine problems several times.\nB. carried all the water they needed.\nD. spent many days in each country."
    },
    {
      "page": 41,
      "summary": "Kết thúc Practice Test 6; mở Practice Test 7",
      "has_answers": true
    },
    {
      "page": 42,
      "summary": "Practice Test 7",
      "has_answers": true
    },
    {
      "page": 43,
      "summary": "Practice Test 7",
      "has_answers": true
    },
    {
      "page": 44,
      "summary": "Practice Test 7",
      "has_answers": true
    },
    {
      "page": 45,
      "summary": "Practice Test 7",
      "has_answers": true
    },
    {
      "page": 46,
      "summary": "Practice Test 7",
      "has_answers": true
    },
    {
      "page": 47,
      "summary": "Practice Test 7",
      "has_answers": false,
      "content_type": "listening",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "C. Hear some music.\nD. Go to another restaurant.\n60. How long does the bus ride take?\nA. Half an hour.\nB. Forty minutes.\nC. Forty-five minutes. D. An hour.\nPART B\nIn this part you will hear a longer conversation followed by five questions. Select the best\nanswer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 61 through 65: You will hear an English woman called Britta talking to an\ninterviewer about her life in Berlin, the capital of Germany.\n61. Britta has lived in Berlin for\nA. four years.\nB. six years.\nC. twelve years.\nD. twenty years\n62. What does Britta say about living in Berlin?\nA. She can't sleep at night because of the traffic noise.\nB. She misses the museums and theatres in Bonn.\nC. She likes living in a big, busy city.\nD. She likes the traffic.\n63. The area of Berlin where Britta lives is\nA. a rather expensive place to live.\nB. a good place to eat out.\n• C. a long way from the city centre.\nD. a rather quiet place.\n64. How does Britta usually travel around in Berlin?\n- A. She walks.\nB. She uses her bicycle.\nC. She uses the tram or bus.\nD. She drives a car.\n65. Britta says that her nephew Philippe likes going\nA. to the park with her.\nC. to a gallery with her.\nD. to a restaurant with his parents.\nB. to the shops with his parents.\nPART C\nIn this part you will hear a talk given by a single person followed by five questions. Select the\nbest answer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 66 through 70: You will hear a woman called Sarah talking to a group of people\nabout her painting.\n66. How often does Sarah paint now?\nB. Four days a week.\nA. Three days a week.\nD. Every evening.\nC. Five days a week.\n67. Sarah earns enough money from her painting to\nB. pay for her flat and car.\nA. give up her computing job.\nD. pay for her art college.\nC. pay for her artist's material.\n68. When she was at primary school, Sarah\nB. learnt to use chalk.\nA. painted pictures of people.\nD. drew scenes in pencil.\nC. had art lessons twice a week.\n69. What pleased Sarah most about her painting holidays?\nB. Seeing beautiful scenery.\nA. Meeting other artists.\nD. Talking to countryside people.\nC. Receiving individual teaching."
    },
    {
      "page": 48,
      "summary": "Kết thúc Practice Test 7; mở Practice Test 8",
      "has_answers": true
    },
    {
      "page": 49,
      "summary": "Practice Test 8",
      "has_answers": true
    },
    {
      "page": 50,
      "summary": "Practice Test 8",
      "has_answers": true
    },
    {
      "page": 51,
      "summary": "Practice Test 8",
      "has_answers": true
    },
    {
      "page": 52,
      "summary": "Practice Test 8",
      "has_answers": true
    },
    {
      "page": 53,
      "summary": "Practice Test 8",
      "has_answers": false,
      "content_type": "listening",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "PAPER 3 LISTENING COMPREHENSION\nPART A: SHORT CONVERSATIONS\nIn this part you will hear ten conversations between two people. After the second listening of\neach conversation, you will hear a question and there are four possible answers provided.\nSelect the best answer to each question and record your choices on the answer sheet. You will\nhear the recording twice.\nQuestions 51 through 60.\n51. Why did the woman buy a new coat?\nB. She wants to own two coats.\nA. Her old coat was too small.\nD. The man didn't like her old coat.\nC. Her old coat wasn't a nice color.\n52. Where will Mr. Kim probably meet the speakers tonight?\nB. At the airport.\nA. At his hotel.\nD. At a subway station.\nC. At a restaurant.\n53. What will the man get?\nD. Ice cream.\nA. Tuna.\nB. Rice.\nC. Shrimp.\n54. Where is the woman going?\nB. To the park.\nC. To work.\nD. Home.\nA. To the store.\n> 55. What is the woman doing now?\nB. Typing a report.\nA. Reading a letter.\nD. Addressing envelopes.\nC. Eating lunch.\n56. Where will the speakers meet?\nB. At the dentist's office.\nA. At the woman's office.\nD. In a hotel.\nC. In a conference room.\n57. How long did he work at his old job?\nB. 14 years.\nC. 30 years.\nD. 40 years.\nA. 13 years.\n58. How much will the woman have to pay?\nD. $11.00.\nC. $9.00.\nB. $7.00.\nA. $3.00.\n59. What is the man going to do now?\nB. Have breakfast.\nA. Eat dinner.\nD. Attend a meeting.\nC. Go swimming.\n60. Why will Mrs. Davies be late?\nB. It's raining hard\nA. Her plane is delayed.\nD. Her car wont start.\nC. Her train is late.\nPART B\nIn this part you will hear a longer conversation followed by five questions. Select the best\nanswer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 61 through 65: You will hear a radio interview with a man who works on an\ninternational camp.\n61. If you want to apply for the Camp, you must"
    },
    {
      "page": 54,
      "summary": "Practice Test 8",
      "has_answers": false,
      "content_type": "listening-speaking",
      "content_note": "Phần nghe (và nói ở một số trang) — nguồn có câu hỏi in nhưng chưa có file nghe hoặc đáp án chốt.",
      "ocr_text": "C. speak more than one language.\nA. be a student.\nD. have a job.\nB. be at least twenty-four years old.\n62. In a Camp tent you can expect to\nA. mix with other nationalities.\nB. share with five other people.\nC. know the other people.\nD. know the other people's languages.\n63. The Camp want people who are\nA. good at cooking.\nB. good organizers.\nC. good at cleaning up.\nD. able to mix well with others.\n64. You have to take to the camp\nA. a tent.\nB. a map.\nC. pictures.\nD. some food.\n65. As a Camp member you should\nA. be a good singer.\nB. join in performances.\nC. be good at acting\nD. be a good dancer.\nPART C\nIn this part you will hear a talk given by a single person followed by five questions. Select the\nbest answer to each question and record your choices on the answer sheet. You will hear the\nrecording twice.\nQuestions 66 through 70: You will hear a man called Frank talking on the radio about\nlooking for ships that sank at sea long ago.\n66. The first old ship which Frank found was\nA. covered by rocks.\nB. covered in sand.\nC. older than he first thought.\nD. easy to find.\n67. Why can Frank find ships quickly?\nA. He reads history books.\nB. He is a professional diver.\nC. He uses the latest equipment.\nD. He is a teacher.\n68. What does Frank say about the ship called The Seabird?\nA. It was built in 1859.\nB. It sank in a storm.\nC. It was badly made.\nD. It was carrying gold to Australia.\n69. Frank says his wedding ring\nA. was made from gold he found himself.\nB. is worth £88,000.\nC. was given by a friend.\nD. was found on a ship.\n70. How did Frank learn to dive?\nA. by joining a diving club.\nB. by going on a diving holiday.\nC. by teaching himself.\nD. by working with professionals.\nPAPER 4: SPEAKING\nA. Self-introduction\nB. Lour personal life"
    },
    {
      "page": 55,
      "summary": "Kết thúc Practice Test 8; mở Practice Test 9",
      "has_answers": true
    },
    {
      "page": 56,
      "summary": "Practice Test 9",
      "has_answers": true
    },
    {
      "page": 57,
      "summary": "Practice Test 9",
      "has_answers": true
    },
    {
      "page": 58,
      "summary": "Practice Test 9",
      "has_answers": true
    },
    {
      "page": 59,
      "summary": "Kết thúc Practice Test 9; mở Practice Test 10",
      "has_answers": true
    },
    {
      "page": 60,
      "summary": "Practice Test 10",
      "has_answers": true
    },
    {
      "page": 61,
      "summary": "Practice Test 10",
      "has_answers": true
    },
    {
      "page": 62,
      "summary": "Practice Test 10",
      "has_answers": true
    },
    {
      "page": 63,
      "summary": "Practice Test 10",
      "has_answers": true
    },
    {
      "page": 64,
      "summary": "Kết thúc Practice Test 10",
      "has_answers": true
    },
    {
      "page": 65,
      "summary": "Grammar — Practice 1",
      "has_answers": true
    },
    {
      "page": 66,
      "summary": "Grammar — cuối Practice 1, đầu Practice 2",
      "has_answers": true
    },
    {
      "page": 67,
      "summary": "Grammar — Practice 2",
      "has_answers": true
    },
    {
      "page": 68,
      "summary": "Grammar — cuối Practice 2, đầu Practice 3",
      "has_answers": true
    },
    {
      "page": 69,
      "summary": "Grammar — Practice 3",
      "has_answers": true
    },
    {
      "page": 70,
      "summary": "Grammar Practice 3 — nối câu 19; câu 20–35",
      "has_answers": true
    },
    {
      "page": 71,
      "summary": "Writing Practice — Practice 1–2",
      "has_answers": true
    },
    {
      "page": 72,
      "summary": "Writing Practice — Practice 3–5",
      "has_answers": true
    },
    {
      "page": 73,
      "summary": "Writing Practice — Practice 6–7",
      "has_answers": true
    },
    {
      "page": 74,
      "summary": "Writing Practice — Practice 8–9",
      "has_answers": true
    },
    {
      "page": 75,
      "summary": "Writing Practice — Practice 10–12",
      "has_answers": true
    },
    {
      "page": 76,
      "summary": "Writing Practice — Practice 13–14",
      "has_answers": true
    },
    {
      "page": 77,
      "summary": "Writing Practice — Practice 15–17",
      "has_answers": true
    },
    {
      "page": 78,
      "summary": "Writing Practice — Practice 18–20A",
      "has_answers": true
    },
    {
      "page": 79,
      "summary": "Writing Practice 20B; hết tài liệu",
      "has_answers": true
    }
  ],
  "contexts": {
    "T8-PT01-CLOZE-PASSAGE": {
      "title": "Practice Test 1 · The Escalator",
      "content": "THE ESCALATOR\n\nAn American, Charles D. Seeberger, invented moving stairs to transport people in the 1890s. He (36) _____ this invention an “escalator”, (37) _____ the name from the Latin word “scala”, (38) _____ means “ladder”. Escalators move people up and down short (39) _____. Lifts do the same, but only move (40) _____ small number of people. If an escalator breaks down, it can still be (41) _____ as ordinary stairs. An escalator can move (42) _____ 8,000 and 9,600 people (43) _____ hour, and it does not need a person to operate it.\n\nTowards the end of the nineteenth century, cities were (44) _____ more crowded and the first escalators were built at railway stations and in big department stores, (45) _____ people could move about more quickly. Today we see escalators everywhere."
    },
    "T8-PT01-READ-FIRST-PASSAGE": {
      "title": "Practice Test 1 · First passage",
      "content": "##### The Origin of Jeans\n\nIn 1853, the California gold rush was in full swing and everyday items were in short supply. Levi Strauss, a 24-year-old German immigrant, left New York for San Francisco with a small supply of dry goods with the intention of opening a branch of his brother's New York dry goods business. Shortly after his arrival, a prospector wanted to know what Mr. Strauss was selling. When Strauss told him he had rough canvas cloth used for tents and wagon covers, the prospector said, \"You should have brought trousers!\", because he couldn't find a pair of trousers strong enough to last.\n\nLevi Strauss had the canvas made into work trousers. Miners liked the trousers, but complained that the fabric was not very comfortable and tended to chafe. Levi Strauss substituted the canvas with a twilled\n\ncotton cloth from France called \"serge de Nimes.\" The fabric later became known as denim and the trousers were nicknamed blue jeans. Then Levi Strauss and Nevada tailor David Jacobs co-patented the process of putting small metal rivets in places such as the sides of the pockets that needed extra strength. On May 20, 1873, they received U.S. Patent No. 139,121. This date is now considered the official birthday of \"blue jeans.\"\n\nBut why were they called blue jeans? Denim is unique in its singular connection with one colour. It is made from thread that is traditionally dyed with blue pigment obtained from indigo dye. Indigo was linked with practical fabrics and work clothing. The durability of indigo as a colour and its darkness of tone made it a good choice when frequent washing was not possible."
    },
    "T8-PT01-READ-SECOND-PASSAGE": {
      "title": "Practice Test 1 · Second passage",
      "content": "##### The Furby Fad\n\nThe Furby, a five-inch-tall doll with bulging eyes and a round mouth, which had a great resemblance to the character from the movie \"Gremlins\", was a cute enough toy. But how did it become so very popular for a short time, causing a Furby fad?\n\nPart of the interest in the toy was because it displayed life-like qualities. It was interactive. In particular, it needed nurturing. The toy responded to light, sound and touch and had the ability to learn to speak English. Conversely, it could teach its owner how to speak Furbish, which was a mixture of several language sounds.\n\nHowever, most of its popularity was due to media exposure. The Furby was first demonstrated at the 1998 Toy Fair in New York City. The toy was subsequently mentioned in Time magazine and USA Today and on a number of early morning television shows. The Toy Fair took place in February, but the manufacturer, Tiger Electronics, had planned to release it in October. But because of the media exposure, toy stores began placing large orders for the toy as more and more parents began inquiring about its availability. By the time the toy was released in October, Tiger had already sold out the initial lot of 1.3 million units.\n\nThe Furby fad seemed to have been fuelled by the inability of parents to find the toy. When it was not available, everyone needed one. Yet, as soon as they became plentiful, interest in them evaporated."
    },
    "T8-PT02-CLOZE-PASSAGE": {
      "title": "Practice Test 2 · From School to Clown",
      "content": "FROM SCHOOL TO CLOWN\n\nGareth Ellis is the youngest of Alan and Kath's sons. His two older brothers have already left their parents' home. (36) _____ he is only twelve, Gareth is sure that he will be a clown. When Gareth was three, his parents (37) _____ him to see Zippo's circus and he (38) _____ remembers that visit today. All Gareth (39) _____ for as birthday presents was to go back to Zippo's.\n\nThen, in 1996, Alan (40) _____ his job, so together with Kath, they decided to try and find full-time jobs in a circus (41) _____ Gareth would have a chance to learn clown skills. (42) _____ of them got jobs with the Moscow State Circus. Alan (43) _____ a lights operator and Kath was in the box office. After two years (44) _____ there, the director of Zippo's offered them jobs and training for Gareth. One day Gareth hopes to be (45) _____ clown in the world."
    },
    "T8-PT02-READ-FIRST-PASSAGE": {
      "title": "Practice Test 2 · First passage",
      "content": "ALICE BRADLEY\nI guess you could say that acting is in my blood as my mother and father are both actors, my\ngrandfather was a theatre musician and my grandmother was a singer and dancer. I suppose it\nseemed normal for me to do a little turn for family and friends. I certainly wasn't a shy\nwallflower.\nI went to drama school in London on Saturdays from the age of six. We were taught how to\nsing and dance as well as act so I was a good all-rounder by my teens.\nOnce I'd left school I went to drama school in London full-time to do a degree. I must admit\nthat I had a slight lapse in commitment at that time, for a period of about six months. I joined\nup with the party crowd and danced the nights away and slept late most mornings. It was only\nwhen my personal tutor told me that I was on my final warning that I realised I might be\nexpelled.\nAfter the shock of that realisation I got my act together very quickly and ended up graduating\nwith a first.\nThe Royal Shakespeare Company gave me my first real role and I acted alongside some great\nnames in the world of the stage. Now of course I am better known for my Hollywood roles and\npeople will probably be amazed to hear that I first walked the board as a Shakespearean actor."
    },
    "T8-PT02-READ-SECOND-PASSAGE": {
      "title": "Practice Test 2 · Second passage",
      "content": "Axel Thorn\nI have had many years as a successful rock star, but will always remember my roots and how I\nformed my first band\nAt sixteen I was still growing up in a bad part of town. I didn't have any way to express myself;\nI was frustrated at the terrible state of the neighbourhood and the unfairness that existed. Just a\nfew miles away rich people lived who had everything, while we had nothing, and could only\nhope for the worst of jobs.\nOne night, while I was at a friend's house we found a pair of electric guitars, and started\nplaying. We pretty much taught ourselves the music, and when a couple of other guys joined,\nwho really knew how to play, I knew we had something. With my lyrics, I could express far\nmore emotion and communicate with other people.\nSoon after that we set up our band. The songs we write are still very important to us. They're\nabout voicing how we feel about the problems and issues about us, crime, unemployment,\nexploitation, and the inequality present in the country.\nOf course, we are also expressing our own dreams and desires. It can be sensational to be on\nstage and have twenty thousand people sing the songs that you write, songs that are about\npeople like them, and in the end, they are for people like them.\nOur music has been very popular and is worth listening to, as it is the ordinary people who\nmade it such a success. We sing what we feel, so we're sure that if people listen to the music,\nthey'll understand the message too."
    },
    "T8-PT03-CLOZE-PASSAGE": {
      "title": "Practice Test 3 · Computers",
      "content": "Computers are helpful in many ways. First, they are fast. They can work with information (36) _____ more quickly than persons. Second, computers can work with (37) _____ information at the same time. Third, they can (38) _____ information for a long time. They do not forget things the common people do. Also, computers are almost always correct. They are not (39) _____, of course, but they usually do not (40) _____ mistakes.\n\nThese days, (41) _____ is important to know about computers. There are a number of things to learn. Some companies have classes (42) _____ work. Also, most universities offer day and night courses in computer science. (43) _____ way to learn is from a book, or from a friend. After (44) _____ hours of practice, you can work with computers. You (45) _____ not be an expert, but you can have fun."
    },
    "T8-PT03-READ-FIRST-PASSAGE": {
      "title": "Practice Test 3 · First passage",
      "content": "There can be something brutal about emerging pale and tired from an overnight flight into\nthe bright African sun. However, when you are met by a smiling, tanned pilot who whisks you\nthrough Customs and on to the runway to a waiting plane, life suddenly seems a whole lot\nbetter. When you are on a short break, every hour matters so we were short-cutting the queues\nat Customs and heading to the bush in time for breakfast.\nThe flight north from Nairobi lasts less than an hour but is a fascinating safari in itself. It\ntook us out of the city and low over the patchwork fields and dark red roads of the Kenyan\nagricultural heartland until we reached Mount Kenya. Here suddenly the view changes. The\npilot swooped breathtakingly low over the trees pointing out elephants, giraffes, gazelles and\neven rhinos as they scattered beneath us. The tiny shadow of the plane followed us across the\ndry rugged land. We circled high above our final destination, Loisaba Lodge, before landing\nneatly on the dirt airstrip.\nLoisaba Wilderness is a 150sq km, privately managed wildlife conservancy. It is larger\nthan many of Kenya's game parks and a haven for more than 250 species of bird and 50 species\nof mammal - elephants, buffaloes. The wildlife here, unlike in the game parks, is still wild, and\nso, far more exciting to see than bored lions sprawled in front of a crowd of tourists in jeeps\nThe lodge perches high on a ridge. From each of the seven rooms, guests can walk out on to\ntheir private terrace to marvel at the wildly dramatic view - 61,000 acres of acacia savannah\nand rocky outcrops lie beneath you.\nA thousand feet straight down the escarpment is a watering hole constantly drawing in\nanimals for a drink; shimmering in the far distance swathed in cloud sit the darkly forested\nfoothills of Mount Kenya. It's a view to knock you out, to savour, to return to again and again."
    },
    "T8-PT03-READ-SECOND-PASSAGE": {
      "title": "Practice Test 3 · Second passage",
      "content": "\"Mandy Jones - Holiday Company Manager\"\nI did a business administration degree at Bristol University and then worked for a credit\ncard company for eight years. During this time, I was assistant marketing manager. I gained a\nlot of useful experience doing this job, but in 1997, I decided that I needed a change. I moved\nto Thomson Holidays where I have worked as a manager ever since. My main job is to think up\nnew and interesting ideas for holidays.\nWhen I'm working from my office in the UK, I arrive at 9 a.m. First I answer my e-mails,\nthen plan the day. My role is to investigate new projects for Thomson Holidays in our\nMediterranean resorts. I am responsible for thinking up ideas, developing them and evaluating\ntheir success.\nWe have lots of meeting in the office which involve the marketing department, holiday\nreps and people that we bring from outside such as entertainment organisers. The aim is to\ndevelop an exciting idea into a realistic and workable project.\nOnce a month I spend a few days overseas checking possible resorts, meeting with reps to\ndevelop their roles and working out how events should be sold to the customer. I work with\nresort supervisors, use their local knowledge of bars and clubs for venues, talk through new\nideas and find out how existing ones are working. I also meet holidaymakers.\nI have to be very open-minded because ideas come from anywhere. I love my job\nbecause 1 get to travel and I am working on projects that really excite me."
    },
    "T8-PT04-CLOZE-PASSAGE": {
      "title": "Practice Test 4 · Sports at Our School",
      "content": "Everyone in our school loves sports. Every morning when we (36) _____ up, we do morning exercises. After the second class we do exercise again. We only have P.E. classes twice (37) _____ week, but we do physical training at five every afternoon. (38) _____ sport is basketball. The boys enjoy playing it and many of the girls like it, too. (39) _____ popular sport is football and in every class there are a lot of football (40) _____. Volleyball is often played when the weather is (41) _____. We have school teams in basketball, football and volleyball. Our teams often have friendship matches with teams from other schools. (42) _____ there is a match, many of us go to watch it and cheer our side on. Besides ball (43) _____, some of us like track-and-field events, and we often (44) _____ running, jumping and throwing. Every term we have tests in these events and once a year, we (45) _____ a sports meeting. Sports help us to keep healthy and happy."
    },
    "T8-PT04-READ-FIRST-PASSAGE": {
      "title": "Practice Test 4 · First passage",
      "content": "JAZZ\nI play the trumpet in my school jazz band. Last month we held a jazz competition with bands\nfrom local high schools - and our band won!\nEach band had their own costumes, ranging from black school uniforms like my band wore, to\nbrightly-coloured T-shirts. We didn't look much like adult professional bands, but all of us were\nused to performing in competitions, so the quality of playing was amazing, especially\nconsidering everyone was so young. Players from each band even created new tunes right there\non stage. It was exciting to watch - but even better when my band played on stage!\nWe have a great jazz band at my school, but not everyone who wants to play in it gets accepted\n- only about half, in fact. But anyone who's keen to play goes to jazz practice before school,\nand we often spend time together after school, listening to jazz and learning its language. There\nare also trips to jazz summer camps across the country - I've been to a couple and learnt a lot.\nAdults are often surprised that young people are getting interested in jazz. My music teacher\nthinks it's because pop music isn't challenging enough for people like me who are serious about\nmusic. But I find it exciting because it's both new and old at the same time - you can create\nyour own music, but you also feel you're part of its history, as you're playing on stage in the\nsame way as great jazz performers before you.\nMy school is really lucky because we have great teachers, and parents who've supported us all\nthe way. Without them, we'd never get anywhere with our music."
    },
    "T8-PT04-READ-SECOND-PASSAGE": {
      "title": "Practice Test 4 · Second passage",
      "content": "It is well-known that the building development company Cityspace wants to knock down\nthe existing seafront sports club in Layton and replace it with a leisure centre that will consist\nof a multi-screen cinema, restaurants and an entertainment centre. But a local action group has\npromised to fight the £30 million redevelopment of the sports club, which has provided family\nfacilities for over 25 years.\nThe action group was set up three weeks after the project was announced. Members of the\ngroup argue that the new centre will be too big and will totally change the way the town looks.\nThey also dislike the removal of sports facilities from the centre and the change to less healthy\nactivities such as video games and films. Apart from the size of the project, they say that the\n550 parking spaces provided will be too few and parking will be more difficult as a result.\nLocal hotel owners have welcomed the project, but the action group says that in general it will\nonly have a bad effect on the neighbourhood. According to one group member it will result in\nup to 4,000 being around Layton seafront late at night. 'A lot of old people and families live\nnearby,' he explained. A meeting is being held tonight to discuss the plan."
    },
    "T8-PT05-CLOZE-PASSAGE": {
      "title": "Practice Test 5 · New Opportunities with an Open University Degree",
      "content": "NEW OPPORTUNITIES WITH AN OPEN UNIVERSITY DEGREE\n\nLike any other university, the Open University can give you a degree. However, you don't have to (36) _____ working to study. It can also open up a whole variety (37) _____ interests.\n\nIf you have (38) _____ studied before, you will enjoy the special, new pleasure of (39) _____ your knowledge. You will make friends of (40) _____ kinds. You may also (41) _____ that your qualification provides new career opportunities.\n\nYou don't actually (42) _____ to the Open University for lectures, but study at home, using television, radio and computer software. You can (43) _____ one class a month if you wish at an Open University centre. Of course, there are exams to take, as in (44) _____ university.\n\nIf you (45) _____ like to know more, all you have to do is complete the form below. It could be the start of a wonderful new period in your life."
    },
    "T8-PT05-READ-FIRST-PASSAGE": {
      "title": "Practice Test 5 · First passage",
      "content": "When musician Colin Baker won five hundred thousand pounds in a competition, it seemed the\nanswer to his dreams. Almost immediately, he bought a house and made his own CD recording\nof some classical music. He intended to save the rest of his money and retire, even though he\nwas only in his late forties.\nThen he saw a violin in a shop. It was of such high quality that even top professional players\nare rarely able to afford one like it. T'd never felt money was important until then,' he explained\n'Even with the money I'd won, I wasn't sure I could afford to buy the violin, so I started to leave\nthe shop. Then I thought I'd just try it, and I fell in love with the beautiful sound it made. I\nknew it was perfect both for live concerts and for recordings.!'\nNow all the money has gone. 'My wife can't have the study room I promised her, and I can't\nretire,' says Colin, 'but it doesn't matter.' His wife says, 'I sometimes wish he was more\nresponsible with money, but I'm still pleased for him. I've always helped him in his career, as\nhe's helped me, by sharing everything. We weren't happy with our jobs, so we didn't really need\nthe money to escape, and although Colin considered retiring, I know he wouldn't be happy\ndoing that - he loves music too much. I think he did the right thing.'"
    },
    "T8-PT05-READ-SECOND-PASSAGE": {
      "title": "Practice Test 5 · Second passage",
      "content": "It's just before 7 a.m. and I'm at an outdoor swimming pool in London, where the\ntemperature of the water is only 11 degrees above freezing! Amazingly, there are already eight\npeople swimming.\nI had intended to discover, by taking a swim myself, why anyone would want to swim in\nsuch cold water. However, in the end, i decided to ask people instead. Peter Smith has been a\nswimmer here for three years, coming every morning before work. 'It's wonderful on a cold\nwinter morning, ' he says. I thought it would make me healthier and I haven't been ill once I\nstarted.'\nAll the swimmers here say the same thing. They all feel fitter. However, not everyone\nagrees with them. Some doctors say it helps fight illness, while others say it could be\ndangerous, especially for your heart.\nI asked Peter what they did on the days when the pool was frozen. 'That's easy,' he said.\n'There's a place in the middle where the ice is thin and easy to break. You have to avoid the\nsides where the ice is thicker. I did try to swim there once just to see what it was like, but I\nfound that it was impossible to break through the ice!'\nI would like to be able to say that I too dived happily into the water and swam a couple of\nhundred metres. But the truth is, fearing the worst, I walked very carefully into the pool, stood\nthere almost in shock and then got out again after 50 seconds before I became a block of ice."
    },
    "T8-PT06-CLOZE-PASSAGE": {
      "title": "Cloze passage — Global warming",
      "content": "Despite the wealth of information campaigns telling people about global warming and its causes, most people have yet to realize (36) _____. Coming climate changes could alter as much as (37) _____ of plant and animal habitats by the end of the 22nd century. These changes could in (38) _____ cause widespread extinctions among plant and animal (39) _____ around the globe. Coastal and island habitats are perhaps in the greatest danger (40) _____ they face the combined threats of warming oceans and rising sea (41) _____. As habitats change, many animals will come (42) _____ intense pressure to find more suitable homes for themselves.\n\nMass migration of at least some animals are certainly to be expected, but the fact remains that many animals will simply not be able to move fast enough. Such dire predictions (43) _____ sound alarming, but they are based on the rather moderate estimate (44) _____ the amount of carbon dioxide in the atmosphere will double by 2100. Many scientists believe, however, that this figure is actually very conservative, and they claim that a tripling is far more (45) _____. If they are correct, the effects on nature will be even more dramatic."
    },
    "T8-PT06-READ-FIRST-PASSAGE": {
      "title": "First passage — James Bond",
      "content": "I'm a big fan of films featuring the spy James Bond. I've got most of them on DVD. We've recently bought Quantum of Solace, in which Daniel Craig plays the part of Bond. I don't know why the films got that name — but it's a great movie anyway. All the actors who've played James Bond have been great, but Daniel Craig, who's made lots of other films, plays the part better than any of them. Even though he doesn't talk very much, I think he's the most perfect actor for the role. He even does a few of the more dangerous things in the film himself, instead of getting someone else to do them. I did wonder sometimes whether he'd be clever enough to defeat bad people — but I'm not going to tell you the ending! The actress who stars with Craig gives a fantastic performance too — I love all the glamorous clothes she wore!\n\nThe director probably had a hard job making this Bond film as full of action as earlier ones. But the excitement starts right at the beginning here, with a car chase along a mountain road, and plenty of other thrilling scenes, too — Bond leaping off tall buildings and so on. Unfortunately I found the story difficult to follow in places, and it also seemed to be over very quickly — it lasted under two hours. I also felt there weren't as many jokes as in the old Bond films. And where was all the ridiculous Bond equipment — the underwater car or exploding watch that everyone laughed at? This is a more serious, darker Bond film, but I still enjoyed it."
    },
    "T8-PT06-READ-SECOND-PASSAGE": {
      "title": "Second passage — Cycling in the countryside",
      "content": "Have you ever been cycling? This spring my older brother left the busy city and spent a long weekend cycling in the countryside. Our average speed was only around 14 kph, but that didn't matter. We hadn't come to break any speed records, or to get fit and healthy. All we wanted was some fresh air and a break from schoolwork. My bike only once went more than 30kph, and that was when I raced my brother down the only hill on our route.\n\nWe really enjoyed cycling along flat, traffic-free country paths. There was plenty of spring sunshine, but it was quite cold, especially in the mornings. We didn't mind, though — and we soon warmed up as we rode along. Our only problem was when my brakes started making a terrible noise. But I didn't mind as it gave us an excuse to visit a café while a helpful bike mechanic had a look at it.\n\nThat was one of the best things about our route: every few kilometres there was a village where we could find everything we needed. All the local people were really friendly, too. However, most places we stopped at served chips with all the meals, which soon got fairly boring. One night we were woken at 4 a.m. by a group of rugby fans singing loudly in the hotel corridor. We were tired and bad-tempered when we set off the next morning and very really got lost, but soon felt more cheerful when the sun came out. That's what I like about cycling — it's simple and it's fun. If you're looking for a short break that's active and cheap, then cycling is a great choice."
    },
    "T8-PT07-CLOZE-PASSAGE": {
      "title": "Practice Test 7 · School Teams",
      "content": "For many young people sport is a popular part of school life and (36) _____ in one of the school teams and playing matches is very important. If (37) _____ is in a team it means a lot of extra practice and often spending a Saturday or Sunday away (38) _____ home, as many matches are played then. It (39) _____ also involve traveling to other towns to play against other school teams and then (40) _____ on after the match for a meal or a drink. Sometimes parents, friends or other students will travel with the team to support their own side.\n\nWhen a school team (41) _____ a match it is the whole school which feels proud, (42) _____ only the players. It can also mean that a school (43) _____ well-known for being good at certain sports and pupils from that school may end up playing (44) _____ national and international teams so that (45) _____ has some really famous names associated with it!"
    },
    "T8-PT07-READ-FIRST-PASSAGE": {
      "title": "Practice Test 7 · First passage",
      "content": "She liked flowers. At least, he remembered somebody telling him that she liked roses.\nUnfortunately, at that time of year roses were very hard to find, and anyway, even if he did find\nthem he wouldn't be able to afford them. Not roses and going out to a good restaurant. So he had\ngot some tulips. It wasn't sure if tulips were the right things to bring, and also while he was\ntravelling in the bus several people bumped into him and the flowers were damaged\nHe felt uncomfortable in his borrowed coat, and even though Mike had promised him that it was\nalmost a perfect fit, he felt that the sleeves were too long, and the coat didn't really go with the\ncolour of his trousers. He checked in his pocket again to make sure he had her address. He still\nwas not sure why she had given it to him, or why she had agreed to go out that evening at all.\nFor a few minutes he thought about giving the whole thing up, going home and making some\nexcuse for the following day. But he knew that this chance would not come again, and he would\nhate himself if he did not take it.\nSlowly, he walked through the rain to her street."
    },
    "T8-PT07-READ-SECOND-PASSAGE": {
      "title": "Practice Test 7 · Second passage",
      "content": "Underwater research\nLast month I got the chance to take part in an underwater research project in an area of the\nGulf of Mexico called the Flower gardens. A team of professional researchers, led by the\nscientist Dr. Matt Phillips, was trying to learn more about the fish and various creatures that live\nin this part of the sea. The Flower Gardens are a long way from the shore and we spent three\ndays on the boat.\nThe team used a piece of underwater equipment called a Remotely Operated Vehicle (ROV) to\ncollect information. The ROV could measure water depth and temperature and it also had a\ncamera that sent live film back to the boat. The ROV was great fun. It was controlled by a\ncomputer on the boat, and I was allowed to operate it a few times.\nHowever, the thing I enjoyed most was diving into the water. At first, I was quite frightened -\nmainly because I couldn't see land in any direction. But as soon as I jumped into the water, I\nwasn't afraid anymore. It was amazing to see the colourful fish swimming around and I could\nsee all the way to the Flower Gardens, which are almost 30 metres down.\nI will never forget the Flower Gardens. The trip was like a holiday but I also learnt new things\nabout science and research projects. The team was very friendly and everyone was happy to\nexplain what they knew about the sea. It was a great opportunity and it has made me think about\nmy goals in life. The experience will definitely help me work harder to become a scientist."
    },
    "T8-PT08-CLOZE-PASSAGE": {
      "title": "Practice Test 8 · New Year",
      "content": "In Western countries, people usually celebrate New Year at midnight (36) _____ January 1st. People (37) _____ go to parties, dress in formal clothes — like tuxedos and evening gowns — and drink champagne at midnight. (38) _____ the first minutes of the new year, people cheer and (39) _____ each other happiness for the year ahead. But some cultures prefer to (40) _____ the new year by waking up early to watch the sunrise. They (41) _____ the new year with the first light of the sunrise.\n\nIt is also a common Western custom to make a New Year's promise called a resolution. New Year's resolutions usually include promises (42) _____ something new or change a bad habit in the new year.\n\nMany cultures also do special things to get rid of bad luck at the beginning of a new year. For example, in Ecuador, families (43) _____ a big doll from old clothes. The doll is filled with old newspapers and firecrackers. (44) _____ midnight, these dolls are burned to show the bad things from the past year are gone. The new year can start afresh. Other common (45) _____ to keep away bad luck in a new year include throwing things into rivers or the ocean, or saying special things on the first day of the new year."
    },
    "T8-PT08-READ-FIRST-PASSAGE": {
      "title": "Practice Test 8 · First passage",
      "content": "Different colours can affect us in many different ways; that's according to Verity Allen. In her\nnew series 'Colour me Healthy'\n, Verity looks at the ways that colours can influence how hard\nwe work and the choices we make. They can even change our emotions and even influence how\nhealthy we are.\n'Have you ever noticed how people always use the same colours for the same things?' says\nVerity. 'Our toothpaste is always white or blue or maybe red. It's never green. Why not? For\nsome reason we think that blue and white is clean, while we think of green products as being a\nbit disgusting. It's the same for businesses. We respect a company which writes its name in blue\nor black, but we don't respect one that uses pink or orange. People who design new products can\nuse these ideas to influence what we buy'\nDuring this four-part series, Verity studies eight different colours, two colours in each\nprogramme. She meets people who work in all aspects of the colour industry, from people who\ndesign food packets, to people who name the colours of lipsticks. Some of the people she meets\nclearly have very little scientific knowledge to support their ideas, such as the American 'Colour\nDoctor' who believes that serious diseases can be cured by the use of coloured lights. However,\nshe also interviews real scientists who are studying the effects of green and red lights on mice,\nwith some surprising results.\nOverall, it's an interesting show, and anyone who watches it will probably find out something\nnew. But because Verity is goes out of her way to be polite to everyone she meets on the series,\nit's up to the viewers to make their own decisions about how much they should believe."
    },
    "T8-PT08-READ-SECOND-PASSAGE": {
      "title": "Practice Test 8 · Second passage",
      "content": "Everybody likes to feel that she or he is special. Sadly, many of us grow up believing that we're\nnot special at all. We wish that we could be more attractive or better at sports. We wish we had\nmore money or nicer clothes. Like the Tin Man, the Scarecrow, or the Cowardly Lion from The\nWizard of Oz, we think we're not good enough just as we are. In the film, The Tin Man wishes\nhe had a heart. The Scarecrow wishes that he had a brain, and the Lion wants courage.\nEventually, each of them realizes that he already has what he wants. Nearly all parents want us\nto be the best we can be. They occasionally attempt to encourage us to do better by comparing\nus to others. They mean well, but the message we usually get is that we're not good enough. We\nstart to believe that the only way we can be special is by being better than somebody else, but\nwe are frequently disappointed\nThere will always be somebody out there that is better than we are at something. There are a lot\nof people around who may not be as intelligent as we are but who are better at sports. Or they\nmay not be as handsome, but they have more money. It is unthinkable for us to be better than\neverybody else all the time. Like the Tin Man, the Scarecrow, and the Cowardly Lion, we all\nneed what we believe will make us better people. What we don't understand is that often we\nalready have inside us the very things that we look for. Our parents often forget to tell us that we .\nare special, that we are good enough just as we are. Perhaps no one told them when they were\ngrowing up, or maybe they just forgot. Either way, it's up to us to remind them sometimes that\neach of us, in our own way, is special. What we are... is enough."
    },
    "T8-PT09-CLOZE-PASSAGE": {
      "title": "Practice Test 9 · A Healthy Diet",
      "content": "A healthy diet is important for children as well as adults. When adults have poor eating (36) _____, their children usually do, too. After all, children eat the same way (37) _____ their parents. When parents eat healthy food, the children will think it tastes (38) _____. Then they will (39) _____ good eating habits. Doctors advise parents (40) _____ their children healthier snacks (41) _____ fruit, vegetables, and juice.\n\nEveryone wants to live a long, healthy life. We know that (42) _____ we eat affects us in different ways. For instance, doctors believe that fruit and vegetables (43) _____ actually prevent many different diseases. On the other (44) _____, animal fat can (45) _____ disease. We can improve our diet now, and enjoy many years of healthy living."
    },
    "T8-PT09-READ-FIRST-PASSAGE": {
      "title": "Practice Test 9 · First passage",
      "content": "Urban activist Alessandra Orofino's home city of Rio de Janeiro is one of the world's\nmegacities. According to Orofino, people are becoming increasingly disconnected with the\ncities they live in. Election turnouts in cities around the world are falling. In Rio, for example,\nvoting is required by law. However, in one election, nearly 30 percent of people did not vote,\ninstead they stayed home and chose to pay a fine.\nOrofino also believes that cities cause us to be disconnected from one another. As new buildings\nare built, many public spaces disappear. Without these places, it's difficult for people to\nsocialize, make friends, and form a close and happy community. Orofino believes that getting\ncitizens to work together and be more involved with the running of their cities is hugely\nimportant. To this end, Orofino cofounded a group called Meu Rio. Meu Rio is an online\nnetwork that makes it easier for Rio citizens to have their say about the running of the city. As\npart of the network, people receive news updates and are able to participate in important\ndecisions about the future of their city.\nMeu Rio has been a huge success. More than 200,000 Rio citizens are now part of this online\ncommunity. Orofino is hopeful that projects like hers will become common in cities around the\nworld, and will start what she calls \"a participation revolution.\""
    },
    "T8-PT09-READ-SECOND-PASSAGE": {
      "title": "Practice Test 9 · Second passage",
      "content": "Do you find it difficult to tell how another person is feeling? Do you feel frustrated when other\npeople don't realize what mood you're in? Technology now has the answer: clothing and\njewelry with built-in sensors that show our feelings.\nOne idea is a dress that tracks your heart rate and monitors your stress level. Flashing blue\nlights on the dress start blinking rapidly when you feel stressed and more slowly when you feel\nrelaxed. Designers have also come up with fabrics that change color according to your emotions.\nJoy, sadness, anger, and stress each have a different color.\nAnother idea is an undershirt that can transmit emotional data wirelessly to another person who\ncan be some distance away. This undershirt has a sensor built into its sleeve. It measures your\nphysical state and sends messages to the Internet. Those messages are then sent to another\nperson who is wearing a necklace. The necklace lights up with different colors. This would be\ngreat for couples who want to stay in touch with their partners who may be far away, and also\nfor parents who want to know how their children are feeling.\nEmotional awareness is an important part of how we build relationships with others. These are\njust some examples of how designers are coming up with creative and exciting new ideas to\ncombine emotion and technology."
    },
    "T8-PT10-CLOZE-PASSAGE": {
      "title": "Practice Test 10 · Women Nowadays",
      "content": "Women nowadays have more (36) _____ than those in the past. For example, our great-grandmothers were not allowed to go to school or to work to earn their own living. (37) _____, they had to depend on their husbands financially. Modern women, on the contrary, can get good education, have their own careers, and (38) _____ their interests. They can even take good positions in politics if they are (39) _____ at it. However, women living in our modern society have their (40) _____, too. Today's women work harder than their great-grandmothers so that they can gain the (41) _____ between working life and family life. Many people (42) _____ that by 2032, most senior positions at work will be (43) _____ by women. Then, it is possible that women will have more strenuous life because, (44) _____ in a very modern society, the women can't (45) _____ their role in the family."
    },
    "T8-PT10-READ-FIRST-PASSAGE": {
      "title": "Practice Test 10 · First passage",
      "content": "The Zoo Keeper\nMy name's Mark Porter. I've been interested in the natural world since I was very young. I used\nto keep insects and I spent a lot of time drawing them.\nAfter I finished school, I went to work in a pet shop - that was great fun but I knew I had to go\nto college if I wanted a better job. So I went to university to study Biology and then got a job in\nFlorida working at a sea-life centre, looking after the dolphins.\nWhile I was working there, I saw an advertisement for my current job - a keeper for the fish\ndepartment at a zoo in California - and applied. Although it was for the same money, I was\npleased when they immediately offered me the job because there are lots of different activities\nI'm involved in here. As part of my job, I get to do research and I manage an education centre\nwhere I tell people of all ages about what they can do to protect fish and animals.\nPeople think that my job is exciting because I go diving as part of my research work on sharks.\nHowever, I work long hours, and I worry if I have to call a medical specialist to come and look\nafter a sick fish. Conditions at work can be uncomfortable too, as a lot of the fish I look after\nbite so I have to be careful. Then there are the visitors. Some are OK but some try to touch the\nfish or put sweet wrappers in the water - that makes me angry. However, my job is very\nrewarding and I hope that you'll think about working with animals, too."
    },
    "T8-PT10-READ-SECOND-PASSAGE": {
      "title": "Practice Test 10 · Second passage",
      "content": "Activity centre in the countryside\nA month ago I had no idea that on Sunday afternoon in July I'd be 50 metres above the ground\nand enjoying it. Now I looked down at the river far below me, and realised why people love\nrock climbing.\nMy friend Will and I had arrived at the Activity Centre on Saturday evening. The\naccommodation wasn't great, but we had everything we needed: beds, blankets and some food\nplus we were pleased to be out of the city and in the fresh air.\nOn Sunday morning we met the other ten members of our groups. James had come along with\ntwo friends, Harry and George, while sisters Maria and Sara had come with Isabella. We had\ncome for many different places so none of us knew the area.\nWe knew we were going to spend some time outdoors, but none of us was sure exactly how.\nHalf of us spent the morning caving while the others went rock-climbing and then we changed\nat lunchtime. Will and I went to the caves first. Climbing out was harder than going in, but after\na good deal of pushing, we went out at last - covered in mud, but pleased and excited by what\nwe'd done."
    }
  },
  "items": [
    {
      "id": "T8-PT01-VOC-Q01",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 1,
      "answer": "D",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We _____ the preparation for the party between us, so it wasn't too much work.",
      "question_translation": "Chúng ta ___ chuẩn bị cho bữa tiệc giữa chúng ta, nên cũng không quá nhiều việc.",
      "options": [
        {
          "key": "A",
          "text": "sorted",
          "translation": "sắp xếp"
        },
        {
          "key": "B",
          "text": "divided",
          "translation": "chia"
        },
        {
          "key": "C",
          "text": "chose",
          "translation": "đã chọn"
        },
        {
          "key": "D",
          "text": "shared",
          "translation": "Chia sẻ"
        }
      ],
      "answer_translation": "Chúng tôi cùng chuẩn bị cho bữa tiệc, nên cũng không quá nhiều việc.",
      "simple_reason": "Thử từ “shared” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Chúng tôi cùng chuẩn bị cho bữa tiệc, nên cũng không quá nhiều việc”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q02",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 2,
      "answer": "B",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Many people wondered how he'd managed to _____ so much success at such a young age.",
      "question_translation": "Nhiều người thắc mắc làm thế nào ông có thể quản lý ___ Rất nhiều thành công khi còn trẻ.",
      "options": [
        {
          "key": "A",
          "text": "commit",
          "translation": "cam kết"
        },
        {
          "key": "B",
          "text": "achieve",
          "translation": "Xong"
        },
        {
          "key": "C",
          "text": "assume",
          "translation": "Giả sử"
        },
        {
          "key": "D",
          "text": "reward",
          "translation": "Phần thưởng"
        }
      ],
      "answer_translation": "Nhiều người tự hỏi làm thế nào ông ấy có thể đạt được nhiều thành công ở độ tuổi trẻ như vậy.",
      "simple_reason": "Thử từ “achieve” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Nhiều người tự hỏi làm thế nào ông ấy có thể đạt được nhiều thành công ở độ tuổi trẻ như vậy”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q03",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 3,
      "answer": "A",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Everyone who runs a food business needs to manage food safety _____, to make sure that the food they serve or sell is safe to eat.",
      "question_translation": "Bất cứ ai kinh doanh thực phẩm đều cần bảo vệ an toàn thực phẩm ___ Để chắc chắn rằng thức ăn họ phục vụ hoặc bán được an toàn để ăn.",
      "options": [
        {
          "key": "A",
          "text": "properly",
          "translation": "đúng"
        },
        {
          "key": "B",
          "text": "seriously",
          "translation": "Nghiêm túc"
        },
        {
          "key": "C",
          "text": "honestly",
          "translation": "Thật đấy"
        },
        {
          "key": "D",
          "text": "closely",
          "translation": "Gần"
        }
      ],
      "answer_translation": "Bất cứ ai điều hành một doanh nghiệp thực phẩm cần phải quản lý an toàn thực phẩm đúng cách, để đảm bảo rằng thức ăn họ phục vụ hoặc bán được an toàn để ăn.",
      "simple_reason": "Thử từ “properly” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bất cứ ai điều hành một doanh nghiệp thực phẩm cần phải quản lý an toàn thực phẩm đúng cách, để đảm bảo rằng thức ăn họ phục vụ hoặc bán được an toàn để ăn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q04",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 4,
      "answer": "B",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The babysitter tried to _____ the children by telling them some jokes.",
      "question_translation": "Người trông trẻ đã cố gắng ___ Bọn trẻ kể cho chúng nghe vài câu chuyện cười.",
      "options": [
        {
          "key": "A",
          "text": "scare",
          "translation": "Sợ"
        },
        {
          "key": "B",
          "text": "amuse",
          "translation": "tiêu đề"
        },
        {
          "key": "C",
          "text": "inspire",
          "translation": "tạo cảm hứng"
        },
        {
          "key": "D",
          "text": "thrill",
          "translation": "Name"
        }
      ],
      "answer_translation": "Người trông trẻ cố gắng làm cho bọn trẻ vui bằng cách kể cho chúng nghe vài câu chuyện cười.",
      "simple_reason": "Thử từ “amuse” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Người trông trẻ cố gắng làm cho bọn trẻ vui bằng cách kể cho chúng nghe vài câu chuyện cười”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q05",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 5,
      "answer": "A",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I'm a bit _____ about the arrangements for tonight - what time are we meeting?",
      "question_translation": "Tôi hơi... ___ chúng ta sẽ gặp nhau lúc mấy giờ?",
      "options": [
        {
          "key": "A",
          "text": "confused",
          "translation": "lẫn lộn"
        },
        {
          "key": "B",
          "text": "difficult",
          "translation": "khó khăn"
        },
        {
          "key": "C",
          "text": "troublesome",
          "translation": "Rắc rối"
        },
        {
          "key": "D",
          "text": "mistaken",
          "translation": "Sai"
        }
      ],
      "answer_translation": "Tôi có chút bối rối về sự sắp xếp tối nay - chúng ta sẽ gặp nhau lúc mấy giờ?",
      "simple_reason": "Thử từ “confused” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tôi có chút bối rối về sự sắp xếp tối nay - chúng ta sẽ gặp nhau lúc mấy giờ”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q06",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 6,
      "answer": "A",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You have no right to _____ other people because of what they look like or what they believe.",
      "question_translation": "Anh không có quyền ___ Những người khác bởi vì họ trông như thế nào hoặc họ tin gì.",
      "options": [
        {
          "key": "A",
          "text": "judge",
          "translation": "thẩm phán"
        },
        {
          "key": "B",
          "text": "consider",
          "translation": "cân nhắc"
        },
        {
          "key": "C",
          "text": "regard",
          "translation": "Tôn trọng"
        },
        {
          "key": "D",
          "text": "recognize",
          "translation": "nhận ra"
        }
      ],
      "answer_translation": "Bạn không có quyền phán xét người khác vì họ trông như thế nào hay họ tin gì.",
      "simple_reason": "Thử từ “judge” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bạn không có quyền phán xét người khác vì họ trông như thế nào hay họ tin gì”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q07",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 7,
      "answer": "C",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The _____ at the front desk asked me to have a seat until someone was free to see me.",
      "question_translation": "Hạt ___ Ở quầy lễ tân yêu cầu tôi ngồi cho đến khi có người được tự do đến gặp tôi.",
      "options": [
        {
          "key": "A",
          "text": "guide",
          "translation": "Hướng dẫn"
        },
        {
          "key": "B",
          "text": "usher",
          "translation": "Mở rộng"
        },
        {
          "key": "C",
          "text": "receptionist",
          "translation": "tiếp tân"
        },
        {
          "key": "D",
          "text": "attendant",
          "translation": "Tiếp viên"
        }
      ],
      "answer_translation": "Người tiếp tân ở quầy tiếp tân yêu cầu tôi ngồi cho đến khi có ai đó rảnh để gặp tôi.",
      "simple_reason": "Thử từ “receptionist” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Người tiếp tân ở quầy tiếp tân yêu cầu tôi ngồi cho đến khi có ai đó rảnh để gặp tôi”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q08",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 8,
      "answer": "B",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You are late again, please try to be _____ in the future.",
      "question_translation": "Anh lại đến muộn nữa rồi, làm ơn cố gắng đi. ___ trong tương lai.",
      "options": [
        {
          "key": "A",
          "text": "accurate",
          "translation": "chính xác"
        },
        {
          "key": "B",
          "text": "punctual",
          "translation": "Đúng giờ"
        },
        {
          "key": "C",
          "text": "efficient",
          "translation": "hiệu quả"
        },
        {
          "key": "D",
          "text": "reliable",
          "translation": "Tin cậy"
        }
      ],
      "answer_translation": "Anh lại đến muộn nữa rồi, xin hãy cố gắng đúng giờ trong tương lai.",
      "simple_reason": "Thử từ “punctual” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Anh lại đến muộn nữa rồi, xin hãy cố gắng đúng giờ trong tương lai”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q09",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 9,
      "answer": "C",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I know Bob stole the money, but I can't _____ it because I didn't actually see him.",
      "question_translation": "Tôi biết Bob đã trộm tiền, nhưng tôi không thể ___ bởi vì tôi không thực sự nhìn thấy anh ta.",
      "options": [
        {
          "key": "A",
          "text": "witness",
          "translation": "nhân chứng"
        },
        {
          "key": "B",
          "text": "expose",
          "translation": "phơi bày"
        },
        {
          "key": "C",
          "text": "prove",
          "translation": "chứng minh"
        },
        {
          "key": "D",
          "text": "reveal",
          "translation": "Hiển thị"
        }
      ],
      "answer_translation": "Tôi biết Bob đã trộm tiền, nhưng tôi không thể chứng minh vì tôi không thực sự nhìn thấy anh ta.",
      "simple_reason": "Thử từ “prove” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tôi biết Bob đã trộm tiền, nhưng tôi không thể chứng minh vì tôi không thực sự nhìn thấy anh ta”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-VOC-Q10",
      "page": 1,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Từ vựng",
      "question": 10,
      "answer": "B",
      "reason": "Collocation/nghĩa trong ngữ cảnh: majority, patient, make up one's mind, have in common, take part, queue, get in touch, put up with, interested in, come across.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Of course, Nick's _____ not to have been chosen for the school team.",
      "question_translation": "Tất nhiên, Nick's ___ Không được chọn cho đội bóng trường.",
      "options": [
        {
          "key": "A",
          "text": "nervous",
          "translation": "Lo lắng"
        },
        {
          "key": "B",
          "text": "disappointed",
          "translation": "Thất vọng"
        },
        {
          "key": "C",
          "text": "impatient",
          "translation": "thiếu kiên nhẫn"
        },
        {
          "key": "D",
          "text": "embarrassed",
          "translation": "Xấu hổ"
        }
      ],
      "answer_translation": "Tất nhiên, Nick thất vọng vì không được chọn vào đội bóng trường.",
      "simple_reason": "Thử từ “disappointed” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tất nhiên, Nick thất vọng vì không được chọn vào đội bóng trường”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "reviewed-source",
      "context_id": null
    },
    {
      "id": "T8-PT01-READ-Q11",
      "page": 2,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "D",
      "reason": "Passage The Origin of Jeans: nguồn gốc vải denim, Levi Strauss và đặc tính bền của jeans.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the purpose of this text?",
      "question_translation": "Mục đích của câu này là gì?",
      "options": [
        {
          "key": "A",
          "text": "To sell a product.",
          "translation": "Để bán sản phẩm."
        },
        {
          "key": "B",
          "text": "To solve a problem.",
          "translation": "Để giải quyết vấn đề."
        },
        {
          "key": "C",
          "text": "To argue a point.",
          "translation": "Để tranh luận."
        },
        {
          "key": "D",
          "text": "To inform.",
          "translation": "Để thông báo."
        }
      ],
      "answer_translation": "Để thông báo.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Để thông báo”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "reviewed-source",
      "context_id": "T8-PT01-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q12",
      "page": 2,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "C",
      "reason": "Passage The Origin of Jeans: nguồn gốc vải denim, Levi Strauss và đặc tính bền của jeans.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What was Levi Strauss's intended job when he first came to San Francisco?",
      "question_translation": "Ý định của Levi Strauss là gì khi lần đầu tiên tới San Francisco?",
      "options": [
        {
          "key": "A",
          "text": "He was a clothes designer.",
          "translation": "Ông ấy là nhà thiết kế quần áo."
        },
        {
          "key": "B",
          "text": "He was a prospector.",
          "translation": "Ông ấy là một người đào vàng."
        },
        {
          "key": "C",
          "text": "He was selling textile and clothing.",
          "translation": "Ông bán vải dệt và quần áo."
        },
        {
          "key": "D",
          "text": "He was selling tools for gold mining.",
          "translation": "Anh ta bán dụng cụ khai thác mỏ vàng."
        }
      ],
      "answer_translation": "Ông bán vải dệt và quần áo.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Ông bán vải dệt và quần áo”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "reviewed-source",
      "context_id": "T8-PT01-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q13",
      "page": 2,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "D",
      "reason": "Passage The Origin of Jeans: nguồn gốc vải denim, Levi Strauss và đặc tính bền của jeans.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What problem did the prospector have?",
      "question_translation": "Người tìm vàng có vấn đề gì?",
      "options": [
        {
          "key": "A",
          "text": "There were no trousers in California.",
          "translation": "Không có quần ở California."
        },
        {
          "key": "B",
          "text": "They did not like Levi's product.",
          "translation": "Họ không thích sản phẩm của Levi."
        },
        {
          "key": "C",
          "text": "Their clothes were not stylish.",
          "translation": "Quần áo của họ không được trang trí."
        },
        {
          "key": "D",
          "text": "Their clothes wore out quickly.",
          "translation": "Quần áo họ cũ rách nhanh lắm."
        }
      ],
      "answer_translation": "Quần áo họ cũ rách nhanh lắm.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Quần áo họ cũ rách nhanh lắm”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "reviewed-source",
      "context_id": "T8-PT01-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q14",
      "page": 2,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "A",
      "reason": "Passage The Origin of Jeans: nguồn gốc vải denim, Levi Strauss và đặc tính bền của jeans.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Where did the word 'denim' come from?",
      "question_translation": "Từ 'denem' xuất phát từ đâu?",
      "options": [
        {
          "key": "A",
          "text": "The name of a French fabric.",
          "translation": "Tên của vải Pháp."
        },
        {
          "key": "B",
          "text": "The indigo colour.",
          "translation": "Màu indigo."
        },
        {
          "key": "C",
          "text": "David Jacobs, the tailor, thought of it.",
          "translation": "David Jacobs, thợ may, đã nghĩ đến điều đó."
        },
        {
          "key": "D",
          "text": "Levi Strauss invented it.",
          "translation": "Levi Strauss đã phát minh ra nó."
        }
      ],
      "answer_translation": "Tên của vải Pháp.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Tên của vải Pháp”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "reviewed-source",
      "context_id": "T8-PT01-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q15",
      "page": 2,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "A",
      "reason": "Passage The Origin of Jeans: nguồn gốc vải denim, Levi Strauss và đặc tính bền của jeans.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following best describes indigo dye?",
      "question_translation": "Loại thuốc nhuộm indeigo nào được mô tả tốt nhất?",
      "options": [
        {
          "key": "A",
          "text": "A long-lasting, practical colour that did not show dirt.",
          "translation": "Một màu sắc lâu đời, thực tế mà không xuất hiện bụi đất."
        },
        {
          "key": "B",
          "text": "A colour used on all kinds of fabric to make it stronger.",
          "translation": "Một màu dùng để làm cho nó mạnh hơn."
        },
        {
          "key": "C",
          "text": "A very rare and desirable colour that was difficult to create.",
          "translation": "Một màu rất hiếm và hấp dẫn mà rất khó để tạo ra."
        },
        {
          "key": "D",
          "text": "An affordable dark colour that was only used by poor people.",
          "translation": "Một màu tối giá rẻ chỉ được sử dụng bởi người nghèo."
        }
      ],
      "answer_translation": "Một màu sắc lâu đời, thực tế mà không xuất hiện bụi đất.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Một màu sắc lâu đời, thực tế mà không xuất hiện bụi đất”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "reviewed-source",
      "context_id": "T8-PT01-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q16",
      "page": 2,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "C",
      "reason": "Passage The Furby Fad: mục đích giải thích thành công, đồ chơi có vẻ sống, media exposure và tính khan hiếm lúc ra mắt.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer doing in this text?",
      "question_translation": "Người viết văn bản này làm gì?",
      "options": [
        {
          "key": "A",
          "text": "Trying to show how toys are made.",
          "translation": "Cố gắng chỉ ra cách làm đồ chơi."
        },
        {
          "key": "B",
          "text": "Presenting the history of a movie character.",
          "translation": "Xin giới thiệu lịch sử của một nhân vật trong phim."
        },
        {
          "key": "C",
          "text": "Trying to explain the success of a product.",
          "translation": "Cố gắng giải thích sự thành công của một sản phẩm."
        },
        {
          "key": "D",
          "text": "Trying to protect shoppers.",
          "translation": "Cố bảo vệ người mua hàng."
        }
      ],
      "answer_translation": "Cố gắng giải thích sự thành công của một sản phẩm.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Cố gắng giải thích sự thành công của một sản phẩm”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q17",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "D",
      "reason": "Passage The Furby Fad: mục đích giải thích thành công, đồ chơi có vẻ sống, media exposure và tính khan hiếm lúc ra mắt.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What did people particularly like about the Furby?",
      "question_translation": "Mọi người đặc biệt thích gì ở Furby?",
      "options": [
        {
          "key": "A",
          "text": "It resembled a movie character.",
          "translation": "Nó giống như một nhân vật trong phim."
        },
        {
          "key": "B",
          "text": "It could speak English.",
          "translation": "Nó có thể nói tiếng Anh."
        },
        {
          "key": "C",
          "text": "It was extremely cute.",
          "translation": "Rất dễ thương."
        },
        {
          "key": "D",
          "text": "It seemed alive.",
          "translation": "Nó có vẻ còn sống."
        }
      ],
      "answer_translation": "Nó có vẻ còn sống.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Nó có vẻ còn sống”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT01-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q18",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "D",
      "reason": "Passage The Furby Fad: mục đích giải thích thành công, đồ chơi có vẻ sống, media exposure và tính khan hiếm lúc ra mắt.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "\"media exposure\" most probably refers to the fact that",
      "question_translation": "\"Sự phơi nhiễm y học\" có thể ám chỉ sự thật rằng",
      "options": [
        {
          "key": "A",
          "text": "the toy was endorsed by reporters.",
          "translation": "Món đồ chơi được phóng viên ủng hộ."
        },
        {
          "key": "B",
          "text": "the toy could be ordered via newspapers or television.",
          "translation": "Đồ chơi có thể được đặt hàng qua báo chí hoặc truyền hình."
        },
        {
          "key": "C",
          "text": "the toy was sold online.",
          "translation": "Đồ chơi được bán trên mạng."
        },
        {
          "key": "D",
          "text": "people knew about the toy from the news or television.",
          "translation": "Mọi người biết về đồ chơi từ bản tin hay truyền hình."
        }
      ],
      "answer_translation": "Mọi người biết về đồ chơi từ bản tin hay truyền hình.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Mọi người biết về đồ chơi từ bản tin hay truyền hình”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT01-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q19",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "B",
      "reason": "Passage The Furby Fad: mục đích giải thích thành công, đồ chơi có vẻ sống, media exposure và tính khan hiếm lúc ra mắt.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Why does the writer think Furby became a fad?",
      "question_translation": "Tại sao tác giả nghĩ Furby trở thành một mốt?",
      "options": [
        {
          "key": "A",
          "text": "It was a new idea.",
          "translation": "Đó là ý tưởng mới."
        },
        {
          "key": "B",
          "text": "It was not widely available on release.",
          "translation": "Nó không phổ biến rộng rãi khi được thả."
        },
        {
          "key": "C",
          "text": "It was well advertised.",
          "translation": "Nó được quảng cáo rất hay."
        },
        {
          "key": "D",
          "text": "It was affordable.",
          "translation": "Nó có giá phải chăng."
        }
      ],
      "answer_translation": "Nó không phổ biến rộng rãi khi được thả.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Nó không phổ biến rộng rãi khi được thả”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT01-READ-Q20",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "A",
      "reason": "Passage The Furby Fad: mục đích giải thích thành công, đồ chơi có vẻ sống, media exposure và tính khan hiếm lúc ra mắt.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which best describes the Furby toy?",
      "question_translation": "Món đồ chơi Furby nào được mô tả tốt nhất?",
      "options": [
        {
          "key": "A",
          "text": "A cute, innovative toy that was extremely popular for a short time.",
          "translation": "Một món đồ chơi dễ thương, sáng tạo cực kỳ phổ biến trong một thời gian ngắn."
        },
        {
          "key": "B",
          "text": "A strange-looking toy that was a huge hit with children despite the doubts of parents.",
          "translation": "Một món đồ chơi trông lạ lùng đã gây ấn tượng mạnh với trẻ em bất chấp sự nghi ngờ của cha mẹ."
        },
        {
          "key": "C",
          "text": "A toy that achieved unexplained and surprising popularity.",
          "translation": "Một món đồ chơi có được sự phổ biến không rõ ràng và đáng ngạc nhiên."
        },
        {
          "key": "D",
          "text": "A modern toy that interacts with children and deserves more popularity than it had.",
          "translation": "Một món đồ chơi hiện đại tương tác với trẻ em và xứng đáng được ưa chuộng hơn."
        }
      ],
      "answer_translation": "Một món đồ chơi dễ thương, sáng tạo cực kỳ phổ biến trong một thời gian ngắn.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Một món đồ chơi dễ thương, sáng tạo cực kỳ phổ biến trong một thời gian ngắn”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT01-GR-Q21",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "A",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Darwin had just stopped to look at his map _____ he noticed a huge bear coming his way.",
      "question_translation": "Darwin chỉ dừng lại để xem bản đồ của mình ___ Anh ta để ý thấy một con gấu khổng lồ đang đến.",
      "options": [
        {
          "key": "A",
          "text": "when",
          "translation": "khi"
        },
        {
          "key": "B",
          "text": "until",
          "translation": "Cho đến"
        },
        {
          "key": "C",
          "text": "because",
          "translation": "bởi vì"
        },
        {
          "key": "D",
          "text": "although",
          "translation": "Mặc dù"
        }
      ],
      "answer_translation": "Darwin đã dừng lại để xem bản đồ của mình khi ông nhận thấy một con gấu khổng lồ đang đến.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “when” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Darwin đã dừng lại để xem bản đồ của mình khi ông nhận thấy một con gấu khổng lồ đang đến”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn A — when vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q22",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "C",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You shouldn't go scuba diving _____ you've been properly trained.",
      "question_translation": "Anh không nên đi lặn ___ Anh đã được huấn luyện đúng cách.",
      "options": [
        {
          "key": "A",
          "text": "provided",
          "translation": "đã cung cấp"
        },
        {
          "key": "B",
          "text": "supposing",
          "translation": "Giả sử"
        },
        {
          "key": "C",
          "text": "unless",
          "translation": "Trừ khi"
        },
        {
          "key": "D",
          "text": "in case",
          "translation": "Trong trường hợp"
        }
      ],
      "answer_translation": "Anh không nên đi lặn nếu không được đào tạo đúng cách.",
      "simple_reason": "Điền “unless” rồi đọc lại toàn câu: “Anh không nên đi lặn nếu không được đào tạo đúng cách”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q23",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "D",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We got our car _____ a week ago.",
      "question_translation": "Chúng ta có xe rồi. ___ 1 tuần trước.",
      "options": [
        {
          "key": "A",
          "text": "wash",
          "translation": "giặt"
        },
        {
          "key": "B",
          "text": "to wash",
          "translation": "rửa"
        },
        {
          "key": "C",
          "text": "washing",
          "translation": "giặt"
        },
        {
          "key": "D",
          "text": "washed",
          "translation": "Đã rửa"
        }
      ],
      "answer_translation": "Chúng tôi đã rửa xe một tuần trước.",
      "simple_reason": "Điền “washed” rồi đọc lại toàn câu: “Chúng tôi đã rửa xe một tuần trước”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q24",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "D",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “What was life like in the camp?” — “They made us _____ 16 hours a day.”",
      "question_translation": "“ Đời sống trong trại ra sao? ”, “Họ tạo ra chúng tôi ___ 16 tiếng một ngày.",
      "options": [
        {
          "key": "A",
          "text": "working",
          "translation": "làm việc"
        },
        {
          "key": "B",
          "text": "worked",
          "translation": "làm việc"
        },
        {
          "key": "C",
          "text": "to work",
          "translation": "làm việc"
        },
        {
          "key": "D",
          "text": "work",
          "translation": "làm việc"
        }
      ],
      "answer_translation": "“ Đời sống trong trại ra sao? — “Họ bắt chúng tôi làm việc 16 giờ mỗi ngày.",
      "simple_reason": "Điền “work” rồi đọc lại toàn câu: ““ Đời sống trong trại ra sao? — “Họ bắt chúng tôi làm việc 16 giờ mỗi ngày”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q25",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "C",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You really need to be interested in what you are learning, _____ you won't get any results.",
      "question_translation": "Bạn thực sự cần phải quan tâm đến những gì bạn đang học, ___ Anh sẽ không có kết quả gì đâu.",
      "options": [
        {
          "key": "A",
          "text": "yet",
          "translation": "Chưa"
        },
        {
          "key": "B",
          "text": "for",
          "translation": "Vì"
        },
        {
          "key": "C",
          "text": "or",
          "translation": "hay"
        },
        {
          "key": "D",
          "text": "and",
          "translation": "và"
        }
      ],
      "answer_translation": "Bạn thực sự cần phải quan tâm đến những gì bạn đang học, hoặc bạn sẽ không nhận được bất kỳ kết quả.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “or” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Bạn thực sự cần phải quan tâm đến những gì bạn đang học, hoặc bạn sẽ không nhận được bất kỳ kết quả”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — or vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q26",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "C",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You can use my computer _____ you don't read my e-mail!",
      "question_translation": "Anh có thể dùng máy tính của tôi. ___ Đừng có đọc email của tôi!",
      "options": [
        {
          "key": "A",
          "text": "as much as",
          "translation": "cũng nhiều như"
        },
        {
          "key": "B",
          "text": "unless",
          "translation": "Trừ khi"
        },
        {
          "key": "C",
          "text": "as long as",
          "translation": "Miễn là"
        },
        {
          "key": "D",
          "text": "even if",
          "translation": "Ngay cả khi"
        }
      ],
      "answer_translation": "Anh có thể dùng máy tính của tôi miễn là anh không đọc email của tôi!",
      "simple_reason": "Điền “as long as” rồi đọc lại toàn câu: “Anh có thể dùng máy tính của tôi miễn là anh không đọc email của tôi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q27",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "A",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Brand didn't complete the project, _____ did he explain the delay.",
      "question_translation": "Brand đã không hoàn thành dự án, ___ Anh ta có giải thích về sự chậm trễ không?",
      "options": [
        {
          "key": "A",
          "text": "nor",
          "translation": "cũng không"
        },
        {
          "key": "B",
          "text": "not",
          "translation": "không phải"
        },
        {
          "key": "C",
          "text": "not even",
          "translation": "Thậm chí"
        },
        {
          "key": "D",
          "text": "neither",
          "translation": "cũng không"
        }
      ],
      "answer_translation": "Brand không hoàn thành dự án, cũng không giải thích được sự chậm trễ.",
      "simple_reason": "Điền “nor” rồi đọc lại toàn câu: “Brand không hoàn thành dự án, cũng không giải thích được sự chậm trễ”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q28",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "B",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Although they spent a lot of money on the film, _____ wasn't a big success.",
      "question_translation": "Mặc dù họ đã chi rất nhiều tiền cho bộ phim, ___ không thành công lắm.",
      "options": [
        {
          "key": "A",
          "text": "but it",
          "translation": "nhưng nó"
        },
        {
          "key": "B",
          "text": "it",
          "translation": "nó"
        },
        {
          "key": "C",
          "text": "however, it",
          "translation": "Tuy nhiên, nó"
        },
        {
          "key": "D",
          "text": "nevertheless",
          "translation": "Tuy nhiên"
        }
      ],
      "answer_translation": "Mặc dù họ đã chi rất nhiều tiền cho bộ phim, nhưng đó không phải là một thành công lớn.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “it” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Mặc dù họ đã chi rất nhiều tiền cho bộ phim, nhưng đó không phải là một thành công lớn”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — it vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q29",
      "page": 3,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "A",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The doctors know that it is very difficult to save their patient's life, _____ they will try their best.",
      "question_translation": "Các bác sĩ biết rằng rất khó để cứu mạng bệnh nhân, ___ họ sẽ cố hết sức.",
      "options": [
        {
          "key": "A",
          "text": "but it",
          "translation": "nhưng nó"
        },
        {
          "key": "B",
          "text": "although",
          "translation": "Mặc dù"
        },
        {
          "key": "C",
          "text": "despite",
          "translation": "Mặc kệ"
        },
        {
          "key": "D",
          "text": "however",
          "translation": "Tuy nhiên"
        }
      ],
      "answer_translation": "Các bác sĩ biết rằng rất khó để cứu mạng bệnh nhân, nhưng họ sẽ cố hết sức.",
      "simple_reason": "Điền “but it” rồi đọc lại toàn câu: “Các bác sĩ biết rằng rất khó để cứu mạng bệnh nhân, nhưng họ sẽ cố hết sức”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q30",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "A",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What are you complaining about? It's so easy that _____ a baby can do it.",
      "question_translation": "Anh đang phàn nàn gì vậy? Thật dễ dàng. ___ Một đứa bé có thể làm được.",
      "options": [
        {
          "key": "A",
          "text": "even",
          "translation": "thậm chí"
        },
        {
          "key": "B",
          "text": "even if",
          "translation": "Ngay cả khi"
        },
        {
          "key": "C",
          "text": "even though",
          "translation": "Mặc dù"
        },
        {
          "key": "D",
          "text": "even that",
          "translation": "Ngay cả khi"
        }
      ],
      "answer_translation": "Anh đang phàn nàn gì vậy? Dễ dàng đến nỗi ngay cả một đứa bé cũng làm được.",
      "simple_reason": "Điền “even” rồi đọc lại toàn câu: “Anh đang phàn nàn gì vậy? Dễ dàng đến nỗi ngay cả một đứa bé cũng làm được”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q31",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "A",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The manager, _____ his factory's products were poor in quality, decided to give his workers further training.",
      "question_translation": "Người quản lý, ___ Sản phẩm của nhà máy của ông ấy rất kém chất lượng, quyết định huấn luyện thêm cho công nhân.",
      "options": [
        {
          "key": "A",
          "text": "knowing",
          "translation": "biết"
        },
        {
          "key": "B",
          "text": "known",
          "translation": "đã biết"
        },
        {
          "key": "C",
          "text": "to know",
          "translation": "để biết"
        },
        {
          "key": "D",
          "text": "knew",
          "translation": "biết"
        }
      ],
      "answer_translation": "Người quản lý, biết rằng sản phẩm của nhà máy của mình là kém chất lượng, quyết định cho nhân viên của mình đào tạo thêm.",
      "simple_reason": "Điền “knowing” rồi đọc lại toàn câu: “Người quản lý, biết rằng sản phẩm của nhà máy của mình là kém chất lượng, quyết định cho nhân viên của mình đào tạo thêm”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q32",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "A",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Kitty must have missed the bus; _____ she would be in class by now.",
      "question_translation": "Chắc Kitty đã lỡ xe buýt; ___ Chắc bây giờ nó đang ở trong lớp.",
      "options": [
        {
          "key": "A",
          "text": "otherwise",
          "translation": "nếu không"
        },
        {
          "key": "B",
          "text": "however",
          "translation": "Tuy nhiên"
        },
        {
          "key": "C",
          "text": "and",
          "translation": "và"
        },
        {
          "key": "D",
          "text": "yet",
          "translation": "Chưa"
        }
      ],
      "answer_translation": "Chắc Kitty bị trễ xe buýt, nếu không thì giờ này nó đã đi học rồi.",
      "simple_reason": "Điền “otherwise” rồi đọc lại toàn câu: “Chắc Kitty bị trễ xe buýt, nếu không thì giờ này nó đã đi học rồi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q33",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "A",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "No one will deny that many of the programmes _____ on television are very poor.",
      "question_translation": "Sẽ không ai phủ nhận rằng rất nhiều chương trình ___ Trên truyền hình rất nghèo.",
      "options": [
        {
          "key": "A",
          "text": "shown",
          "translation": "đã hiển thị"
        },
        {
          "key": "B",
          "text": "showing",
          "translation": "trình bày"
        },
        {
          "key": "C",
          "text": "shows",
          "translation": "hiển thị"
        },
        {
          "key": "D",
          "text": "to show",
          "translation": "để hiển thị"
        }
      ],
      "answer_translation": "Không ai phủ nhận rằng nhiều chương trình trên truyền hình rất nghèo.",
      "simple_reason": "Điền “shown” rồi đọc lại toàn câu: “Không ai phủ nhận rằng nhiều chương trình trên truyền hình rất nghèo”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q34",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "B",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Owls can hunt in total darkness _____ their remarkably keen sense of smell.",
      "question_translation": "Cú có thể săn trong bóng tối ___ khứu giác cực kỳ nhạy bén.",
      "options": [
        {
          "key": "A",
          "text": "since",
          "translation": "kể từ"
        },
        {
          "key": "B",
          "text": "because of",
          "translation": "bởi vì"
        },
        {
          "key": "C",
          "text": "in which",
          "translation": "trong đó"
        },
        {
          "key": "D",
          "text": "that",
          "translation": "đó"
        }
      ],
      "answer_translation": "Cú có thể săn trong bóng tối hoàn toàn vì khứu giác nhạy bén của chúng.",
      "simple_reason": "Điền “because of” rồi đọc lại toàn câu: “Cú có thể săn trong bóng tối hoàn toàn vì khứu giác nhạy bén của chúng”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-GR-Q35",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "C",
      "reason": "Trọng tâm: liên từ, causative get + object + V3, make + object + bare infinitive, reduced relative và quan hệ logic giữa hai clauses.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The man _____ by the dustbin stopped us and asked us for some money.",
      "question_translation": "Người đàn ông ___ bởi trụ mây đã chặn chúng tôi lại và xin ít tiền.",
      "options": [
        {
          "key": "A",
          "text": "stands",
          "translation": "đứng"
        },
        {
          "key": "B",
          "text": "stood",
          "translation": "đứng"
        },
        {
          "key": "C",
          "text": "standing",
          "translation": "đứng"
        },
        {
          "key": "D",
          "text": "was standing",
          "translation": "đứng"
        }
      ],
      "answer_translation": "Người đàn ông đứng cạnh trụ mây chặn chúng tôi lại và xin ít tiền.",
      "simple_reason": "Điền “standing” rồi đọc lại toàn câu: “Người đàn ông đứng cạnh trụ mây chặn chúng tôi lại và xin ít tiền”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-CLOZE-Q36",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 36,
      "answer": "B",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "announced",
          "translation": "thông báo"
        },
        {
          "key": "B",
          "text": "called",
          "translation": "được gọi"
        },
        {
          "key": "C",
          "text": "translated",
          "translation": "dịch"
        },
        {
          "key": "D",
          "text": "explained",
          "translation": "đã giải thích"
        }
      ],
      "answer_translation": "được gọi",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “được gọi” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q37",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 37,
      "answer": "C",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ rỗng (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "fetching",
          "translation": "Lấy"
        },
        {
          "key": "B",
          "text": "lending",
          "translation": "Cho vay"
        },
        {
          "key": "C",
          "text": "taking",
          "translation": "lấy"
        },
        {
          "key": "D",
          "text": "carrying",
          "translation": "mang"
        }
      ],
      "answer_translation": "lấy",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “lấy” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q38",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 38,
      "answer": "D",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "what",
          "translation": "Sao?"
        },
        {
          "key": "B",
          "text": "whose",
          "translation": "của ai"
        },
        {
          "key": "C",
          "text": "who",
          "translation": "Ai"
        },
        {
          "key": "D",
          "text": "which",
          "translation": "mà"
        }
      ],
      "answer_translation": "mà",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “mà” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q39",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 39,
      "answer": "A",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (39) in the passage below: _____",
      "question_translation": "Hãy chọn chữ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "distances",
          "translation": "Khoảng cách"
        },
        {
          "key": "B",
          "text": "directions",
          "translation": "chỉ thị"
        },
        {
          "key": "C",
          "text": "measurements",
          "translation": "Đo"
        },
        {
          "key": "D",
          "text": "lengths",
          "translation": "Chiều dài"
        }
      ],
      "answer_translation": "Khoảng cách",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Khoảng cách” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q40",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 40,
      "answer": "B",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "the",
          "translation": "Cây"
        },
        {
          "key": "B",
          "text": "a",
          "translation": "a"
        },
        {
          "key": "C",
          "text": "some",
          "translation": "một số"
        },
        {
          "key": "D",
          "text": "any",
          "translation": "bất kỳ"
        }
      ],
      "answer_translation": "a",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “a” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q41",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 41,
      "answer": "C",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "walked",
          "translation": "đi bộ"
        },
        {
          "key": "B",
          "text": "made",
          "translation": "làm"
        },
        {
          "key": "C",
          "text": "used",
          "translation": "đã dùng"
        },
        {
          "key": "D",
          "text": "changed",
          "translation": "đã thay đổi"
        }
      ],
      "answer_translation": "đã dùng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “đã dùng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q42",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 42,
      "answer": "B",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "from",
          "translation": "từ"
        },
        {
          "key": "B",
          "text": "between",
          "translation": "giữa"
        },
        {
          "key": "C",
          "text": "to",
          "translation": "phải"
        },
        {
          "key": "D",
          "text": "above",
          "translation": "trên"
        }
      ],
      "answer_translation": "giữa",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “giữa” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q43",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 43,
      "answer": "A",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "an",
          "translation": "a"
        },
        {
          "key": "B",
          "text": "a",
          "translation": "a"
        },
        {
          "key": "C",
          "text": "one",
          "translation": "Một"
        },
        {
          "key": "D",
          "text": "the",
          "translation": "Cây"
        }
      ],
      "answer_translation": "a",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “a” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q44",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 44,
      "answer": "B",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "appearing",
          "translation": "xuất hiện"
        },
        {
          "key": "B",
          "text": "becoming",
          "translation": "trở thành"
        },
        {
          "key": "C",
          "text": "continuing",
          "translation": "Tiếp tục"
        },
        {
          "key": "D",
          "text": "developing",
          "translation": "Đang phát triển"
        }
      ],
      "answer_translation": "trở thành",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “trở thành” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-CLOZE-Q45",
      "page": 4,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Điền từ",
      "question": 45,
      "answer": "D",
      "reason": "Cụm tự nhiên trong passage: called, taking the name from, which, short distances, a small number, used as, between, an hour, becoming, so that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "although",
          "translation": "Mặc dù"
        },
        {
          "key": "B",
          "text": "because",
          "translation": "bởi vì"
        },
        {
          "key": "C",
          "text": "unless",
          "translation": "Trừ khi"
        },
        {
          "key": "D",
          "text": "so that",
          "translation": "Vì vậy mà"
        }
      ],
      "answer_translation": "Vì vậy mà",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “Vì vậy mà” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT01-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT01-ST-Q46",
      "page": 5,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "Despite the good weather, we stayed indoors.",
      "reason": "Đổi although + clause thành despite + noun phrase.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Although the weather was good, we stayed indoors.\nDespite _____.",
      "question_translation": "Mặc dù thời tiết tốt, chúng tôi ở trong nhà.\nViết lại câu, bắt đầu bằng: Despite _____.",
      "options": [],
      "answer_translation": "Dù thời tiết tốt, chúng tôi vẫn ở trong nhà.",
      "simple_reason": "Đổi although + vế câu thành despite + cụm danh từ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-ST-Q47",
      "page": 5,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "Although he has an English name, he is in fact German.",
      "reason": "Đổi in spite of + V-ing thành clause nhượng bộ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "In spite of having an English name, he is in fact German.\nAlthough _____.",
      "question_translation": "Mặc dù có tên tiếng Anh, anh ta thực sự là người Đức.\nViết lại câu, bắt đầu bằng: Although _____.",
      "options": [],
      "answer_translation": "Mặc dù hắn có tên tiếng Anh, nhưng hắn thực sự là người Đức.",
      "simple_reason": "Đổi in spite of + V-ing thành vế câu nhượng bộ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-ST-Q48",
      "page": 5,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "He is better at football than I am.",
      "reason": "Đảo so sánh not as good as thành comparative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I am not as good at football as he is.\nHe is _____.",
      "question_translation": "Tôi không giỏi bóng đá như anh ta.\nViết lại câu, bắt đầu bằng: He is _____.",
      "options": [],
      "answer_translation": "Anh ấy giỏi bóng đá hơn tôi.",
      "simple_reason": "Đảo so sánh not as good as thành comparative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-ST-Q49",
      "page": 5,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "He is too young to vote.",
      "reason": "not old enough tương đương too young.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He isn't old enough to vote.\nHe is too _____.",
      "question_translation": "Nó chưa đủ lớn để bỏ phiếu.\nViết lại câu, bắt đầu bằng: He is too _____.",
      "options": [],
      "answer_translation": "Nó còn quá trẻ để bỏ phiếu.",
      "simple_reason": "Not old enough tương đương too young.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT01-ST-Q50",
      "page": 5,
      "page_range": [
        1,
        7
      ],
      "kind": "practice-test",
      "unit": "Practice Test 1",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "Learning a foreign language in a week is impossible.",
      "reason": "Gerund phrase làm subject; giữ nghĩa bất khả thi.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It is impossible to learn a foreign language in a week.\nLearning _____.",
      "question_translation": "Không thể học ngoại ngữ trong một tuần.\nViết lại câu, bắt đầu bằng: Learning _____.",
      "options": [],
      "answer_translation": "Học ngoại ngữ trong một tuần là điều không thể.",
      "simple_reason": "Gerund phrase làm chủ ngữ; giữ nghĩa bất khả thi.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q01",
      "page": 7,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 1,
      "answer": "C",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "John _____ to go to a quiet restaurant rather than a noisy club.",
      "question_translation": "Giăng ___ đến một nhà hàng yên tĩnh thay vì một câu lạc bộ ồn ào.",
      "options": [
        {
          "key": "A",
          "text": "supposes",
          "translation": "giả sử"
        },
        {
          "key": "B",
          "text": "favors",
          "translation": "ân huệ"
        },
        {
          "key": "C",
          "text": "prefers",
          "translation": "Thích"
        },
        {
          "key": "D",
          "text": "requires",
          "translation": "yêu cầu"
        }
      ],
      "answer_translation": "John thích đến một nhà hàng yên tĩnh hơn là một câu lạc bộ ồn ào.",
      "simple_reason": "Thử từ “prefers” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “John thích đến một nhà hàng yên tĩnh hơn là một câu lạc bộ ồn ào”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q02",
      "page": 7,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 2,
      "answer": "A",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "If something happens on Wednesday and something else happens on Saturday then they are only a few days _____.",
      "question_translation": "Nếu có chuyện gì xảy ra vào thứ Tư và có gì khác xảy ra vào thứ Bảy thì chỉ còn vài ngày thôi. ___ .",
      "options": [
        {
          "key": "A",
          "text": "apart",
          "translation": "tách rời"
        },
        {
          "key": "B",
          "text": "ahead",
          "translation": "phía trước"
        },
        {
          "key": "C",
          "text": "alive",
          "translation": "Sống"
        },
        {
          "key": "D",
          "text": "along",
          "translation": "cùng"
        }
      ],
      "answer_translation": "Nếu có chuyện gì xảy ra vào thứ tư và có gì khác xảy ra vào thứ bảy thì chỉ cách nhau vài ngày.",
      "simple_reason": "Thử từ “apart” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Nếu có chuyện gì xảy ra vào thứ tư và có gì khác xảy ra vào thứ bảy thì chỉ cách nhau vài ngày”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q03",
      "page": 7,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 3,
      "answer": "C",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "After completing her studies, she _____ a famous university to further her studies.",
      "question_translation": "Sau khi học xong, cô ấy ___ một trường đại học nổi tiếng để học thêm.",
      "options": [
        {
          "key": "A",
          "text": "followed",
          "translation": "theo"
        },
        {
          "key": "B",
          "text": "pursued",
          "translation": "bị truy đuổi"
        },
        {
          "key": "C",
          "text": "attended",
          "translation": "có"
        },
        {
          "key": "D",
          "text": "admitted",
          "translation": "thừa nhận"
        }
      ],
      "answer_translation": "Sau khi học xong, chị học thêm một trường nổi tiếng.",
      "simple_reason": "Thử từ “attended” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Sau khi học xong, chị học thêm một trường nổi tiếng”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q04",
      "page": 7,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 4,
      "answer": "B",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "American students agree that a husband is _____ to tell his wife where he has been if he comes home late.",
      "question_translation": "Học sinh Mỹ đồng ý rằng một người chồng là ___ Nói với vợ anh ta đã ở đâu nếu anh ta về muộn.",
      "options": [
        {
          "key": "A",
          "text": "obsessed",
          "translation": "bị ám ảnh"
        },
        {
          "key": "B",
          "text": "obliged",
          "translation": "biết ơn"
        },
        {
          "key": "C",
          "text": "obtained",
          "translation": "Lấy"
        },
        {
          "key": "D",
          "text": "observed",
          "translation": "xem"
        }
      ],
      "answer_translation": "Các sinh viên Mỹ đồng ý rằng một người chồng buộc phải cho vợ biết mình đã ở đâu nếu về nhà trễ.",
      "simple_reason": "Thử từ “obliged” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Các sinh viên Mỹ đồng ý rằng một người chồng buộc phải cho vợ biết mình đã ở đâu nếu về nhà trễ”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q05",
      "page": 8,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 5,
      "answer": "A",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Her _____ exam results are entirely due to her inattention in class.",
      "question_translation": "Cô ___ Kết quả kiểm tra hoàn toàn là do cô ấy không tập trung trong lớp.",
      "options": [
        {
          "key": "A",
          "text": "disappointing",
          "translation": "Thất vọng"
        },
        {
          "key": "B",
          "text": "concerning",
          "translation": "Liên quan"
        },
        {
          "key": "C",
          "text": "embarrassing",
          "translation": "Xấu hổ"
        },
        {
          "key": "D",
          "text": "amazing",
          "translation": "Tuyệt vời"
        }
      ],
      "answer_translation": "Kết quả kiểm tra thất vọng của cô ấy hoàn toàn là do cô ấy không tập trung trong lớp.",
      "simple_reason": "Thử từ “disappointing” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Kết quả kiểm tra thất vọng của cô ấy hoàn toàn là do cô ấy không tập trung trong lớp”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q06",
      "page": 8,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 6,
      "answer": "D",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "That's the sixth person I've _____ today, but I haven't seen anyone I want to hire.",
      "question_translation": "Đó là người thứ sáu tôi có ___ Hôm nay, nhưng tôi không thấy ai tôi muốn thuê.",
      "options": [
        {
          "key": "A",
          "text": "employed",
          "translation": "người dùng"
        },
        {
          "key": "B",
          "text": "selected",
          "translation": "Đã chọn"
        },
        {
          "key": "C",
          "text": "promoted",
          "translation": "được thăng chức"
        },
        {
          "key": "D",
          "text": "interviewed",
          "translation": "phỏng vấn"
        }
      ],
      "answer_translation": "Đó là người thứ sáu tôi phỏng vấn hôm nay, nhưng tôi chưa từng gặp ai tôi muốn thuê.",
      "simple_reason": "Thử từ “interviewed” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Đó là người thứ sáu tôi phỏng vấn hôm nay, nhưng tôi chưa từng gặp ai tôi muốn thuê”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q07",
      "page": 8,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 7,
      "answer": "D",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It does not happen often, but _____ a client chooses not to pay their bill.",
      "question_translation": "Nó không xảy ra thường xuyên, nhưng ___ khách hàng chọn không trả hóa đơn.",
      "options": [
        {
          "key": "A",
          "text": "repeatedly",
          "translation": "lặp lại"
        },
        {
          "key": "B",
          "text": "continually",
          "translation": "liên tục"
        },
        {
          "key": "C",
          "text": "regularly",
          "translation": "đều đặn"
        },
        {
          "key": "D",
          "text": "occasionally",
          "translation": "thỉnh thoảng"
        }
      ],
      "answer_translation": "Điều này không thường xảy ra, nhưng thỉnh thoảng khách hàng quyết định không trả hóa đơn.",
      "simple_reason": "Thử từ “occasionally” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Điều này không thường xảy ra, nhưng thỉnh thoảng khách hàng quyết định không trả hóa đơn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q08",
      "page": 8,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 8,
      "answer": "B",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The face can be _____ into six shapes: round, square, oblong, heart, oval, and diamond.",
      "question_translation": "Khuôn mặt có thể ___ thành sáu hình: tròn, vuông, hình nón, tim, oval và kim cương.",
      "options": [
        {
          "key": "A",
          "text": "divided",
          "translation": "chia"
        },
        {
          "key": "B",
          "text": "classified",
          "translation": "phân loại"
        },
        {
          "key": "C",
          "text": "graded",
          "translation": "chấm"
        },
        {
          "key": "D",
          "text": "arranged",
          "translation": "sắp xếp"
        }
      ],
      "answer_translation": "Khuôn mặt có thể được phân loại thành sáu hình: hình tròn, hình vuông, hình nón, tim, oval và kim cương.",
      "simple_reason": "Thử từ “classified” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Khuôn mặt có thể được phân loại thành sáu hình: hình tròn, hình vuông, hình nón, tim, oval và kim cương”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q09",
      "page": 8,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 9,
      "answer": "B",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You may receive compensation if your flight has been _____ for several hours, often five hours or more.",
      "question_translation": "Bạn có thể được bồi thường nếu chuyến bay của bạn đã được ___ trong nhiều giờ, thường là năm tiếng hoặc lâu hơn.",
      "options": [
        {
          "key": "A",
          "text": "replaced",
          "translation": "thay thế"
        },
        {
          "key": "B",
          "text": "delayed",
          "translation": "hoãn"
        },
        {
          "key": "C",
          "text": "reduced",
          "translation": "giảm"
        },
        {
          "key": "D",
          "text": "deleted",
          "translation": "Đã xoá"
        }
      ],
      "answer_translation": "Bạn có thể được bồi thường nếu máy bay bị hoãn vài tiếng, thường là năm tiếng hoặc hơn.",
      "simple_reason": "Thử từ “delayed” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bạn có thể được bồi thường nếu máy bay bị hoãn vài tiếng, thường là năm tiếng hoặc hơn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-VOC-Q10",
      "page": 8,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Từ vựng",
      "question": 10,
      "answer": "A",
      "reason": "Cụm/nghĩa đúng: prefer to, days apart, attend a university, be obliged to, disappointing results, interview, occasionally, classify into, delayed flight, attractive to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Most women make themselves beautiful to feel good about themselves and be more _____ to men.",
      "question_translation": "Đa số phụ nữ tự làm cho mình xinh đẹp để cảm thấy tốt về bản thân và trở nên hơn ___ với đàn ông.",
      "options": [
        {
          "key": "A",
          "text": "attractive",
          "translation": "hấp dẫn"
        },
        {
          "key": "B",
          "text": "satisfactory",
          "translation": "Vừa lòng"
        },
        {
          "key": "C",
          "text": "essential",
          "translation": "thiết yếu"
        },
        {
          "key": "D",
          "text": "modern",
          "translation": "Hiện đại"
        }
      ],
      "answer_translation": "Hầu hết phụ nữ tự làm cho mình xinh đẹp để cảm thấy tốt về bản thân và trở nên hấp dẫn hơn đối với đàn ông.",
      "simple_reason": "Thử từ “attractive” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Hầu hết phụ nữ tự làm cho mình xinh đẹp để cảm thấy tốt về bản thân và trở nên hấp dẫn hơn đối với đàn ông”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-READ-Q11",
      "page": 8,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "C",
      "reason": "Alice kể quá trình theo nghề diễn, suýt bị đuổi, thay đổi hành vi rồi chuyển từ Shakespeare sang Hollywood.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer's main purpose in writing the text?",
      "question_translation": "Mục đích chính của tác giả khi viết văn bản là gì?",
      "options": [
        {
          "key": "A",
          "text": "To express her ambition for the future.",
          "translation": "Để thể hiện tham vọng cho tương lai."
        },
        {
          "key": "B",
          "text": "To discuss acting in plays by Shakespeare.",
          "translation": "Để thảo luận về diễn xuất của Shakespeare."
        },
        {
          "key": "C",
          "text": "To talk about her acting career.",
          "translation": "Nói về sự nghiệp diễn xuất của cô ấy."
        },
        {
          "key": "D",
          "text": "To describe how she lives now.",
          "translation": "Để mô tả cách cô ấy sống bây giờ."
        }
      ],
      "answer_translation": "Nói về sự nghiệp diễn xuất của cô ấy.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Nói về sự nghiệp diễn xuất của cô ấy”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT02-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q12",
      "page": 9,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "B",
      "reason": "Alice kể quá trình theo nghề diễn, suýt bị đuổi, thay đổi hành vi rồi chuyển từ Shakespeare sang Hollywood.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does the writer say about her childhood?",
      "question_translation": "Nhà văn nói gì về thời thơ ấu của bà?",
      "options": [
        {
          "key": "A",
          "text": "Her parents forced her to be an actor.",
          "translation": "Bố mẹ cô ấy bắt cô ấy làm diễn viên."
        },
        {
          "key": "B",
          "text": "She was surrounded by entertainers.",
          "translation": "Cô ấy bị bao vây bởi những nghệ sĩ."
        },
        {
          "key": "C",
          "text": "She was reluctant to perform for her family.",
          "translation": "Bà miễn cưỡng biểu diễn cho gia đình."
        },
        {
          "key": "D",
          "text": "She was too young to enjoy drama school when her parents first sent her.",
          "translation": "Con bé còn quá nhỏ để thích những vở kịch khi cha mẹ gửi nó đến trường."
        }
      ],
      "answer_translation": "Cô ấy bị bao vây bởi những nghệ sĩ.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Cô ấy bị bao vây bởi những nghệ sĩ”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q13",
      "page": 9,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "A",
      "reason": "Alice kể quá trình theo nghề diễn, suýt bị đuổi, thay đổi hành vi rồi chuyển từ Shakespeare sang Hollywood.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What happened when the writer was a full-time drama student?",
      "question_translation": "Chuyện gì xảy ra khi tác giả là một sinh viên kịch toàn thời gian?",
      "options": [
        {
          "key": "A",
          "text": "She was nearly told to leave the course.",
          "translation": "Cô ấy gần như được lệnh rời khỏi khóa học."
        },
        {
          "key": "B",
          "text": "She had an argument with her personal tutor.",
          "translation": "Cô ấy cãi nhau với gia sư riêng."
        },
        {
          "key": "C",
          "text": "She concentrated on developing as a serious dancer.",
          "translation": "Cô tập trung vào việc phát triển như một vũ công nghiêm túc."
        },
        {
          "key": "D",
          "text": "She worked as a dancer in the evening.",
          "translation": "Cô ấy làm vũ công vào buổi tối."
        }
      ],
      "answer_translation": "Cô ấy gần như được lệnh rời khỏi khóa học.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Cô ấy gần như được lệnh rời khỏi khóa học”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q14",
      "page": 9,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "C",
      "reason": "Alice kể quá trình theo nghề diễn, suýt bị đuổi, thay đổi hành vi rồi chuyển từ Shakespeare sang Hollywood.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "\"I got my act together\" means",
      "question_translation": "\"Tôi đã diễn cùng nhau\" nghĩa là",
      "options": [
        {
          "key": "A",
          "text": "I rehearsed for an act of a play.",
          "translation": "Tôi tập một vở kịch."
        },
        {
          "key": "B",
          "text": "I tried to memorize the lines of my role in an act.",
          "translation": "Tôi đã cố gắng ghi nhớ những gì diễn ra trong một màn diễn."
        },
        {
          "key": "C",
          "text": "I became better organized and changed my behaviour.",
          "translation": "Tôi trở nên có tổ chức tốt hơn và thay đổi cách cư xử."
        },
        {
          "key": "D",
          "text": "I joined my classmates for acting together.",
          "translation": "Tôi gia nhập các bạn cùng lớp vì đã hành động cùng nhau."
        }
      ],
      "answer_translation": "Tôi trở nên có tổ chức tốt hơn và thay đổi cách cư xử.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Tôi trở nên có tổ chức tốt hơn và thay đổi cách cư xử”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q15",
      "page": 9,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "B",
      "reason": "Alice kể quá trình theo nghề diễn, suýt bị đuổi, thay đổi hành vi rồi chuyển từ Shakespeare sang Hollywood.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following is the best description of the writer?",
      "question_translation": "Trong số những điều sau đây, lời miêu tả nào là hay nhất?",
      "options": [
        {
          "key": "A",
          "text": "The young actor who is developing a career.",
          "translation": "Một diễn viên trẻ đang phát triển sự nghiệp."
        },
        {
          "key": "B",
          "text": "The actor who has followed in her parents' footsteps and made the leap from Shakespeare to Hollywood.",
          "translation": "Diễn viên đã theo bước chân bố mẹ cô ấy và thực hiện bước nhảy vọt từ Shakespeare đến Hollywood."
        },
        {
          "key": "C",
          "text": "The reluctant actor who struggled through drama school and became a Hollywood director.",
          "translation": "Một diễn viên miễn cưỡng đã vật lộn trong trường kịch và trở thành đạo diễn Hollywood."
        },
        {
          "key": "D",
          "text": "The rebel actor whose wild life is affecting her career but who is now trying to mend her ways.",
          "translation": "Diễn viên nổi loạn có cuộc sống hoang dã đang ảnh hưởng đến sự nghiệp của cô ấy nhưng giờ đang cố gắng hàn gắn lại con đường của cô ấy."
        }
      ],
      "answer_translation": "Diễn viên đã theo bước chân bố mẹ cô ấy và thực hiện bước nhảy vọt từ Shakespeare đến Hollywood.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Diễn viên đã theo bước chân bố mẹ cô ấy và thực hiện bước nhảy vọt từ Shakespeare đến Hollywood”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT02-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q16",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "B",
      "reason": "Axel dùng âm nhạc để diễn đạt vấn đề xã hội và kết nối với người bình thường; passage không nói âm nhạc giúp anh làm giàu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is Axel Thorn's main aim in writing the text?",
      "question_translation": "Mục tiêu chính của Axel Thorn là gì khi viết văn bản?",
      "options": [
        {
          "key": "A",
          "text": "To explain the music industry to poor people.",
          "translation": "Để giải thích nền công nghiệp âm nhạc cho người nghèo."
        },
        {
          "key": "B",
          "text": "To describe how and why he took up music.",
          "translation": "Để mô tả làm thế nào và tại sao ông đã chọn âm nhạc."
        },
        {
          "key": "C",
          "text": "To explain why he has been so successful.",
          "translation": "Để giải thích tại sao anh ta thành công đến thế."
        },
        {
          "key": "D",
          "text": "To describe the life of a rock star.",
          "translation": "Để mô tả cuộc sống của một ngôi sao nhạc rock."
        }
      ],
      "answer_translation": "Để mô tả làm thế nào và tại sao ông đã chọn âm nhạc.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Để mô tả làm thế nào và tại sao ông đã chọn âm nhạc”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT02-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q17",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "C",
      "reason": "Axel dùng âm nhạc để diễn đạt vấn đề xã hội và kết nối với người bình thường; passage không nói âm nhạc giúp anh làm giàu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What could a reader learn about Axel's childhood?",
      "question_translation": "Một độc giả có thể học được gì về tuổi thơ của Axel?",
      "options": [
        {
          "key": "A",
          "text": "His family always treated him terribly.",
          "translation": "Gia đình anh luôn đối xử tệ với anh."
        },
        {
          "key": "B",
          "text": "He was surrounded by rich people.",
          "translation": "Xung quanh ông là những người giàu có."
        },
        {
          "key": "C",
          "text": "He grew up in a poor area of town.",
          "translation": "Anh lớn lên trong một thị trấn nghèo."
        },
        {
          "key": "D",
          "text": "His family had the worst jobs in the area.",
          "translation": "Gia đình anh ta có những công việc tệ nhất trong khu vực."
        }
      ],
      "answer_translation": "Anh lớn lên trong một thị trấn nghèo.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Anh lớn lên trong một thị trấn nghèo”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q18",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "A",
      "reason": "Axel dùng âm nhạc để diễn đạt vấn đề xã hội và kết nối với người bình thường; passage không nói âm nhạc giúp anh làm giàu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following does Axel NOT say about his music?",
      "question_translation": "Axel không nói gì về âm nhạc của mình?",
      "options": [
        {
          "key": "A",
          "text": "It helps him enrich himself.",
          "translation": "Nó giúp anh ta giàu có hơn."
        },
        {
          "key": "B",
          "text": "It expresses his feelings about social problems.",
          "translation": "Nó thể hiện cảm xúc của anh về những vấn đề xã hội."
        },
        {
          "key": "C",
          "text": "It helps him communicate with other people.",
          "translation": "Nó giúp anh ta giao tiếp với người khác."
        },
        {
          "key": "D",
          "text": "It is welcomed by ordinary people.",
          "translation": "Nó được chào đón bởi những người bình thường."
        }
      ],
      "answer_translation": "Nó giúp anh ta giàu có hơn.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Nó giúp anh ta giàu có hơn”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q19",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "D",
      "reason": "Axel dùng âm nhạc để diễn đạt vấn đề xã hội và kết nối với người bình thường; passage không nói âm nhạc giúp anh làm giàu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does Axel say about performing on stage?",
      "question_translation": "Axel nói gì về biểu diễn trên sân khấu?",
      "options": [
        {
          "key": "A",
          "text": "It was his great dream, as he always loved attention.",
          "translation": "Đó là giấc mơ vĩ đại của ông, như ông luôn luôn yêu sự chú ý."
        },
        {
          "key": "B",
          "text": "They always perform in front of crowds of twenty thousand or more.",
          "translation": "Họ luôn biểu diễn trước đám đông hai mươi ngàn hoặc hơn."
        },
        {
          "key": "C",
          "text": "Most people at the concerts do not understand his music.",
          "translation": "Hầu hết mọi người ở buổi hòa nhạc không hiểu tiếng nhạc của ông."
        },
        {
          "key": "D",
          "text": "He feels it amazing when the crowd sing his own songs.",
          "translation": "Anh ấy cảm thấy thật tuyệt vời khi đám đông hát bài hát của anh ấy."
        }
      ],
      "answer_translation": "Anh ấy cảm thấy thật tuyệt vời khi đám đông hát bài hát của anh ấy.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Anh ấy cảm thấy thật tuyệt vời khi đám đông hát bài hát của anh ấy”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT02-READ-Q20",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "C",
      "reason": "Axel dùng âm nhạc để diễn đạt vấn đề xã hội và kết nối với người bình thường; passage không nói âm nhạc giúp anh làm giàu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "How might Axel describe being in a band?",
      "question_translation": "Axel có thể mô tả thế nào khi ở trong ban nhạc?",
      "options": [
        {
          "key": "A",
          "text": "Being in a band is the greatest thing I could ever hope to do. The best part is the money and being famous.",
          "translation": "Trở thành một ban nhạc là điều tuyệt vời nhất tôi có thể làm. Phần hay nhất là tiền và nổi tiếng."
        },
        {
          "key": "B",
          "text": "We are now a hugely successful band all over the world. I want to make more pop and commercial music to make more money.",
          "translation": "Bây giờ chúng tôi là một ban nhạc rất thành công trên toàn thế giới. Tôi muốn tạo ra nhiều nhạc pop và thương mại hơn để kiếm tiền."
        },
        {
          "key": "C",
          "text": "Music has always been important to me as a way to comment on social problems and communicate with people.",
          "translation": "Âm nhạc luôn luôn quan trọng đối với tôi như một cách để bình luận về các vấn đề xã hội và giao tiếp với người khác."
        },
        {
          "key": "D",
          "text": "The enjoyment I got when I was younger is no longer there; I don't feel so connected with the people as I used to.",
          "translation": "Niềm vui mà tôi có được khi tôi còn trẻ không còn ở đó nữa; tôi không còn cảm thấy gần gũi với những người như trước nữa."
        }
      ],
      "answer_translation": "Âm nhạc luôn luôn quan trọng đối với tôi như một cách để bình luận về các vấn đề xã hội và giao tiếp với người khác.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Âm nhạc luôn luôn quan trọng đối với tôi như một cách để bình luận về các vấn đề xã hội và giao tiếp với người khác”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT02-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT02-GR-Q21",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "C",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "My sister is so healthy — she _____ smokes nor eats junk food.",
      "question_translation": "Chị tôi rất khỏe mạnh — chị ấy ___ hút thuốc hoặc ăn đồ ăn vặt.",
      "options": [
        {
          "key": "A",
          "text": "both",
          "translation": "cả hai"
        },
        {
          "key": "B",
          "text": "either",
          "translation": "cũng không"
        },
        {
          "key": "C",
          "text": "neither",
          "translation": "cũng không"
        },
        {
          "key": "D",
          "text": "not",
          "translation": "không phải"
        }
      ],
      "answer_translation": "Chị tôi khỏe mạnh đến mức không hút thuốc cũng không ăn đồ ăn vặt.",
      "simple_reason": "Điền “neither” rồi đọc lại toàn câu: “Chị tôi khỏe mạnh đến mức không hút thuốc cũng không ăn đồ ăn vặt”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q22",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "B",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “How is your book doing?” — “It has won several awards _____ being unpopular.”",
      "question_translation": "— “Sách của bạn thế nào? ” —“ Sách này đã giành được nhiều giải thưởng ___ không được ưa thích.",
      "options": [
        {
          "key": "A",
          "text": "in spite",
          "translation": "Mặc dù"
        },
        {
          "key": "B",
          "text": "despite",
          "translation": "Mặc kệ"
        },
        {
          "key": "C",
          "text": "however",
          "translation": "Tuy nhiên"
        },
        {
          "key": "D",
          "text": "even",
          "translation": "thậm chí"
        }
      ],
      "answer_translation": "“ Sách của bạn thế nào rồi? ” — “Dù không được ưa thích nhưng sách này đã giành được nhiều giải thưởng.",
      "simple_reason": "Điền “despite” rồi đọc lại toàn câu: ““ Sách của bạn thế nào rồi? ” — “Dù không được ưa thích nhưng sách này đã giành được nhiều giải thưởng”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q23",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "D",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We didn't come _____ to get good seats near the front.",
      "question_translation": "Chúng tôi không đến. ___ để có chỗ ngồi tốt gần mặt trước.",
      "options": [
        {
          "key": "A",
          "text": "so early",
          "translation": "Sớm vậy"
        },
        {
          "key": "B",
          "text": "very early",
          "translation": "Rất sớm"
        },
        {
          "key": "C",
          "text": "too early",
          "translation": "Quá sớm"
        },
        {
          "key": "D",
          "text": "early enough",
          "translation": "Đủ sớm"
        }
      ],
      "answer_translation": "Chúng tôi không đến sớm để có chỗ ngồi tốt gần mặt trận.",
      "simple_reason": "Điền “early enough” rồi đọc lại toàn câu: “Chúng tôi không đến sớm để có chỗ ngồi tốt gần mặt trận”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q24",
      "page": 10,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "C",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The woman was carrying a _____ bag on her way to the supermarket.",
      "question_translation": "Người phụ nữ mang một ___ túi xách trên đường đến siêu thị.",
      "options": [
        {
          "key": "A",
          "text": "black small plastic",
          "translation": "nhựa đen nhỏ"
        },
        {
          "key": "B",
          "text": "black plastic small",
          "translation": "nhựa đen nhỏ"
        },
        {
          "key": "C",
          "text": "small black plastic",
          "translation": "nhựa đen nhỏ"
        },
        {
          "key": "D",
          "text": "plastic small black",
          "translation": "màu đen nhỏ nhựa"
        }
      ],
      "answer_translation": "Người phụ nữ mang theo một túi nhựa đen nhỏ trên đường đến siêu thị.",
      "simple_reason": "Điền “small black plastic” rồi đọc lại toàn câu: “Người phụ nữ mang theo một túi nhựa đen nhỏ trên đường đến siêu thị”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q25",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "A",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "A heart surgeon was at the auto garage _____; he had known the mechanic for a long time.",
      "question_translation": "Một bác sĩ phẫu thuật tim đang ở trong ga-ra xe hơi ___ ; ông đã biết thợ máy một thời gian dài.",
      "options": [
        {
          "key": "A",
          "text": "having his car repaired",
          "translation": "cho sửa xe"
        },
        {
          "key": "B",
          "text": "having to repair his car",
          "translation": "Phải sửa xe"
        },
        {
          "key": "C",
          "text": "having his car to be repaired",
          "translation": "có xe để sửa chữa"
        },
        {
          "key": "D",
          "text": "having repaired his car",
          "translation": "đã sửa xe"
        }
      ],
      "answer_translation": "Một bác sĩ phẫu thuật tim đang ở trong nhà để xe hơi sửa chữa; ông biết thợ máy từ lâu rồi.",
      "simple_reason": "Điền “having his car repaired” rồi đọc lại toàn câu: “Một bác sĩ phẫu thuật tim đang ở trong nhà để xe hơi sửa chữa; ông biết thợ máy từ lâu rồi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q26",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "B",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I wasn't frightened by the film, but my sister was _____.",
      "question_translation": "Tôi không sợ phim, nhưng em gái tôi thì ___ .",
      "options": [
        {
          "key": "A",
          "text": "terrible",
          "translation": "khủng khiếp"
        },
        {
          "key": "B",
          "text": "terrified",
          "translation": "Sợ hãi"
        },
        {
          "key": "C",
          "text": "terrifying",
          "translation": "Đáng sợ"
        },
        {
          "key": "D",
          "text": "terrific",
          "translation": "Tuyệt vời"
        }
      ],
      "answer_translation": "Tôi không sợ bộ phim, nhưng em gái tôi rất sợ hãi.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “terrified” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Tôi không sợ bộ phim, nhưng em gái tôi rất sợ hãi”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — terrified vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q27",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "D",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The girl wishes she _____ in Hue for the festival next week.",
      "question_translation": "♪ Cô gái ước gì ___ màu sắc cho lễ hội tuần tới.",
      "options": [
        {
          "key": "A",
          "text": "can stay",
          "translation": "có thể ở lại"
        },
        {
          "key": "B",
          "text": "is going to stay",
          "translation": "sẽ ở lại"
        },
        {
          "key": "C",
          "text": "is staying",
          "translation": "là ở lại"
        },
        {
          "key": "D",
          "text": "could stay",
          "translation": "♪ có thể ở lại ♪"
        }
      ],
      "answer_translation": "Cô gái ước gì mình có thể ở lại Tô màu trong lễ hội tuần tới.",
      "simple_reason": "Điền “could stay” rồi đọc lại toàn câu: “Cô gái ước gì mình có thể ở lại Tô màu trong lễ hội tuần tới”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q28",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "A",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Who is Susan getting married to?” — “Some guy _____ since her childhood.”",
      "question_translation": "— “Susan kết hôn với ai? ” —“ Một người đàn ông ___ Từ thời thơ ấu.",
      "options": [
        {
          "key": "A",
          "text": "she has known",
          "translation": "cô ấy đã biết"
        },
        {
          "key": "B",
          "text": "has been knowing her",
          "translation": "đã biết cô ấy"
        },
        {
          "key": "C",
          "text": "that have known her",
          "translation": "mà đã biết cô ấy"
        },
        {
          "key": "D",
          "text": "she has been knowing",
          "translation": "Cô ấy đã biết"
        }
      ],
      "answer_translation": "“ Cô Susan sẽ kết hôn với ai? ” — “Một người mà cô biết từ khi còn nhỏ.",
      "simple_reason": "Điền “she has known” rồi đọc lại toàn câu: ““ Cô Susan sẽ kết hôn với ai? ” — “Một người mà cô biết từ khi còn nhỏ”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q29",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "C",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The students didn't have to do any homework as the teacher forgot to give them _____.",
      "question_translation": "Các sinh viên không cần phải làm bài tập về nhà khi giáo viên quên cho họ ___ .",
      "options": [
        {
          "key": "A",
          "text": "much",
          "translation": "nhiều"
        },
        {
          "key": "B",
          "text": "many",
          "translation": "nhiều"
        },
        {
          "key": "C",
          "text": "any",
          "translation": "bất kỳ"
        },
        {
          "key": "D",
          "text": "none",
          "translation": "không có"
        }
      ],
      "answer_translation": "Các sinh viên không phải làm bài tập về nhà khi giáo viên quên cho họ bất kỳ bài tập nào.",
      "simple_reason": "Điền “any” rồi đọc lại toàn câu: “Các sinh viên không phải làm bài tập về nhà khi giáo viên quên cho họ bất kỳ bài tập nào”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q30",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "C",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The more you talk about the matter, _____.",
      "question_translation": "Càng nói về vấn đề này, ___ .",
      "options": [
        {
          "key": "A",
          "text": "the situation seems worse",
          "translation": "Tình hình có vẻ tệ hơn"
        },
        {
          "key": "B",
          "text": "the worse seems the situation",
          "translation": "Tình hình có vẻ tệ hơn."
        },
        {
          "key": "C",
          "text": "the worse the situation seems",
          "translation": "Tình hình dường như càng tệ hơn"
        },
        {
          "key": "D",
          "text": "the situation seems the worse",
          "translation": "Tình hình có vẻ tệ hơn"
        }
      ],
      "answer_translation": "Càng nói nhiều về vấn đề, tình hình có vẻ càng tệ.",
      "simple_reason": "Điền “the worse the situation seems” rồi đọc lại toàn câu: “Càng nói nhiều về vấn đề, tình hình có vẻ càng tệ”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q31",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "A",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Your son is too obsessed with computer games. It's time he _____ playing them.",
      "question_translation": "Con trai ông bị ám ảnh với trò chơi điện tử. Đến lúc rồi. ___ Chơi chúng.",
      "options": [
        {
          "key": "A",
          "text": "gave up",
          "translation": "bỏ cuộc"
        },
        {
          "key": "B",
          "text": "gives up",
          "translation": "bỏ cuộc"
        },
        {
          "key": "C",
          "text": "must give up",
          "translation": "Phải đầu hàng."
        },
        {
          "key": "D",
          "text": "should give up",
          "translation": "nên bỏ cuộc"
        }
      ],
      "answer_translation": "Con trai ông bị ám ảnh với trò chơi điện tử. Đã đến lúc hắn bỏ chơi chúng.",
      "simple_reason": "Điền “gave up” rồi đọc lại toàn câu: “Con trai ông bị ám ảnh với trò chơi điện tử. Đã đến lúc hắn bỏ chơi chúng”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q32",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "A",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ he was good at physics in lower grade, he was terrible at it in grade 12.",
      "question_translation": " ___ Cậu ấy giỏi vật lý ở lớp dưới, cậu ấy rất tệ ở lớp 12.",
      "options": [
        {
          "key": "A",
          "text": "While",
          "translation": "Trong khi"
        },
        {
          "key": "B",
          "text": "Even",
          "translation": "Ngay cả"
        },
        {
          "key": "C",
          "text": "When",
          "translation": "Khi"
        },
        {
          "key": "D",
          "text": "Except that",
          "translation": "Ngoại trừ điều đó"
        }
      ],
      "answer_translation": "Trong khi anh ấy học vật lý ở lớp dưới, anh ấy rất giỏi môn đó ở lớp 12.",
      "simple_reason": "Điền “While” rồi đọc lại toàn câu: “Trong khi anh ấy học vật lý ở lớp dưới, anh ấy rất giỏi môn đó ở lớp 12”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q33",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "A",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Daisy told me _____ she would leave for London to find a job.",
      "question_translation": "Daisy đã nói với tôi ___ cô ấy sẽ đi London để tìm việc làm.",
      "options": [
        {
          "key": "A",
          "text": "that if she were me",
          "translation": "Nếu cô ấy là tôi"
        },
        {
          "key": "B",
          "text": "if that she were me",
          "translation": "Nếu đó là tôi"
        },
        {
          "key": "C",
          "text": "that if she had been me",
          "translation": "Nếu cô ấy là tôi"
        },
        {
          "key": "D",
          "text": "that had she been me",
          "translation": "Cô ấy là tôi"
        }
      ],
      "answer_translation": "Daisy nói với tôi rằng nếu cô ấy là tôi cô ấy sẽ đi London để tìm việc làm.",
      "simple_reason": "Điền “that if she were me” rồi đọc lại toàn câu: “Daisy nói với tôi rằng nếu cô ấy là tôi cô ấy sẽ đi London để tìm việc làm”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q34",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "D",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We had a French architect _____ our villa last month.",
      "question_translation": "Chúng tôi có một kiến trúc sư Pháp ___ Biệt thự của chúng tôi tháng trước.",
      "options": [
        {
          "key": "A",
          "text": "designing",
          "translation": "Thiết kế"
        },
        {
          "key": "B",
          "text": "designed",
          "translation": "đã thiết kế"
        },
        {
          "key": "C",
          "text": "to design",
          "translation": "thiết kế"
        },
        {
          "key": "D",
          "text": "design",
          "translation": "thiết kế"
        }
      ],
      "answer_translation": "Chúng tôi có một kiến trúc sư Pháp thiết kế biệt thự tháng trước.",
      "simple_reason": "Điền “design” rồi đọc lại toàn câu: “Chúng tôi có một kiến trúc sư Pháp thiết kế biệt thự tháng trước”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-GR-Q35",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "D",
      "reason": "Trọng tâm: neither...nor, despite + V-ing, trật tự adjective, causative, wish, relative clause, double comparative, It's time + past, have + object + bare infinitive, so little...that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "He had _____ money that he had to travel everywhere on foot.",
      "question_translation": "Ông ấy có... ___ tiền bạc mà ông phải đi bộ khắp nơi.",
      "options": [
        {
          "key": "A",
          "text": "too little",
          "translation": "Quá ít"
        },
        {
          "key": "B",
          "text": "such little",
          "translation": "Thật là nhỏ bé"
        },
        {
          "key": "C",
          "text": "so few",
          "translation": "Quá ít"
        },
        {
          "key": "D",
          "text": "so little",
          "translation": "Quá ít"
        }
      ],
      "answer_translation": "Ông có ít tiền đến nỗi phải đi bộ khắp nơi.",
      "simple_reason": "Điền “so little” rồi đọc lại toàn câu: “Ông có ít tiền đến nỗi phải đi bộ khắp nơi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-CLOZE-Q36",
      "page": 11,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 36,
      "answer": "A",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "Although",
          "translation": "Mặc dù"
        },
        {
          "key": "B",
          "text": "However",
          "translation": "Tuy nhiên"
        },
        {
          "key": "C",
          "text": "Even",
          "translation": "Ngay cả"
        },
        {
          "key": "D",
          "text": "So",
          "translation": "Vậy"
        }
      ],
      "answer_translation": "Mặc dù",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Mặc dù” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q37",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 37,
      "answer": "C",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "went",
          "translation": "đã đi"
        },
        {
          "key": "B",
          "text": "travelled",
          "translation": "Du lịch"
        },
        {
          "key": "C",
          "text": "took",
          "translation": "chụp"
        },
        {
          "key": "D",
          "text": "carried",
          "translation": "đã mang"
        }
      ],
      "answer_translation": "chụp",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “chụp” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q38",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 38,
      "answer": "B",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "since",
          "translation": "kể từ"
        },
        {
          "key": "B",
          "text": "still",
          "translation": "Dừng"
        },
        {
          "key": "C",
          "text": "already",
          "translation": "Đã có"
        },
        {
          "key": "D",
          "text": "yet",
          "translation": "Chưa"
        }
      ],
      "answer_translation": "Dừng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Dừng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q39",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 39,
      "answer": "C",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (39) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "demanded",
          "translation": "yêu cầu"
        },
        {
          "key": "B",
          "text": "requested",
          "translation": "yêu cầu"
        },
        {
          "key": "C",
          "text": "asked",
          "translation": "nhắc"
        },
        {
          "key": "D",
          "text": "wanted",
          "translation": "đã muốn"
        }
      ],
      "answer_translation": "nhắc",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “nhắc” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q40",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 40,
      "answer": "D",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "tells",
          "translation": "nói"
        },
        {
          "key": "B",
          "text": "speaks",
          "translation": "phát âm"
        },
        {
          "key": "C",
          "text": "informs",
          "translation": "Thông báo"
        },
        {
          "key": "D",
          "text": "says",
          "translation": "nói"
        }
      ],
      "answer_translation": "nói",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “nói” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q41",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 41,
      "answer": "C",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "missed",
          "translation": "trượt"
        },
        {
          "key": "B",
          "text": "gave",
          "translation": "đã đưa"
        },
        {
          "key": "C",
          "text": "lost",
          "translation": "mất"
        },
        {
          "key": "D",
          "text": "threw",
          "translation": "ném"
        }
      ],
      "answer_translation": "mất",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “mất” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q42",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 42,
      "answer": "B",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "when",
          "translation": "khi"
        },
        {
          "key": "B",
          "text": "where",
          "translation": "nơi"
        },
        {
          "key": "C",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "D",
          "text": "that",
          "translation": "đó"
        }
      ],
      "answer_translation": "nơi",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “nơi” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q43",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 43,
      "answer": "A",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "Both",
          "translation": "Cả hai"
        },
        {
          "key": "B",
          "text": "Some",
          "translation": "Một số"
        },
        {
          "key": "C",
          "text": "Either",
          "translation": "Cả hai"
        },
        {
          "key": "D",
          "text": "Any",
          "translation": "Bất kỳ"
        }
      ],
      "answer_translation": "Cả hai",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Cả hai” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q44",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 44,
      "answer": "C",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "worked",
          "translation": "làm việc"
        },
        {
          "key": "B",
          "text": "turned",
          "translation": "Quay"
        },
        {
          "key": "C",
          "text": "became",
          "translation": "trở thành"
        },
        {
          "key": "D",
          "text": "applied",
          "translation": "áp dụng"
        }
      ],
      "answer_translation": "trở thành",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “trở thành” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-CLOZE-Q45",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Điền từ",
      "question": 45,
      "answer": "D",
      "reason": "Chuỗi tự nhiên: Although, took him, still remembers, asked for, his father says, lost his job, nơi where, Both, became, the best.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "better",
          "translation": "Tốt hơn"
        },
        {
          "key": "B",
          "text": "the better",
          "translation": "tốt hơn"
        },
        {
          "key": "C",
          "text": "best",
          "translation": "tốt nhất"
        },
        {
          "key": "D",
          "text": "the best",
          "translation": "tốt nhất"
        }
      ],
      "answer_translation": "tốt nhất",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “tốt nhất” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT02-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT02-ST-Q46",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "Andrews suggested that we should go for a walk in the park.",
      "reason": "suggested that + subject + should + V; cũng có thể dùng suggested going... nếu không bị khóa phần đầu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "‘Let's go for a walk in the park,’ said Andrews.\nAndrews suggested that _____.",
      "question_translation": "‘ Hãy đi dạo trong công viên, Andrews nói.\nViết lại câu, bắt đầu bằng: Andrews suggested that _____.",
      "options": [],
      "answer_translation": "Andrews đề nghị chúng ta nên đi dạo trong công viên.",
      "simple_reason": "Suggested that + chủ ngữ + should + V; cũng có thể dùng suggested going... nếu không bị khóa phần đầu.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-ST-Q47",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "She had her computer repaired by a friend yesterday.",
      "reason": "Causative have + object + past participle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "A friend of hers repaired her computer yesterday.\nShe had _____.",
      "question_translation": "Một người bạn của cô ấy đã sửa máy tính ngày hôm qua.\nViết lại câu, bắt đầu bằng: She had _____.",
      "options": [],
      "answer_translation": "Hôm qua cô ấy nhờ một người bạn sửa máy tính.",
      "simple_reason": "Causative have + object + phân từ hai, thường mang nghĩa bị động.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-ST-Q48",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "Despite the bad traffic, I arrived on time.",
      "reason": "although + clause → despite + noun phrase.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Although the traffic was bad, I arrived on time.\nDespite _____.",
      "question_translation": "Mặc dù giao thông không thuận lợi, tôi đến đúng giờ.\nViết lại câu, bắt đầu bằng: Despite _____.",
      "options": [],
      "answer_translation": "Bất chấp giao thông xấu, tôi đến đúng giờ.",
      "simple_reason": "Although + vế câu → despite + cụm danh từ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-ST-Q49",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "My purse was stolen from my handbag.",
      "reason": "Chuyển sang passive; không cần đoán tác nhân.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Someone stole my purse from my handbag.\nMy purse _____.",
      "question_translation": "Có người lấy ví của tôi từ túi xách.\nViết lại câu, bắt đầu bằng: My purse _____.",
      "options": [],
      "answer_translation": "Ví của tôi bị lấy cắp từ túi xách.",
      "simple_reason": "Chuyển sang bị động; không cần đoán tác nhân.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT02-ST-Q50",
      "page": 12,
      "page_range": [
        7,
        14
      ],
      "kind": "practice-test",
      "unit": "Practice Test 2",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "The package was so heavy that Peter could not carry it.",
      "reason": "too + adjective + for + object + to V → so...that...could not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The package was too heavy for Peter to carry.\nThe package was so _____.",
      "question_translation": "Gói hàng quá nặng đối với Phi - e - rơ.\nViết lại câu, bắt đầu bằng: The package was so _____.",
      "options": [],
      "answer_translation": "Gói đồ nặng đến nỗi Phi - e - rơ không thể xách nổi.",
      "simple_reason": "Too + adjective + for + object + to V → so...that...could not.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q01",
      "page": 14,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 1,
      "answer": "D",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "This society was formed to _____ the further education of immigrants from all nations.",
      "question_translation": "Xã hội này được hình thành ___ sự giáo dục thêm cho dân nhập cư từ mọi nước.",
      "options": [
        {
          "key": "A",
          "text": "provoke",
          "translation": "khiêu khích"
        },
        {
          "key": "B",
          "text": "preserve",
          "translation": "bảo tồn"
        },
        {
          "key": "C",
          "text": "present",
          "translation": "Hiện tại"
        },
        {
          "key": "D",
          "text": "promote",
          "translation": "cổ vũ"
        }
      ],
      "answer_translation": "Xã hội này được thành lập nhằm đẩy mạnh việc giáo dục thêm cho dân nhập cư từ mọi nước.",
      "simple_reason": "Thử từ “promote” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Xã hội này được thành lập nhằm đẩy mạnh việc giáo dục thêm cho dân nhập cư từ mọi nước”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q02",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 2,
      "answer": "C",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Six people have _____ that they will be attending and ten haven't replied yet.",
      "question_translation": "6 người ___ và mười người vẫn chưa trả lời.",
      "options": [
        {
          "key": "A",
          "text": "identified",
          "translation": "Nhận diện"
        },
        {
          "key": "B",
          "text": "believed",
          "translation": "tin"
        },
        {
          "key": "C",
          "text": "confirmed",
          "translation": "Xác nhận"
        },
        {
          "key": "D",
          "text": "assumed",
          "translation": "giả định"
        }
      ],
      "answer_translation": "Sáu người đã xác nhận rằng họ sẽ tham dự và mười người vẫn chưa trả lời.",
      "simple_reason": "Thử từ “confirmed” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Sáu người đã xác nhận rằng họ sẽ tham dự và mười người vẫn chưa trả lời”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q03",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 3,
      "answer": "A",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Does the price listed in your brochure _____ meals as well as accommodation?",
      "question_translation": "Giá được liệt kê trong sách mỏng ___ Bữa ăn cũng như chỗ ở?",
      "options": [
        {
          "key": "A",
          "text": "cover",
          "translation": "bìa"
        },
        {
          "key": "B",
          "text": "pay",
          "translation": "Trả tiền"
        },
        {
          "key": "C",
          "text": "treat",
          "translation": "chữa"
        },
        {
          "key": "D",
          "text": "spend",
          "translation": "dùng"
        }
      ],
      "answer_translation": "Giá được liệt kê trong sách mỏng của bạn có bao gồm các bữa ăn và chỗ ở không?",
      "simple_reason": "Thử từ “cover” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Giá được liệt kê trong sách mỏng của bạn có bao gồm các bữa ăn và chỗ ở không”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q04",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 4,
      "answer": "D",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Some people believe that it is possible to _____ someone's character by measuring the shape of their head.",
      "question_translation": "Một số người tin rằng ___ tính cách của ai đó bằng cách đo hình dạng đầu của họ.",
      "options": [
        {
          "key": "A",
          "text": "build",
          "translation": "Xây dựng"
        },
        {
          "key": "B",
          "text": "form",
          "translation": "mẫu"
        },
        {
          "key": "C",
          "text": "trust",
          "translation": "tin tưởng"
        },
        {
          "key": "D",
          "text": "judge",
          "translation": "thẩm phán"
        }
      ],
      "answer_translation": "Một số người tin rằng có thể đánh giá tính cách của ai đó bằng cách đo hình dạng cái đầu của họ.",
      "simple_reason": "Thử từ “judge” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Một số người tin rằng có thể đánh giá tính cách của ai đó bằng cách đo hình dạng cái đầu của họ”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q05",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 5,
      "answer": "C",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I'm writing to express my _____ gratitude for all your help.",
      "question_translation": "Tôi viết thư để thể hiện... ___ Cảm ơn vì sự giúp đỡ của mọi người.",
      "options": [
        {
          "key": "A",
          "text": "truthful",
          "translation": "Chân thật"
        },
        {
          "key": "B",
          "text": "actual",
          "translation": "thật"
        },
        {
          "key": "C",
          "text": "sincere",
          "translation": "Chân thành"
        },
        {
          "key": "D",
          "text": "honest",
          "translation": "Trung thực"
        }
      ],
      "answer_translation": "Tôi viết thư để bày tỏ lòng biết ơn chân thành vì sự giúp đỡ của anh.",
      "simple_reason": "Thử từ “sincere” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tôi viết thư để bày tỏ lòng biết ơn chân thành vì sự giúp đỡ của anh”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q06",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 6,
      "answer": "B",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The actress gave her most _____ performance when she played the part of Lady Macbeth.",
      "question_translation": "Nữ diễn viên đã cho cô ấy nhiều nhất ___ Khi cô ấy đóng vai Phu nhân Macbeth.",
      "options": [
        {
          "key": "A",
          "text": "attentive",
          "translation": "Chú ý"
        },
        {
          "key": "B",
          "text": "impressive",
          "translation": "ấn tượng"
        },
        {
          "key": "C",
          "text": "relative",
          "translation": "tương đối"
        },
        {
          "key": "D",
          "text": "positive",
          "translation": "Dương"
        }
      ],
      "answer_translation": "Nữ diễn viên đã cho cô ấy màn trình diễn ấn tượng nhất khi đóng vai Phu nhân Macbeth.",
      "simple_reason": "Thử từ “impressive” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Nữ diễn viên đã cho cô ấy màn trình diễn ấn tượng nhất khi đóng vai Phu nhân Macbeth”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q07",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 7,
      "answer": "D",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It's a good idea to _____ junk food if you are trying to control your weight.",
      "question_translation": "Đó là ý hay ___ Thức ăn vặt nếu bạn đang cố kiểm soát trọng lượng của mình.",
      "options": [
        {
          "key": "A",
          "text": "block",
          "translation": "khối"
        },
        {
          "key": "B",
          "text": "prevent",
          "translation": "ngăn chặn"
        },
        {
          "key": "C",
          "text": "deny",
          "translation": "Từ chối"
        },
        {
          "key": "D",
          "text": "avoid",
          "translation": "tránh"
        }
      ],
      "answer_translation": "Đó là một ý hay để tránh đồ ăn vặt nếu bạn đang cố kiểm soát trọng lượng của mình.",
      "simple_reason": "Thử từ “avoid” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Đó là một ý hay để tránh đồ ăn vặt nếu bạn đang cố kiểm soát trọng lượng của mình”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q08",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 8,
      "answer": "A",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It's _____ for people to get depressed if they're out of work.",
      "question_translation": "Là... ___ để mọi người bị trầm cảm nếu họ thất nghiệp.",
      "options": [
        {
          "key": "A",
          "text": "normal",
          "translation": "chuẩn"
        },
        {
          "key": "B",
          "text": "average",
          "translation": "Trung bình"
        },
        {
          "key": "C",
          "text": "regular",
          "translation": "chuẩn"
        },
        {
          "key": "D",
          "text": "typical",
          "translation": "điển hình"
        }
      ],
      "answer_translation": "Người ta thường bị trầm cảm nếu thất nghiệp.",
      "simple_reason": "Thử từ “normal” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Người ta thường bị trầm cảm nếu thất nghiệp”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q09",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 9,
      "answer": "D",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Please don't _____ what I've just told you to anyone else.",
      "question_translation": "Xin đừng ___ những gì tôi vừa nói với anh với người khác.",
      "options": [
        {
          "key": "A",
          "text": "refuse",
          "translation": "từ chối"
        },
        {
          "key": "B",
          "text": "record",
          "translation": "thu"
        },
        {
          "key": "C",
          "text": "resign",
          "translation": "Từ chức"
        },
        {
          "key": "D",
          "text": "repeat",
          "translation": "lặp lại"
        }
      ],
      "answer_translation": "Làm ơn đừng nhắc lại những gì tôi vừa nói với anh.",
      "simple_reason": "Thử từ “repeat” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Làm ơn đừng nhắc lại những gì tôi vừa nói với anh”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-VOC-Q10",
      "page": 15,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Từ vựng",
      "question": 10,
      "answer": "B",
      "reason": "Cụm/nghĩa đúng: promote education, confirm attendance, giá cover meals, judge character, sincere gratitude, impressive performance, avoid, normal for, repeat, mechanic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The _____ examined the car engine thoroughly but could find nothing wrong with it.",
      "question_translation": "Hạt ___ đã kiểm tra kỹ động cơ xe nhưng không thấy có gì sai.",
      "options": [
        {
          "key": "A",
          "text": "carpenter",
          "translation": "Thợ mộc"
        },
        {
          "key": "B",
          "text": "mechanic",
          "translation": "Máy"
        },
        {
          "key": "C",
          "text": "plumber",
          "translation": "Thợ ống nước"
        },
        {
          "key": "D",
          "text": "tailor",
          "translation": "phù hợp"
        }
      ],
      "answer_translation": "Người thợ máy kiểm tra kỹ động cơ xe nhưng không thấy có gì sai.",
      "simple_reason": "Thử từ “mechanic” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Người thợ máy kiểm tra kỹ động cơ xe nhưng không thấy có gì sai”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-READ-Q11",
      "page": 16,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "B",
      "reason": "Passage mô tả một kỳ nghỉ ngắn ở Kenya; pilot rút ngắn Customs, chuyến bay có nhiều cảnh đẹp và Loisaba ít bị du lịch làm mất vẻ hoang dã.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Why has the writer written this piece?",
      "question_translation": "Tại sao tác giả lại viết tác phẩm này?",
      "options": [
        {
          "key": "A",
          "text": "To give information about transportation to savannah in Kenya.",
          "translation": "Để cung cấp thông tin về phương tiện di chuyển đến thảo nguyên ở Kenya."
        },
        {
          "key": "B",
          "text": "To inform readers about a short break in Africa.",
          "translation": "Để thông báo cho độc giả về một kỳ nghỉ ngắn ở Châu Phi."
        },
        {
          "key": "C",
          "text": "To introduce wildlife in Africa.",
          "translation": "Để giới thiệu động vật hoang dã ở Châu Phi."
        },
        {
          "key": "D",
          "text": "To raise awareness of animal conservation.",
          "translation": "Để nâng cao nhận thức về bảo tồn động vật."
        }
      ],
      "answer_translation": "Để thông báo cho độc giả về một kỳ nghỉ ngắn ở Châu Phi.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Để thông báo cho độc giả về một kỳ nghỉ ngắn ở Châu Phi”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q12",
      "page": 16,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "B",
      "reason": "Passage mô tả một kỳ nghỉ ngắn ở Kenya; pilot rút ngắn Customs, chuyến bay có nhiều cảnh đẹp và Loisaba ít bị du lịch làm mất vẻ hoang dã.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Why was the writer so pleased to be met by the pilot?",
      "question_translation": "Tại sao người viết sách này lại vui mừng đến thế khi gặp người phi công?",
      "options": [
        {
          "key": "A",
          "text": "Because he didn't expect the pilot to be so friendly.",
          "translation": "Bởi vì anh ta không nghĩ phi công lại thân thiện như vậy."
        },
        {
          "key": "B",
          "text": "Because the pilot helped him to shorten the time to be spent at the Customs.",
          "translation": "Bởi vì phi công đã giúp ông rút ngắn thời gian ở Hải quan."
        },
        {
          "key": "C",
          "text": "Because without the pilot, he would have no one to fly him to his destination.",
          "translation": "Vì nếu không có phi công, anh ta sẽ không có ai đưa anh ta đến nơi."
        },
        {
          "key": "D",
          "text": "Because he was anxious to be in time for breakfast.",
          "translation": "Bởi vì anh ta nóng lòng muốn ăn sáng."
        }
      ],
      "answer_translation": "Bởi vì phi công đã giúp ông rút ngắn thời gian ở Hải quan.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Bởi vì phi công đã giúp ông rút ngắn thời gian ở Hải quan”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q13",
      "page": 16,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "D",
      "reason": "Passage mô tả một kỳ nghỉ ngắn ở Kenya; pilot rút ngắn Customs, chuyến bay có nhiều cảnh đẹp và Loisaba ít bị du lịch làm mất vẻ hoang dã.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does the writer say about the flight from Nairobi?",
      "question_translation": "Nhà văn nói gì về chuyến bay từ Nairobi?",
      "options": [
        {
          "key": "A",
          "text": "There was not much to see from the plane.",
          "translation": "Không có nhiều thứ để xem từ máy bay."
        },
        {
          "key": "B",
          "text": "The pilot flew in a dangerous way.",
          "translation": "Phi công bay một cách nguy hiểm."
        },
        {
          "key": "C",
          "text": "They were followed by a smaller plane.",
          "translation": "Sau đó là một chiếc máy bay nhỏ hơn."
        },
        {
          "key": "D",
          "text": "It offered many impressive views.",
          "translation": "Nó đưa ra nhiều quan điểm ấn tượng."
        }
      ],
      "answer_translation": "Nó đưa ra nhiều quan điểm ấn tượng.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Nó đưa ra nhiều quan điểm ấn tượng”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q14",
      "page": 16,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "B",
      "reason": "Passage mô tả một kỳ nghỉ ngắn ở Kenya; pilot rút ngắn Customs, chuyến bay có nhiều cảnh đẹp và Loisaba ít bị du lịch làm mất vẻ hoang dã.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Who does the writer suggest about Loisaba?",
      "question_translation": "Tác giả gợi ý ai về Loisaba?",
      "options": [
        {
          "key": "A",
          "text": "It is also a game park.",
          "translation": "Nó cũng là một công viên trò chơi."
        },
        {
          "key": "B",
          "text": "It is not spoiled by tourists.",
          "translation": "Nó không bị lãng phí bởi du khách."
        },
        {
          "key": "C",
          "text": "It is a national conservancy.",
          "translation": "Nó là bảo tồn quốc gia."
        },
        {
          "key": "D",
          "text": "Tourists drove there to see lions.",
          "translation": "Du khách đến đó để xem sư tử."
        }
      ],
      "answer_translation": "Nó không bị lãng phí bởi du khách.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Nó không bị lãng phí bởi du khách”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT03-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q15",
      "page": 16,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "A",
      "reason": "Passage mô tả một kỳ nghỉ ngắn ở Kenya; pilot rút ngắn Customs, chuyến bay có nhiều cảnh đẹp và Loisaba ít bị du lịch làm mất vẻ hoang dã.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The sentence \"The wild life here,......in jeeps\" is meant to",
      "question_translation": "Câu \"Cuộc sống hoang dã ở đây,...\" \"...trong xe jeep\" có nghĩa là",
      "options": [
        {
          "key": "A",
          "text": "show that Loisaba is wilder than many game parks.",
          "translation": "Cho thấy Loisaba còn hoang dã hơn nhiều công viên trò chơi."
        },
        {
          "key": "B",
          "text": "emphasize that Loisaba does not have lions like in the game parks.",
          "translation": "Nhấn mạnh rằng Loisaba không có sư tử như trong các công viên trò chơi."
        },
        {
          "key": "C",
          "text": "tell us that wild animals do not attack people.",
          "translation": "Hãy cho chúng tôi biết thú hoang không tấn công người ta."
        },
        {
          "key": "D",
          "text": "show that Loisaba is not exciting to see because there aren't many tourists.",
          "translation": "Cho thấy Loisaba không hứng thú khi thấy vì không có nhiều du khách."
        }
      ],
      "answer_translation": "Cho thấy Loisaba còn hoang dã hơn nhiều công viên trò chơi.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Cho thấy Loisaba còn hoang dã hơn nhiều công viên trò chơi”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT03-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q16",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "C",
      "reason": "Mandy giải thích công việc; cô học nhiều từ việc cũ, thử ý tưởng mới, không nói gặp chủ bar/club và thực sự yêu thích nghề.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer's main aim in writing the text?",
      "question_translation": "Mục tiêu chính của tác giả là gì khi viết văn bản?",
      "options": [
        {
          "key": "A",
          "text": "To introduce her company Thomson Holidays.",
          "translation": "Để giới thiệu công ty của cô ấy về những ngày nghỉ."
        },
        {
          "key": "B",
          "text": "To describe how resorts are managed",
          "translation": "Để mô tả cách quản lý các khu nghỉ dưỡng"
        },
        {
          "key": "C",
          "text": "To explain what her jobs involve.",
          "translation": "Để giải thích công việc của cô ấy bao hàm những gì."
        },
        {
          "key": "D",
          "text": "To suggest that it is important to stay open-minded to new ideas.",
          "translation": "Để gợi ý rằng quan trọng là phải tập trung vào những ý tưởng mới."
        }
      ],
      "answer_translation": "Để giải thích công việc của cô ấy bao hàm những gì.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Để giải thích công việc của cô ấy bao hàm những gì”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q17",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "A",
      "reason": "Mandy giải thích công việc; cô học nhiều từ việc cũ, thử ý tưởng mới, không nói gặp chủ bar/club và thực sự yêu thích nghề.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What do we learn about the writer in the first paragraph?",
      "question_translation": "Chúng ta học được gì về người viết trong đoạn đầu?",
      "options": [
        {
          "key": "A",
          "text": "She learned a lot from her first job.",
          "translation": "Cô ấy học được rất nhiều từ công việc đầu tiên."
        },
        {
          "key": "B",
          "text": "She didn't stay long in her first job.",
          "translation": "Cô ấy không ở lại lâu trong công việc đầu tiên."
        },
        {
          "key": "C",
          "text": "Her degree is more suitable for the second job than the first job.",
          "translation": "Bằng cấp của chị phù hợp với công việc thứ hai hơn là công việc đầu tiên."
        },
        {
          "key": "D",
          "text": "It took her a while to be promoted to manager in Thomson Holidays.",
          "translation": "Phải mất một thời gian cô ấy mới được thăng chức làm quản lý ở các kỳ nghỉ của Hội đồng Lãnh đạo."
        }
      ],
      "answer_translation": "Cô ấy học được rất nhiều từ công việc đầu tiên.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Cô ấy học được rất nhiều từ công việc đầu tiên”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q18",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "B",
      "reason": "Mandy giải thích công việc; cô học nhiều từ việc cũ, thử ý tưởng mới, không nói gặp chủ bar/club và thực sự yêu thích nghề.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What can be said about her job with the second employer?",
      "question_translation": "Có thể nói gì về công việc của bà với người chủ thứ hai?",
      "options": [
        {
          "key": "A",
          "text": "She works overseas more than in the UK.",
          "translation": "Cô ấy làm việc ở nước ngoài nhiều hơn ở Anh."
        },
        {
          "key": "B",
          "text": "She is responsible for trying new ideas.",
          "translation": "Cô ấy chịu trách nhiệm về những ý tưởng mới."
        },
        {
          "key": "C",
          "text": "Her department alone thinks up ideas and develops them into projects.",
          "translation": "Chỉ bộ phận của cô nghĩ ra các ý tưởng và phát triển chúng thành các dự án."
        },
        {
          "key": "D",
          "text": "She needs other departments to tell her whether her ideas work or not.",
          "translation": "Cô ấy cần những bộ phận khác cho cô ấy biết ý tưởng của cô ấy có hiệu quả hay không."
        }
      ],
      "answer_translation": "Cô ấy chịu trách nhiệm về những ý tưởng mới.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Cô ấy chịu trách nhiệm về những ý tưởng mới”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q19",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "C",
      "reason": "Mandy giải thích công việc; cô học nhiều từ việc cũ, thử ý tưởng mới, không nói gặp chủ bar/club và thực sự yêu thích nghề.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Who does she NOT meet at resorts?",
      "question_translation": "Cô ấy không gặp ai ở khu nghỉ dưỡng?",
      "options": [
        {
          "key": "A",
          "text": "Reps.",
          "translation": "Reps."
        },
        {
          "key": "B",
          "text": "Supervisors.",
          "translation": "Giám sát."
        },
        {
          "key": "C",
          "text": "Bar and club owners.",
          "translation": "Chủ quán bar và câu lạc bộ."
        },
        {
          "key": "D",
          "text": "Those who spend their holidays there.",
          "translation": "Những người dành kỳ nghỉ ở đó."
        }
      ],
      "answer_translation": "Chủ quán bar và câu lạc bộ.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Chủ quán bar và câu lạc bộ”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT03-READ-Q20",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "A",
      "reason": "Mandy giải thích công việc; cô học nhiều từ việc cũ, thử ý tưởng mới, không nói gặp chủ bar/club và thực sự yêu thích nghề.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following is the best description of the writer?",
      "question_translation": "Trong số những điều sau đây, lời miêu tả nào là hay nhất?",
      "options": [
        {
          "key": "A",
          "text": "A working woman who very much enjoys what she does for a living.",
          "translation": "Một phụ nữ đi làm rất thích công việc kiếm sống."
        },
        {
          "key": "B",
          "text": "A travel agent who focuses on selling events to clients.",
          "translation": "Một đại lý du lịch tập trung vào việc bán sự kiện cho khách hàng."
        },
        {
          "key": "C",
          "text": "An employee who enjoys travel and frequents bars and clubs.",
          "translation": "Một nhân viên thích đi du lịch và thường lui tới quán bar và câu lạc bộ."
        },
        {
          "key": "D",
          "text": "A manager who is very strict with her subordinates and checks on them all the time.",
          "translation": "Một quản lý rất nghiêm khắc với cấp dưới của mình và luôn kiểm tra họ."
        }
      ],
      "answer_translation": "Một phụ nữ đi làm rất thích công việc kiếm sống.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Một phụ nữ đi làm rất thích công việc kiếm sống”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT03-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT03-GR-Q21",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "A",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ of my parents speaks Japanese but both of them can speak French fluently.",
      "question_translation": " ___ Bố mẹ tôi nói tiếng Nhật nhưng cả hai đều nói lưu loát tiếng Pháp.",
      "options": [
        {
          "key": "A",
          "text": "Neither",
          "translation": "Cả hai"
        },
        {
          "key": "B",
          "text": "None",
          "translation": "Không có"
        },
        {
          "key": "C",
          "text": "No",
          "translation": "Không"
        },
        {
          "key": "D",
          "text": "Not one",
          "translation": "Không một ai"
        }
      ],
      "answer_translation": "Cha mẹ tôi không nói tiếng Nhật nhưng cả hai đều nói lưu loát tiếng Pháp.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “Neither” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Cha mẹ tôi không nói tiếng Nhật nhưng cả hai đều nói lưu loát tiếng Pháp”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn A — Neither vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q22",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "A",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Of all the questions, the last one is the _____ troublesome.",
      "question_translation": "Trong tất cả các câu hỏi, câu hỏi cuối cùng là ___ Rắc rối.",
      "options": [
        {
          "key": "A",
          "text": "least",
          "translation": "ít"
        },
        {
          "key": "B",
          "text": "little",
          "translation": "nhỏ"
        },
        {
          "key": "C",
          "text": "lesser",
          "translation": "nhỏ"
        },
        {
          "key": "D",
          "text": "less",
          "translation": "bớt"
        }
      ],
      "answer_translation": "Trong tất cả các câu hỏi, câu hỏi cuối cùng là ít phiền toái nhất.",
      "simple_reason": "Điền “least” rồi đọc lại toàn câu: “Trong tất cả các câu hỏi, câu hỏi cuối cùng là ít phiền toái nhất”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q23",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "B",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I live in Nha Trang, _____ is one of the most beautiful cities of Vietnam.",
      "question_translation": "Tôi sống ở Nha Tang, ___ là một trong những thành phố đẹp nhất Việt Nam.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "C",
          "text": "where",
          "translation": "nơi"
        },
        {
          "key": "D",
          "text": "it",
          "translation": "nó"
        }
      ],
      "answer_translation": "Tôi sống ở Nha Tang, một trong những thành phố đẹp nhất Việt Nam.",
      "simple_reason": "Điền “which” rồi đọc lại toàn câu: “Tôi sống ở Nha Tang, một trong những thành phố đẹp nhất Việt Nam”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q24",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "D",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The pop group ABC, _____ manager has just resigned, is currently touring the USA.",
      "question_translation": "Nhóm nhạc pop ABC, ___ Quản lý vừa từ chức, hiện đang tham quan nước Mỹ.",
      "options": [
        {
          "key": "A",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "B",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "C",
          "text": "where",
          "translation": "nơi"
        },
        {
          "key": "D",
          "text": "whose",
          "translation": "của ai"
        }
      ],
      "answer_translation": "Nhóm nhạc pop ABC, người quản lý vừa mới từ chức, hiện đang đi du lịch Mỹ.",
      "simple_reason": "Điền “whose” rồi đọc lại toàn câu: “Nhóm nhạc pop ABC, người quản lý vừa mới từ chức, hiện đang đi du lịch Mỹ”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q25",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "D",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "With all the good things we get from rainforests, it's _____ to find that we are destroying our rainforests.",
      "question_translation": "Với tất cả những điều tốt đẹp chúng ta có được từ rừng mưa nhiệt đới, ___ Để tìm ra rằng chúng ta đang phá hủy rừng mưa nhiệt đới.",
      "options": [
        {
          "key": "A",
          "text": "surprise",
          "translation": "ngạc nhiên"
        },
        {
          "key": "B",
          "text": "surprised",
          "translation": "Ngạc nhiên"
        },
        {
          "key": "C",
          "text": "surprisingly",
          "translation": "Ngạc nhiên"
        },
        {
          "key": "D",
          "text": "surprising",
          "translation": "Ngạc nhiên"
        }
      ],
      "answer_translation": "Với tất cả những thứ tốt đẹp chúng ta có được từ rừng mưa nhiệt đới, thật ngạc nhiên khi thấy rằng chúng ta đang phá hủy rừng nhiệt đới.",
      "simple_reason": "Điền “surprising” rồi đọc lại toàn câu: “Với tất cả những thứ tốt đẹp chúng ta có được từ rừng mưa nhiệt đới, thật ngạc nhiên khi thấy rằng chúng ta đang phá hủy rừng nhiệt đới”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q26",
      "page": 17,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "D",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It was _____ hot day that we decided to leave work early.",
      "question_translation": "Đó là ___ Ngày nóng bức mà chúng tôi quyết định đi làm sớm.",
      "options": [
        {
          "key": "A",
          "text": "so a",
          "translation": "vì vậy a"
        },
        {
          "key": "B",
          "text": "such",
          "translation": "như vậy"
        },
        {
          "key": "C",
          "text": "a so",
          "translation": "a so"
        },
        {
          "key": "D",
          "text": "such a",
          "translation": "Thật là..."
        }
      ],
      "answer_translation": "Hôm đó trời nóng đến nỗi chúng tôi quyết định đi làm sớm.",
      "simple_reason": "Điền “such a” rồi đọc lại toàn câu: “Hôm đó trời nóng đến nỗi chúng tôi quyết định đi làm sớm”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q27",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "B",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I _____ lots of interesting people in the last two years and I am never bored.",
      "question_translation": "I ___ rất nhiều người thú vị trong 2 năm qua và tôi không bao giờ chán.",
      "options": [
        {
          "key": "A",
          "text": "met",
          "translation": "đã gặp"
        },
        {
          "key": "B",
          "text": "have met",
          "translation": "Đã gặp"
        },
        {
          "key": "C",
          "text": "was meeting",
          "translation": "gặp gỡ"
        },
        {
          "key": "D",
          "text": "had met",
          "translation": "đã gặp"
        }
      ],
      "answer_translation": "Tôi đã gặp rất nhiều người thú vị trong hai năm qua và tôi không bao giờ chán.",
      "simple_reason": "Điền “have met” rồi đọc lại toàn câu: “Tôi đã gặp rất nhiều người thú vị trong hai năm qua và tôi không bao giờ chán”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q28",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "C",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I know he doesn't want to go to the meeting — but he shall go, _____ he likes it or not.",
      "question_translation": "Tôi biết anh ấy không muốn đi họp nhưng anh ấy sẽ đi ___ Nó có thích hay không.",
      "options": [
        {
          "key": "A",
          "text": "although",
          "translation": "Mặc dù"
        },
        {
          "key": "B",
          "text": "even though",
          "translation": "Mặc dù"
        },
        {
          "key": "C",
          "text": "whether",
          "translation": "Cho dù"
        },
        {
          "key": "D",
          "text": "if",
          "translation": "nếu"
        }
      ],
      "answer_translation": "Tôi biết ông không muốn đi nhóm họp — nhưng ông sẽ đi, dù ông thích hay không.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “whether” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Tôi biết ông không muốn đi nhóm họp — nhưng ông sẽ đi, dù ông thích hay không”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — whether vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q29",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "B",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Look at those black clouds. It _____.",
      "question_translation": "Nhìn đám mây đen kìa. Nó ___ .",
      "options": [
        {
          "key": "A",
          "text": "has been raining",
          "translation": "Trời mưa rồi"
        },
        {
          "key": "B",
          "text": "is going to rain",
          "translation": "sẽ mưa"
        },
        {
          "key": "C",
          "text": "will rain",
          "translation": "sẽ mưa"
        },
        {
          "key": "D",
          "text": "is raining",
          "translation": "đang mưa"
        }
      ],
      "answer_translation": "Nhìn đám mây đen kìa. Trời sắp mưa rồi.",
      "simple_reason": "Điền “is going to rain” rồi đọc lại toàn câu: “Nhìn đám mây đen kìa. Trời sắp mưa rồi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q30",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "C",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "George _____ for the company for just six months when it went bankrupt.",
      "question_translation": "George ___ cho công ty chỉ 6 tháng khi nó bị phá sản.",
      "options": [
        {
          "key": "A",
          "text": "has been worked",
          "translation": "đã được làm việc"
        },
        {
          "key": "B",
          "text": "has worked",
          "translation": "đã làm việc"
        },
        {
          "key": "C",
          "text": "had been working",
          "translation": "đã làm việc"
        },
        {
          "key": "D",
          "text": "was working",
          "translation": "làm việc"
        }
      ],
      "answer_translation": "George đã làm việc cho công ty chỉ sáu tháng khi nó bị phá sản.",
      "simple_reason": "Điền “had been working” rồi đọc lại toàn câu: “George đã làm việc cho công ty chỉ sáu tháng khi nó bị phá sản”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q31",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "C",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “I wish you would just forget about it.” — “I can't. I want to know _____ she said about us.”",
      "question_translation": "— “Em ước gì anh quên chuyện đó đi. Tôi muốn biết ___ Cô ấy nói về chúng ta.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "C",
          "text": "what",
          "translation": "Sao?"
        },
        {
          "key": "D",
          "text": "it",
          "translation": "nó"
        }
      ],
      "answer_translation": "— “Em ước gì anh quên chuyện đó đi. Tôi muốn biết cô ấy nói gì về chúng ta.",
      "simple_reason": "Điền “what” rồi đọc lại toàn câu: “— “Em ước gì anh quên chuyện đó đi. Tôi muốn biết cô ấy nói gì về chúng ta”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q32",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "D",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ who were invited turned up at the party.",
      "question_translation": " ___ người được mời xuất hiện ở bữa tiệc.",
      "options": [
        {
          "key": "A",
          "text": "Not many people",
          "translation": "Không nhiều người"
        },
        {
          "key": "B",
          "text": "Not many of people",
          "translation": "Không nhiều người"
        },
        {
          "key": "C",
          "text": "Not the many people",
          "translation": "Không nhiều người"
        },
        {
          "key": "D",
          "text": "Not many of the people",
          "translation": "Không nhiều người"
        }
      ],
      "answer_translation": "Không có nhiều người được mời đến dự tiệc.",
      "simple_reason": "Điền “Not many of the people” rồi đọc lại toàn câu: “Không có nhiều người được mời đến dự tiệc”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q33",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "A",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Are these gloves necessary?” — “Yes. You _____ use this chemical without gloves. It will burn your skin.”",
      "question_translation": "— “Có cần găng tay không? Ngươi ___ Sử dụng hóa chất này mà không cần găng tay. Nó sẽ đốt cháy da anh.",
      "options": [
        {
          "key": "A",
          "text": "must not",
          "translation": "không được"
        },
        {
          "key": "B",
          "text": "don't have to",
          "translation": "Không cần"
        },
        {
          "key": "C",
          "text": "could not",
          "translation": "không thể"
        },
        {
          "key": "D",
          "text": "need not",
          "translation": "không cần"
        }
      ],
      "answer_translation": "— “Có cần găng tay không? Anh không được dùng loại hóa chất này mà không có găng tay. Nó sẽ đốt cháy da anh.",
      "simple_reason": "Điền “must not” rồi đọc lại toàn câu: “— “Có cần găng tay không? Anh không được dùng loại hóa chất này mà không có găng tay. Nó sẽ đốt cháy da anh”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q34",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "B",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Although _____ can speak the language very well, many are comfortable reading English at some level, and almost everyone has a basic vocabulary.",
      "question_translation": "Mặc dù ___ Có thể nói ngôn ngữ này rất tốt, nhiều người thấy thoải mái khi đọc tiếng Anh ở một mức độ nào đó, và hầu hết mọi người đều có một vốn từ căn bản.",
      "options": [
        {
          "key": "A",
          "text": "a few",
          "translation": "một vài"
        },
        {
          "key": "B",
          "text": "few",
          "translation": "ít"
        },
        {
          "key": "C",
          "text": "a little",
          "translation": "một chút"
        },
        {
          "key": "D",
          "text": "little",
          "translation": "nhỏ"
        }
      ],
      "answer_translation": "Mặc dù ít người có thể nói tốt ngôn ngữ này, nhiều người cảm thấy thoải mái khi đọc tiếng Anh ở một mức độ nào đó, và hầu hết mọi người đều có vốn từ căn bản.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “few” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Mặc dù ít người có thể nói tốt ngôn ngữ này, nhiều người cảm thấy thoải mái khi đọc tiếng Anh ở một mức độ nào đó, và hầu hết mọi người đều có vốn từ căn bản”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — few vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-GR-Q35",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "C",
      "reason": "Trọng tâm: neither of, superlative least, non-defining relatives, adjective surprising, such a, present perfect, whether...or not, evidence-based future, past perfect continuous, free relative what, must not, quantifier và adjective order.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Everybody at the party was pleased with the _____.",
      "question_translation": "Mọi người ở bữa tiệc đều hài lòng với ___ .",
      "options": [
        {
          "key": "A",
          "text": "vegetable soup delicious hot",
          "translation": "Súp rau ngon quá"
        },
        {
          "key": "B",
          "text": "hot delicious vegetable soup",
          "translation": "súp rau nóng"
        },
        {
          "key": "C",
          "text": "delicious hot vegetable soup",
          "translation": "Món súp rau nóng"
        },
        {
          "key": "D",
          "text": "delicious vegetable hot soup",
          "translation": "Món súp nóng rất ngon"
        }
      ],
      "answer_translation": "Mọi người ở bữa tiệc đều hài lòng với món súp rau nóng ngon.",
      "simple_reason": "Điền “delicious hot vegetable soup” rồi đọc lại toàn câu: “Mọi người ở bữa tiệc đều hài lòng với món súp rau nóng ngon”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-CLOZE-Q36",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 36,
      "answer": "A",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "even",
          "translation": "thậm chí"
        },
        {
          "key": "B",
          "text": "quite",
          "translation": "khá"
        },
        {
          "key": "C",
          "text": "very",
          "translation": "rất"
        },
        {
          "key": "D",
          "text": "so",
          "translation": "Vậy"
        }
      ],
      "answer_translation": "thậm chí",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “thậm chí” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q37",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 37,
      "answer": "B",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "many",
          "translation": "nhiều"
        },
        {
          "key": "B",
          "text": "a lot of",
          "translation": "rất nhiều"
        },
        {
          "key": "C",
          "text": "a number of",
          "translation": "một số"
        },
        {
          "key": "D",
          "text": "much of",
          "translation": "rất nhiều"
        }
      ],
      "answer_translation": "rất nhiều",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “rất nhiều” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q38",
      "page": 18,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 38,
      "answer": "D",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "stay",
          "translation": "ở lại"
        },
        {
          "key": "B",
          "text": "remain",
          "translation": "ở lại"
        },
        {
          "key": "C",
          "text": "hold",
          "translation": "Giữ lại"
        },
        {
          "key": "D",
          "text": "keep",
          "translation": "Giữ"
        }
      ],
      "answer_translation": "Giữ",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “Giữ” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q39",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 39,
      "answer": "A",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (39) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "perfect",
          "translation": "Hoàn hảo"
        },
        {
          "key": "B",
          "text": "excellent",
          "translation": "tuyệt vời"
        },
        {
          "key": "C",
          "text": "intelligent",
          "translation": "Thông minh"
        },
        {
          "key": "D",
          "text": "complete",
          "translation": "Hoàn tất"
        }
      ],
      "answer_translation": "Hoàn hảo",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Hoàn hảo” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q40",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 40,
      "answer": "C",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "do",
          "translation": "do"
        },
        {
          "key": "B",
          "text": "take",
          "translation": "Lấy"
        },
        {
          "key": "C",
          "text": "make",
          "translation": "làm"
        },
        {
          "key": "D",
          "text": "have",
          "translation": "có"
        }
      ],
      "answer_translation": "làm",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “làm” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q41",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 41,
      "answer": "D",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "this",
          "translation": "Cái này"
        },
        {
          "key": "B",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "C",
          "text": "they",
          "translation": "họ"
        },
        {
          "key": "D",
          "text": "it",
          "translation": "nó"
        }
      ],
      "answer_translation": "nó",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “nó” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q42",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 42,
      "answer": "A",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "at",
          "translation": "vào"
        },
        {
          "key": "B",
          "text": "in",
          "translation": "in"
        },
        {
          "key": "C",
          "text": "for",
          "translation": "Vì"
        },
        {
          "key": "D",
          "text": "with",
          "translation": "có"
        }
      ],
      "answer_translation": "vào",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “vào” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q43",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 43,
      "answer": "A",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "Another",
          "translation": "Khác"
        },
        {
          "key": "B",
          "text": "Other",
          "translation": "Khác"
        },
        {
          "key": "C",
          "text": "Others",
          "translation": "Khác"
        },
        {
          "key": "D",
          "text": "The other",
          "translation": "Cái kia."
        }
      ],
      "answer_translation": "Khác",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Khác” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q44",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 44,
      "answer": "D",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "little",
          "translation": "nhỏ"
        },
        {
          "key": "B",
          "text": "a little",
          "translation": "một chút"
        },
        {
          "key": "C",
          "text": "few",
          "translation": "ít"
        },
        {
          "key": "D",
          "text": "a few",
          "translation": "một vài"
        }
      ],
      "answer_translation": "một vài",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “một vài” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-CLOZE-Q45",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Điền từ",
      "question": 45,
      "answer": "B",
      "reason": "Cụm tự nhiên: even more quickly, a lot of information, keep information, not perfect, make mistakes, dummy it, at work, another way, a few hours, may not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "can",
          "translation": "có thể"
        },
        {
          "key": "B",
          "text": "may",
          "translation": "có thể"
        },
        {
          "key": "C",
          "text": "must",
          "translation": "Phải"
        },
        {
          "key": "D",
          "text": "should",
          "translation": "nên"
        }
      ],
      "answer_translation": "có thể",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “có thể” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT03-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT03-ST-Q46",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "We haven't decorated the room for two years.",
      "reason": "It is...since + past → present perfect negative + for.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It is two years since we decorated the room.\nWe haven't _____.",
      "question_translation": "Đã hai năm kể từ khi chúng tôi trang trí căn phòng.\nViết lại câu, bắt đầu bằng: We haven't _____.",
      "options": [],
      "answer_translation": "Chúng tôi đã không trang trí phòng hai năm rồi.",
      "simple_reason": "It is...since + past → present perfect negative + for.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-ST-Q47",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "If you do not get a visa, you cannot visit New York.",
      "reason": "unless → if...not.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "You can't visit New York unless you get a visa.\nIf you _____.",
      "question_translation": "Anh không thể thăm New York trừ khi được cấp thị thực.\nViết lại câu, bắt đầu bằng: If you _____.",
      "options": [],
      "answer_translation": "Nếu anh không có visa, anh không thể đến New York.",
      "simple_reason": "Unless → if...not.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-ST-Q48",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "I wish my brother knew how to dance.",
      "reason": "Điều ước trái với hiện tại dùng past simple.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "My brother doesn't know how to dance.\nI wish _____.",
      "question_translation": "Anh trai tôi không biết nhảy.\nViết lại câu, bắt đầu bằng: I wish _____.",
      "options": [],
      "answer_translation": "Ước gì anh trai tôi biết nhảy.",
      "simple_reason": "Điều ước trái với hiện tại dùng past simple.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-ST-Q49",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "It was such wonderful news that we decided to have a celebration.",
      "reason": "so + adjective → such + adjective + uncountable noun.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The news was so wonderful that we decided to have a celebration.\nIt was _____.",
      "question_translation": "Tin tức thật tuyệt vời đến nỗi chúng tôi quyết định tổ chức một buổi lễ.\nViết lại câu, bắt đầu bằng: It was _____.",
      "options": [],
      "answer_translation": "Đó là tin tuyệt vời đến nỗi chúng tôi quyết định tổ chức một buổi lễ.",
      "simple_reason": "So + adjective → such + adjective + uncountable noun.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT03-ST-Q50",
      "page": 19,
      "page_range": [
        14,
        21
      ],
      "kind": "practice-test",
      "unit": "Practice Test 3",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "Although the weather is terrible, tourists keep coming here.",
      "reason": "despite + noun phrase → although + clause; giữ hiện tại.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Tourists keep coming here despite the terrible weather.\nAlthough _____.",
      "question_translation": "Du khách cứ đến đây mặc cho thời tiết xấu.\nViết lại câu, bắt đầu bằng: Although _____.",
      "options": [],
      "answer_translation": "Mặc dù thời tiết rất tệ, khách du lịch cứ tiếp tục tới đây.",
      "simple_reason": "Despite + cụm danh từ → although + vế câu; giữ hiện tại.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q01",
      "page": 21,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 1,
      "answer": "B",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The young model was _____ by an agent who found her working in a grocery store.",
      "question_translation": "Người mẫu trẻ là ___ bởi một đặc vụ đã tìm thấy cô ấy làm việc trong một cửa hàng tạp hóa.",
      "options": [
        {
          "key": "A",
          "text": "invented",
          "translation": "phát minh"
        },
        {
          "key": "B",
          "text": "discovered",
          "translation": "phát hiện"
        },
        {
          "key": "C",
          "text": "noticed",
          "translation": "nhận thấy"
        },
        {
          "key": "D",
          "text": "explored",
          "translation": "đã khám phá"
        }
      ],
      "answer_translation": "Người mẫu trẻ được phát hiện bởi một đặc vụ đã tìm thấy cô ấy làm việc trong một cửa hàng tạp hóa.",
      "simple_reason": "Thử từ “discovered” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Người mẫu trẻ được phát hiện bởi một đặc vụ đã tìm thấy cô ấy làm việc trong một cửa hàng tạp hóa”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q02",
      "page": 21,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 2,
      "answer": "A",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Jane and her family moved to a small town two years ago when they decided it was too _____ for them to live in New York.",
      "question_translation": "Jane và gia đình chuyển đến một thị trấn nhỏ cách đây hai năm khi họ quyết định nó cũng vậy. ___ để họ sống ở New York.",
      "options": [
        {
          "key": "A",
          "text": "expensive",
          "translation": "đắt tiền"
        },
        {
          "key": "B",
          "text": "valuable",
          "translation": "có giá trị"
        },
        {
          "key": "C",
          "text": "spacious",
          "translation": "Rộng rãi"
        },
        {
          "key": "D",
          "text": "contrary",
          "translation": "Trái"
        }
      ],
      "answer_translation": "Jane và gia đình chuyển đến một thị trấn nhỏ cách đây hai năm khi họ quyết định sống ở New York quá tốn kém.",
      "simple_reason": "Thử từ “expensive” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Jane và gia đình chuyển đến một thị trấn nhỏ cách đây hai năm khi họ quyết định sống ở New York quá tốn kém”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q03",
      "page": 21,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 3,
      "answer": "A",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The _____ look on the child's face aroused sympathy in every passer-by.",
      "question_translation": "Hạt ___ Hãy nhìn vào khuôn mặt đứa trẻ khiến mọi khách qua đường đều cảm thông.",
      "options": [
        {
          "key": "A",
          "text": "pitiful",
          "translation": "Đáng thương"
        },
        {
          "key": "B",
          "text": "cheerful",
          "translation": "Vui vẻ"
        },
        {
          "key": "C",
          "text": "angry",
          "translation": "tức giận"
        },
        {
          "key": "D",
          "text": "smart",
          "translation": "Thông minh"
        }
      ],
      "answer_translation": "Cái nhìn đáng thương trên khuôn mặt đứa trẻ khơi dậy sự cảm thông trong mỗi khách qua đường.",
      "simple_reason": "Thử từ “pitiful” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Cái nhìn đáng thương trên khuôn mặt đứa trẻ khơi dậy sự cảm thông trong mỗi khách qua đường”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q04",
      "page": 22,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 4,
      "answer": "C",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I asked him to _____ me a few minutes so that we could go over the problems.",
      "question_translation": "Tôi yêu cầu anh ấy ___ Tôi vài phút để chúng tôi có thể giải quyết vấn đề.",
      "options": [
        {
          "key": "A",
          "text": "spend",
          "translation": "dùng"
        },
        {
          "key": "B",
          "text": "save",
          "translation": "lưu"
        },
        {
          "key": "C",
          "text": "spare",
          "translation": "Thêm"
        },
        {
          "key": "D",
          "text": "share",
          "translation": "Chia sẻ"
        }
      ],
      "answer_translation": "Tôi bảo anh ấy cho tôi vài phút để chúng tôi có thể giải quyết vấn đề.",
      "simple_reason": "Thử từ “spare” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tôi bảo anh ấy cho tôi vài phút để chúng tôi có thể giải quyết vấn đề”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q05",
      "page": 22,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 5,
      "answer": "B",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The young girl happily cuddled her new baby sister in her arms, and sang _____ to her.",
      "question_translation": "Cô gái trẻ vui vẻ ôm em gái mới sinh trong vòng tay và hát ___ với cô ấy.",
      "options": [
        {
          "key": "A",
          "text": "lightly",
          "translation": "nhẹ"
        },
        {
          "key": "B",
          "text": "softly",
          "translation": "Nhẹ nhàng"
        },
        {
          "key": "C",
          "text": "slightly",
          "translation": "nhẹ"
        },
        {
          "key": "D",
          "text": "lowly",
          "translation": "thấp hèn"
        }
      ],
      "answer_translation": "Cô gái trẻ vui vẻ ôm em gái mới sinh trong vòng tay và hát nhẹ nhàng với cô.",
      "simple_reason": "Thử từ “softly” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Cô gái trẻ vui vẻ ôm em gái mới sinh trong vòng tay và hát nhẹ nhàng với cô”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q06",
      "page": 22,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 6,
      "answer": "A",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Most women make themselves beautiful to feel good about themselves and be more _____ to men.",
      "question_translation": "Đa số phụ nữ tự làm cho mình xinh đẹp để cảm thấy tốt về bản thân và trở nên hơn ___ với đàn ông.",
      "options": [
        {
          "key": "A",
          "text": "attractive",
          "translation": "hấp dẫn"
        },
        {
          "key": "B",
          "text": "satisfactory",
          "translation": "Vừa lòng"
        },
        {
          "key": "C",
          "text": "original",
          "translation": "gốc"
        },
        {
          "key": "D",
          "text": "valuable",
          "translation": "có giá trị"
        }
      ],
      "answer_translation": "Hầu hết phụ nữ tự làm cho mình xinh đẹp để cảm thấy tốt về bản thân và trở nên hấp dẫn hơn đối với đàn ông.",
      "simple_reason": "Thử từ “attractive” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Hầu hết phụ nữ tự làm cho mình xinh đẹp để cảm thấy tốt về bản thân và trở nên hấp dẫn hơn đối với đàn ông”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q07",
      "page": 22,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 7,
      "answer": "A",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Although her proposal for the new ad campaign was a good one, it was _____ because it was similar to one already used.",
      "question_translation": "Mặc dù đề xuất của cô ấy cho chiến dịch quảng cáo mới là một chiến dịch tốt, nó đã được ___ bởi vì nó tương tự như nó đã được sử dụng.",
      "options": [
        {
          "key": "A",
          "text": "turned down",
          "translation": "bị từ chối"
        },
        {
          "key": "B",
          "text": "turned on",
          "translation": "bật"
        },
        {
          "key": "C",
          "text": "turned off",
          "translation": "tắt"
        },
        {
          "key": "D",
          "text": "turned back",
          "translation": "Quay lại"
        }
      ],
      "answer_translation": "Mặc dù lời đề nghị của bà cho chiến dịch quảng cáo mới là tốt, nhưng nó đã bị từ chối vì nó giống như cách đã được sử dụng.",
      "simple_reason": "Thử từ “turned down” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Mặc dù lời đề nghị của bà cho chiến dịch quảng cáo mới là tốt, nhưng nó đã bị từ chối vì nó giống như cách đã được sử dụng”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q08",
      "page": 22,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 8,
      "answer": "B",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You have to realize that not all your clients can reach you online because they don't have _____ to a computer.",
      "question_translation": "Bạn phải nhận ra rằng không phải tất cả khách hàng của bạn có thể liên lạc trực tuyến với bạn bởi vì họ không có ___ đến máy tính.",
      "options": [
        {
          "key": "A",
          "text": "address",
          "translation": "địa chỉ"
        },
        {
          "key": "B",
          "text": "access",
          "translation": "truy cập"
        },
        {
          "key": "C",
          "text": "admittance",
          "translation": "Thú nhận"
        },
        {
          "key": "D",
          "text": "approach",
          "translation": "Tiếp cận"
        }
      ],
      "answer_translation": "Bạn phải nhận ra rằng không phải tất cả khách hàng của bạn có thể truy cập trực tuyến của bạn bởi vì họ không có quyền truy cập vào máy tính.",
      "simple_reason": "Thử từ “access” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bạn phải nhận ra rằng không phải tất cả khách hàng của bạn có thể truy cập trực tuyến của bạn bởi vì họ không có quyền truy cập vào máy tính”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q09",
      "page": 22,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 9,
      "answer": "C",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Some people seem to be born lucky — they meet their perfect partners, _____ their ambitions, and live happy lives.",
      "question_translation": "Một số người dường như sinh ra đã may mắn. Họ gặp những người bạn đời hoàn hảo. ___ Tham vọng của họ, và sống hạnh phúc cuộc sống.",
      "options": [
        {
          "key": "A",
          "text": "obtain",
          "translation": "Lấy"
        },
        {
          "key": "B",
          "text": "satisfy",
          "translation": "Thỏa mãn"
        },
        {
          "key": "C",
          "text": "achieve",
          "translation": "Xong"
        },
        {
          "key": "D",
          "text": "respond",
          "translation": "trả lời"
        }
      ],
      "answer_translation": "Một số người dường như sinh ra đã may mắn — họ gặp được người hôn phối hoàn hảo, đạt được tham vọng và có đời sống hạnh phúc.",
      "simple_reason": "Thử từ “achieve” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Một số người dường như sinh ra đã may mắn — họ gặp được người hôn phối hoàn hảo, đạt được tham vọng và có đời sống hạnh phúc”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-VOC-Q10",
      "page": 22,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Từ vựng",
      "question": 10,
      "answer": "D",
      "reason": "discovered by an agent, spare me, sing softly, turned down, access to, achieve ambitions, recycle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Don't just throw that bottle away — you should _____ it.",
      "question_translation": "Đừng vứt cái chai đó đi. ___ nó.",
      "options": [
        {
          "key": "A",
          "text": "reform",
          "translation": "Cải cách"
        },
        {
          "key": "B",
          "text": "reproduce",
          "translation": "sinh sản"
        },
        {
          "key": "C",
          "text": "recreate",
          "translation": "Tạo lại"
        },
        {
          "key": "D",
          "text": "recycle",
          "translation": "Tái chế"
        }
      ],
      "answer_translation": "Đừng vứt cái chai đó đi, anh nên tái chế lại.",
      "simple_reason": "Thử từ “recycle” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Đừng vứt cái chai đó đi, anh nên tái chế lại”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-READ-Q11",
      "page": 22,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "B",
      "reason": "Bài Jazz giải thích sự quan tâm của giới trẻ; trình độ cao dù còn trẻ, người quan tâm đều tập trước giờ học, tác giả kết nối với lịch sử jazz và ghi nhận hỗ trợ của cha mẹ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer trying to do in this text?",
      "question_translation": "Tác giả cố gắng làm gì trong đoạn văn này?",
      "options": [
        {
          "key": "A",
          "text": "Encourage people to try to listen to more jazz.",
          "translation": "Khuyến khích người ta lắng nghe nhạc jazz nhiều hơn."
        },
        {
          "key": "B",
          "text": "Explain how jazz is becoming popular with young people.",
          "translation": "Hãy giải thích làm thế nào nhạc jazz trở nên phổ biến với giới trẻ."
        },
        {
          "key": "C",
          "text": "Advertise young people's jazz in his area.",
          "translation": "Quảng cáo nhạc jazz của giới trẻ trong khu vực của anh ta."
        },
        {
          "key": "D",
          "text": "Give advice on how to create great jazz music.",
          "translation": "Hãy cho lời khuyên về cách tạo ra nhạc jazz tuyệt vời."
        }
      ],
      "answer_translation": "Hãy giải thích làm thế nào nhạc jazz trở nên phổ biến với giới trẻ.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Hãy giải thích làm thế nào nhạc jazz trở nên phổ biến với giới trẻ”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT04-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q12",
      "page": 23,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "C",
      "reason": "Bài Jazz giải thích sự quan tâm của giới trẻ; trình độ cao dù còn trẻ, người quan tâm đều tập trước giờ học, tác giả kết nối với lịch sử jazz và ghi nhận hỗ trợ của cha mẹ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The writer says the bands in his school's jazz competition",
      "question_translation": "Nhà văn nói ban nhạc trong cuộc thi jazz của trường",
      "options": [
        {
          "key": "A",
          "text": "played music they'd written themselves before they came.",
          "translation": "Họ đã tự viết bản thân trước khi tới."
        },
        {
          "key": "B",
          "text": "had little experience of playing in public.",
          "translation": "có ít kinh nghiệm chơi ở nơi công cộng."
        },
        {
          "key": "C",
          "text": "played at a high level despite their age.",
          "translation": "chơi ở cấp độ cao bất kể tuổi tác."
        },
        {
          "key": "D",
          "text": "were dressed to look like professional jazz bands.",
          "translation": "được mặc như ban nhạc jazz chuyên nghiệp."
        }
      ],
      "answer_translation": "chơi ở cấp độ cao bất kể tuổi tác.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “chơi ở cấp độ cao bất kể tuổi tác”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q13",
      "page": 23,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "A",
      "reason": "Bài Jazz giải thích sự quan tâm của giới trẻ; trình độ cao dù còn trẻ, người quan tâm đều tập trước giờ học, tác giả kết nối với lịch sử jazz và ghi nhận hỗ trợ của cha mẹ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Most people at the writer's school who are interested in jazz",
      "question_translation": "Hầu hết mọi người ở trường nhà văn đều thích nhạc jazz",
      "options": [
        {
          "key": "A",
          "text": "attend early jazz sessions at school.",
          "translation": "tham dự các buổi nhạc jazz đầu tiên ở trường."
        },
        {
          "key": "B",
          "text": "join the school jazz bands.",
          "translation": "Tham gia ban nhạc jazz của trường."
        },
        {
          "key": "C",
          "text": "learn about jazz in after-school classes.",
          "translation": "Học nhạc jazz sau giờ học."
        },
        {
          "key": "D",
          "text": "go to jazz summer camps at the school.",
          "translation": "Đi trại hè jazz ở trường."
        }
      ],
      "answer_translation": "tham dự các buổi nhạc jazz đầu tiên ở trường.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “tham dự các buổi nhạc jazz đầu tiên ở trường”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q14",
      "page": 23,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "D",
      "reason": "Bài Jazz giải thích sự quan tâm của giới trẻ; trình độ cao dù còn trẻ, người quan tâm đều tập trước giờ học, tác giả kết nối với lịch sử jazz và ghi nhận hỗ trợ của cha mẹ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Why does the writer enjoy playing jazz so much?",
      "question_translation": "Tại sao nhà văn lại thích chơi nhạc jazz đến thế?",
      "options": [
        {
          "key": "A",
          "text": "He finds it easier to learn than other forms of music.",
          "translation": "Anh thấy dễ học hơn những loại âm nhạc khác."
        },
        {
          "key": "B",
          "text": "He thinks it is more serious than pop music.",
          "translation": "Anh ấy nghĩ nó nghiêm trọng hơn nhạc pop."
        },
        {
          "key": "C",
          "text": "He likes the chance to perform with others on stage.",
          "translation": "Hắn thích có cơ hội được biểu diễn với những người khác trên sân khấu."
        },
        {
          "key": "D",
          "text": "He feels in touch with jazz players of the past.",
          "translation": "Anh ta cảm thấy liên lạc với các nhạc công jazz trong quá khứ."
        }
      ],
      "answer_translation": "Anh ta cảm thấy liên lạc với các nhạc công jazz trong quá khứ.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Anh ta cảm thấy liên lạc với các nhạc công jazz trong quá khứ”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q15",
      "page": 23,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "B",
      "reason": "Bài Jazz giải thích sự quan tâm của giới trẻ; trình độ cao dù còn trẻ, người quan tâm đều tập trước giờ học, tác giả kết nối với lịch sử jazz và ghi nhận hỗ trợ của cha mẹ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following would the author write to a friend?",
      "question_translation": "Tác giả sẽ viết gì sau đây cho một người bạn?",
      "options": [
        {
          "key": "A",
          "text": "The competition was great, but I think I preferred being in the audience to playing — I was nervous!",
          "translation": "Cuộc thi thật tuyệt vời, nhưng tôi nghĩ mình thích ở trong cử tọa hơn là chơi đùa."
        },
        {
          "key": "B",
          "text": "My mum and dad always do all they can to help with my trumpet playing — I couldn't do this successfully without their help!",
          "translation": "Bố mẹ tôi luôn làm tất cả những gì có thể để giúp tôi chơi kèn trumpet. Tôi không thể làm được nếu không có sự giúp đỡ của họ!"
        },
        {
          "key": "C",
          "text": "One band wore really colourful clothes, but we chose dark costumes. Maybe that's one reason why they won instead of us.",
          "translation": "Một ban nhạc mặc quần áo màu sắc, nhưng chúng tôi chọn trang phục tối. Có lẽ đó là lý do họ thắng thay vì chúng ta."
        },
        {
          "key": "D",
          "text": "One music teacher left a while ago and no one's replaced him yet. We just haven't got anyone good to help us now!",
          "translation": "Một giáo viên dạy nhạc đã bỏ đi lâu rồi mà vẫn chưa ai thay thế anh ta. Chúng ta chỉ không có ai tốt để giúp chúng ta thôi!"
        }
      ],
      "answer_translation": "Bố mẹ tôi luôn làm tất cả những gì có thể để giúp tôi chơi kèn trumpet. Tôi không thể làm được nếu không có sự giúp đỡ của họ!",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Bố mẹ tôi luôn làm tất cả những gì có thể để giúp tôi chơi kèn trumpet. Tôi không thể làm được nếu không có sự giúp đỡ của họ”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT04-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q16",
      "page": 23,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "C",
      "reason": "Bài Layton tập trung các lập luận phản đối; sports club tồn tại hơn 25 năm, nhóm cho rằng dự án không hợp khu vực; hotel owners là nhóm ủng hộ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer trying to do in the article?",
      "question_translation": "Người viết đang cố gắng làm gì trong bài?",
      "options": [
        {
          "key": "A",
          "text": "Show why the new leisure centre is needed.",
          "translation": "Cho thấy tại sao trung tâm giải trí mới là cần thiết."
        },
        {
          "key": "B",
          "text": "Give her own opinion about the new leisure centre.",
          "translation": "Cho cô ấy ý kiến riêng về trung tâm giải trí mới."
        },
        {
          "key": "C",
          "text": "Describe the arguments against the new leisure centre.",
          "translation": "Hãy miêu tả những lý lẽ chống lại trung tâm giải trí mới."
        },
        {
          "key": "D",
          "text": "Suggest where the new leisure centre should be built.",
          "translation": "Đề nghị nên xây trung tâm giải trí mới ở đâu."
        }
      ],
      "answer_translation": "Hãy miêu tả những lý lẽ chống lại trung tâm giải trí mới.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Hãy miêu tả những lý lẽ chống lại trung tâm giải trí mới”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT04-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q17",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "D",
      "reason": "Bài Layton tập trung các lập luận phản đối; sports club tồn tại hơn 25 năm, nhóm cho rằng dự án không hợp khu vực; hotel owners là nhóm ủng hộ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What will the reader discover from the article?",
      "question_translation": "Độc giả sẽ thấy gì trong bài này?",
      "options": [
        {
          "key": "A",
          "text": "How long it will take to complete the new leisure centre.",
          "translation": "Mất bao lâu để hoàn thành trung tâm giải trí mới."
        },
        {
          "key": "B",
          "text": "How many members the action group has.",
          "translation": "Nhóm hành động có bao nhiêu thành viên."
        },
        {
          "key": "C",
          "text": "How much it will cost to join the new leisure centre.",
          "translation": "Sẽ tốn bao nhiêu để gia nhập trung tâm giải trí mới."
        },
        {
          "key": "D",
          "text": "How long the sports club has been in Layton.",
          "translation": "Câu lạc bộ thể thao ở Layton bao lâu rồi?"
        }
      ],
      "answer_translation": "Câu lạc bộ thể thao ở Layton bao lâu rồi?",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Câu lạc bộ thể thao ở Layton bao lâu rồi”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q18",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "A",
      "reason": "Bài Layton tập trung các lập luận phản đối; sports club tồn tại hơn 25 năm, nhóm cho rằng dự án không hợp khu vực; hotel owners là nhóm ủng hộ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does the action group think about the new leisure centre?",
      "question_translation": "Nhóm hành động nghĩ gì về trung tâm giải trí mới?",
      "options": [
        {
          "key": "A",
          "text": "It will not be right for the area.",
          "translation": "Nó sẽ không thích hợp cho khu vực."
        },
        {
          "key": "B",
          "text": "It will cost too much to build.",
          "translation": "Nó sẽ tốn quá nhiều tiền để xây."
        },
        {
          "key": "C",
          "text": "It will not attract enough people.",
          "translation": "Nó sẽ không thu hút đủ người."
        },
        {
          "key": "D",
          "text": "It will provide too little entertainment.",
          "translation": "Nó sẽ mang lại quá ít sự giải trí."
        }
      ],
      "answer_translation": "Nó sẽ không thích hợp cho khu vực.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Nó sẽ không thích hợp cho khu vực”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q19",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "D",
      "reason": "Bài Layton tập trung các lập luận phản đối; sports club tồn tại hơn 25 năm, nhóm cho rằng dự án không hợp khu vực; hotel owners là nhóm ủng hộ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following is NOT one of the action group's arguments against the new leisure centre project?",
      "question_translation": "Điều nào sau đây là KHÔNG một trong những đối số của nhóm hành động chống lại dự án trung tâm giải trí mới?",
      "options": [
        {
          "key": "A",
          "text": "Its size affects the town's looks.",
          "translation": "Kích cỡ của nó ảnh hưởng tới ngoại hình thị trấn."
        },
        {
          "key": "B",
          "text": "Its activities will be less healthy than those provided by the existing sports facilities.",
          "translation": "Các hoạt động của nó sẽ kém lành mạnh hơn những hoạt động do các cơ sở thể thao cung cấp."
        },
        {
          "key": "C",
          "text": "It will make parking more of a problem.",
          "translation": "Nó sẽ làm cho việc đỗ xe trở nên khó khăn hơn."
        },
        {
          "key": "D",
          "text": "Its video games and films will have negative impacts on children of families living nearby.",
          "translation": "Trò chơi điện tử và phim ảnh của nó sẽ ảnh hưởng tiêu cực đến con cái của những gia đình gần đó."
        }
      ],
      "answer_translation": "Trò chơi điện tử và phim ảnh của nó sẽ ảnh hưởng tiêu cực đến con cái của những gia đình gần đó.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Trò chơi điện tử và phim ảnh của nó sẽ ảnh hưởng tiêu cực đến con cái của những gia đình gần đó”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT04-READ-Q20",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "B",
      "reason": "Bài Layton tập trung các lập luận phản đối; sports club tồn tại hơn 25 năm, nhóm cho rằng dự án không hợp khu vực; hotel owners là nhóm ủng hộ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which group of people is keen on having the new leisure centre?",
      "question_translation": "Nhóm người nào muốn có trung tâm giải trí mới?",
      "options": [
        {
          "key": "A",
          "text": "People who do a lot of sports.",
          "translation": "Những người chơi thể thao rất nhiều."
        },
        {
          "key": "B",
          "text": "People working in the tourist industry.",
          "translation": "Những người làm việc trong ngành du lịch."
        },
        {
          "key": "C",
          "text": "People who come into Layton by car.",
          "translation": "Những người đến Layton bằng xe hơi."
        },
        {
          "key": "D",
          "text": "People living near the seafront.",
          "translation": "Mọi người sống gần bờ biển."
        }
      ],
      "answer_translation": "Những người làm việc trong ngành du lịch.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Những người làm việc trong ngành du lịch”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT04-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT04-GR-Q21",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "A",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ he wins the lottery jackpot, he won't have enough money to pay off his debt.",
      "question_translation": " ___ Hắn thắng xổ số, hắn sẽ không có đủ tiền để trả nợ.",
      "options": [
        {
          "key": "A",
          "text": "Even if",
          "translation": "Ngay cả khi"
        },
        {
          "key": "B",
          "text": "As long as",
          "translation": "Miễn là"
        },
        {
          "key": "C",
          "text": "Provided that",
          "translation": "Cung cấp mà"
        },
        {
          "key": "D",
          "text": "In case",
          "translation": "Trong trường hợp"
        }
      ],
      "answer_translation": "Ngay cả khi thắng xổ số, hắn cũng không có đủ tiền để trả nợ.",
      "simple_reason": "Điền “Even if” rồi đọc lại toàn câu: “Ngay cả khi thắng xổ số, hắn cũng không có đủ tiền để trả nợ”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q22",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "B",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The new suspension bridge _____ by the end of last month.",
      "question_translation": "Cây cầu mới ___ vào cuối tháng trước.",
      "options": [
        {
          "key": "A",
          "text": "has been designed",
          "translation": "đã được thiết kế"
        },
        {
          "key": "B",
          "text": "had been designed",
          "translation": "đã được thiết kế"
        },
        {
          "key": "C",
          "text": "was designed",
          "translation": "đã được thiết kế"
        },
        {
          "key": "D",
          "text": "was being designed",
          "translation": "đang được thiết kế"
        }
      ],
      "answer_translation": "Cây cầu mới đã được thiết kế vào cuối tháng trước.",
      "simple_reason": "Điền “had been designed” rồi đọc lại toàn câu: “Cây cầu mới đã được thiết kế vào cuối tháng trước”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q23",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "B",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “What did you say about the campaign?” — “So you _____ to me.”",
      "question_translation": "— “Anh đã nói gì về chiến dịch? ” —“ Anh nói sao? ___ Với tôi.",
      "options": [
        {
          "key": "A",
          "text": "won't listen",
          "translation": "Sẽ không nghe."
        },
        {
          "key": "B",
          "text": "weren't listening",
          "translation": "đã không lắng nghe"
        },
        {
          "key": "C",
          "text": "didn't listen",
          "translation": "đã không lắng nghe"
        },
        {
          "key": "D",
          "text": "haven't listened",
          "translation": "Chưa nghe"
        }
      ],
      "answer_translation": "— “Anh nói gì về chiến dịch?",
      "simple_reason": "Điền “weren't listening” rồi đọc lại toàn câu: “— “Anh nói gì về chiến dịch”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q24",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "C",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We had taken more supplies than usual with us _____ the weather turned bad.",
      "question_translation": "Chúng tôi đã nhận nhiều đồ tiếp tế hơn bình thường. ___ Thời tiết xấu lắm.",
      "options": [
        {
          "key": "A",
          "text": "supposing",
          "translation": "Giả sử"
        },
        {
          "key": "B",
          "text": "if",
          "translation": "nếu"
        },
        {
          "key": "C",
          "text": "in case",
          "translation": "Trong trường hợp"
        },
        {
          "key": "D",
          "text": "in that",
          "translation": "trong đó"
        }
      ],
      "answer_translation": "Chúng tôi đã mang theo nhiều đồ dùng hơn bình thường trong trường hợp thời tiết xấu.",
      "simple_reason": "Điền “in case” rồi đọc lại toàn câu: “Chúng tôi đã mang theo nhiều đồ dùng hơn bình thường trong trường hợp thời tiết xấu”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q25",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "A",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The closer we are to our trip to Boston, _____ my students become.",
      "question_translation": "Càng đến gần Boston, ___ Học sinh của tôi trở thành.",
      "options": [
        {
          "key": "A",
          "text": "the more excited",
          "translation": "Càng phấn khích"
        },
        {
          "key": "B",
          "text": "the more exciting",
          "translation": "Càng thú vị"
        },
        {
          "key": "C",
          "text": "the more excitedly",
          "translation": "càng phấn khích"
        },
        {
          "key": "D",
          "text": "the more excitingly",
          "translation": "càng thú vị"
        }
      ],
      "answer_translation": "Càng đến gần Boston, học sinh của tôi càng hứng thú.",
      "simple_reason": "Điền “the more excited” rồi đọc lại toàn câu: “Càng đến gần Boston, học sinh của tôi càng hứng thú”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q26",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "B",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The teacher with _____ we studied last year no longer teaches in our school.",
      "question_translation": "Cô giáo với ___ Chúng tôi học năm ngoái không còn dạy ở trường nữa.",
      "options": [
        {
          "key": "A",
          "text": "who",
          "translation": "Ai"
        },
        {
          "key": "B",
          "text": "whom",
          "translation": "Ai"
        },
        {
          "key": "C",
          "text": "him",
          "translation": "nó"
        },
        {
          "key": "D",
          "text": "that",
          "translation": "đó"
        }
      ],
      "answer_translation": "Giáo viên mà chúng tôi học năm ngoái không còn dạy ở trường nữa.",
      "simple_reason": "Điền “whom” rồi đọc lại toàn câu: “Giáo viên mà chúng tôi học năm ngoái không còn dạy ở trường nữa”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q27",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "A",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "He looks so much _____ his boss that it's easy to mistake the two of them.",
      "question_translation": "Trông cậu ấy rất giống ___ Sếp của anh ta cho rằng rất dễ để hiểu lầm hai người họ.",
      "options": [
        {
          "key": "A",
          "text": "like",
          "translation": "như"
        },
        {
          "key": "B",
          "text": "alike",
          "translation": "giống nhau"
        },
        {
          "key": "C",
          "text": "likely",
          "translation": "có thể"
        },
        {
          "key": "D",
          "text": "unlike",
          "translation": "không giống"
        }
      ],
      "answer_translation": "Anh ta trông rất giống ông chủ của anh ta nên rất dễ nhầm lẫn hai người họ.",
      "simple_reason": "Điền “like” rồi đọc lại toàn câu: “Anh ta trông rất giống ông chủ của anh ta nên rất dễ nhầm lẫn hai người họ”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q28",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "A",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Nobody _____ any more to say, the meeting was closed.",
      "question_translation": "Không ai ___ Cuộc họp kết thúc.",
      "options": [
        {
          "key": "A",
          "text": "having",
          "translation": "có"
        },
        {
          "key": "B",
          "text": "have",
          "translation": "có"
        },
        {
          "key": "C",
          "text": "had",
          "translation": "đã có"
        },
        {
          "key": "D",
          "text": "has",
          "translation": "có"
        }
      ],
      "answer_translation": "Không còn ai để nói nữa, cuộc họp đã kết thúc.",
      "simple_reason": "Điền “having” rồi đọc lại toàn câu: “Không còn ai để nói nữa, cuộc họp đã kết thúc”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q29",
      "page": 24,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "C",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Whose books are these?” — “I don't know who _____ to.”",
      "question_translation": "— “Những sách này của ai? ” —“ Tôi không biết ai ___ đến.",
      "options": [
        {
          "key": "A",
          "text": "do they belong",
          "translation": "Chúng thuộc về nhau"
        },
        {
          "key": "B",
          "text": "are they belonging",
          "translation": "chúng thuộc về"
        },
        {
          "key": "C",
          "text": "they belong",
          "translation": "chúng thuộc về"
        },
        {
          "key": "D",
          "text": "they are belonging",
          "translation": "chúng thuộc về"
        }
      ],
      "answer_translation": "— “Những sách này của ai? ” —“ Tôi không biết chúng là của ai.",
      "simple_reason": "Điền “they belong” rồi đọc lại toàn câu: “— “Những sách này của ai? ” —“ Tôi không biết chúng là của ai”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q30",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "C",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ finds the treasure is entitled to twenty-five percent of it.",
      "question_translation": " ___ Tìm ra kho báu được hưởng 25%.",
      "options": [
        {
          "key": "A",
          "text": "Who",
          "translation": "Ai"
        },
        {
          "key": "B",
          "text": "Anyone",
          "translation": "Bất cứ ai"
        },
        {
          "key": "C",
          "text": "Whoever",
          "translation": "Bất cứ ai"
        },
        {
          "key": "D",
          "text": "Those who",
          "translation": "Những người"
        }
      ],
      "answer_translation": "Bất cứ ai tìm thấy kho báu đều được hưởng 25%.",
      "simple_reason": "Điền “Whoever” rồi đọc lại toàn câu: “Bất cứ ai tìm thấy kho báu đều được hưởng 25%”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q31",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "A",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The director refused to accept _____ of the two new proposals made by the contractors.",
      "question_translation": "Ông giám đốc từ chối ___ trong hai đề xuất mới của các nhà thầu.",
      "options": [
        {
          "key": "A",
          "text": "either",
          "translation": "cũng không"
        },
        {
          "key": "B",
          "text": "none",
          "translation": "không có"
        },
        {
          "key": "C",
          "text": "not any",
          "translation": "không phải"
        },
        {
          "key": "D",
          "text": "neither",
          "translation": "cũng không"
        }
      ],
      "answer_translation": "Giám đốc từ chối chấp nhận hai đề nghị mới của các nhà thầu.",
      "simple_reason": "Điền “either” rồi đọc lại toàn câu: “Giám đốc từ chối chấp nhận hai đề nghị mới của các nhà thầu”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q32",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "D",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "They stayed in _____ hotel in London during their visit.",
      "question_translation": "Họ ở lại ___ Khách sạn ở London trong thời gian họ ghé thăm.",
      "options": [
        {
          "key": "A",
          "text": "a small old interesting Victorian",
          "translation": "Một người Victoria nhỏ bé thú vị"
        },
        {
          "key": "B",
          "text": "a small interesting Victorian old",
          "translation": "Một người Victoria nhỏ bé thú vị"
        },
        {
          "key": "C",
          "text": "a Victorian small old interesting",
          "translation": "Một lão già Victoria thú vị"
        },
        {
          "key": "D",
          "text": "an interesting small old Victorian",
          "translation": "Một người Victoria nhỏ bé thú vị"
        }
      ],
      "answer_translation": "Họ ở trong một khách sạn Victoria nhỏ thú vị ở Luân Đôn trong chuyến viếng thăm.",
      "simple_reason": "Điền “an interesting small old Victorian” rồi đọc lại toàn câu: “Họ ở trong một khách sạn Victoria nhỏ thú vị ở Luân Đôn trong chuyến viếng thăm”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q33",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "B",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "- How many eggs have we got? _____. I'll go and buy some from the shop if you like.",
      "question_translation": "- Chúng ta có bao nhiêu trứng? ___ Tôi sẽ đi mua một ít ở cửa hàng nếu anh muốn.",
      "options": [
        {
          "key": "A",
          "text": "No one",
          "translation": "Không ai"
        },
        {
          "key": "B",
          "text": "None",
          "translation": "Không có"
        },
        {
          "key": "C",
          "text": "Nothing",
          "translation": "Không có gì"
        },
        {
          "key": "D",
          "text": "No",
          "translation": "Không"
        }
      ],
      "answer_translation": "- Chúng ta có bao nhiêu trứng? Không. Tôi sẽ đi mua một ít ở cửa hàng nếu anh muốn.",
      "simple_reason": "Điền “None” rồi đọc lại toàn câu: “- Chúng ta có bao nhiêu trứng? Không. Tôi sẽ đi mua một ít ở cửa hàng nếu anh muốn”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q34",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "B",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "He _____ very bright to have been accepted at such a good university as Harvard.",
      "question_translation": "Anh ấy ___ đã được chấp nhận tại một trường đại học tốt như Harvard.",
      "options": [
        {
          "key": "A",
          "text": "might be",
          "translation": "Có thể"
        },
        {
          "key": "B",
          "text": "must be",
          "translation": "Phải có"
        },
        {
          "key": "C",
          "text": "can be",
          "translation": "có thể"
        },
        {
          "key": "D",
          "text": "could be",
          "translation": "có thể"
        }
      ],
      "answer_translation": "Anh ta hẳn rất thông minh khi được nhận vào một trường đại học tốt như Harvard.",
      "simple_reason": "Điền “must be” rồi đọc lại toàn câu: “Anh ta hẳn rất thông minh khi được nhận vào một trường đại học tốt như Harvard”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-GR-Q35",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "B",
      "reason": "even if, past perfect passive, past continuous tại lúc không nghe, in case, double comparative, with whom, absolute phrase Nobody having..., indirect question, whoever, either, adjective order, must be, the other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Of the two applicants, one is experienced and _____.",
      "question_translation": "Trong hai ứng viên, một là kinh nghiệm và ___ .",
      "options": [
        {
          "key": "A",
          "text": "another isn't",
          "translation": "người khác thì không"
        },
        {
          "key": "B",
          "text": "the other isn't",
          "translation": "Cái kia thì không"
        },
        {
          "key": "C",
          "text": "others aren't",
          "translation": "Những người khác thì không"
        },
        {
          "key": "D",
          "text": "the others aren't",
          "translation": "Những người khác thì không"
        }
      ],
      "answer_translation": "Trong hai ứng viên, một người có kinh nghiệm còn người kia thì không.",
      "simple_reason": "Điền “the other isn't” rồi đọc lại toàn câu: “Trong hai ứng viên, một người có kinh nghiệm còn người kia thì không”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-CLOZE-Q36",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 36,
      "answer": "B",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "make",
          "translation": "làm"
        },
        {
          "key": "B",
          "text": "get",
          "translation": "Lấy"
        },
        {
          "key": "C",
          "text": "put",
          "translation": "đặt"
        },
        {
          "key": "D",
          "text": "take",
          "translation": "Lấy"
        }
      ],
      "answer_translation": "Lấy",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Lấy” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q37",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 37,
      "answer": "C",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "one",
          "translation": "Một"
        },
        {
          "key": "B",
          "text": "each",
          "translation": "mỗi"
        },
        {
          "key": "C",
          "text": "a",
          "translation": "a"
        },
        {
          "key": "D",
          "text": "the",
          "translation": "Cây"
        }
      ],
      "answer_translation": "a",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “a” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q38",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 38,
      "answer": "D",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "More popular",
          "translation": "Nổi tiếng hơn"
        },
        {
          "key": "B",
          "text": "The more popular",
          "translation": "Càng nổi tiếng"
        },
        {
          "key": "C",
          "text": "Most popular",
          "translation": "Nổi tiếng nhất"
        },
        {
          "key": "D",
          "text": "The most popular",
          "translation": "Nổi tiếng nhất"
        }
      ],
      "answer_translation": "Nổi tiếng nhất",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “Nổi tiếng nhất” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q39",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 39,
      "answer": "A",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (39) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "Another",
          "translation": "Khác"
        },
        {
          "key": "B",
          "text": "Other",
          "translation": "Khác"
        },
        {
          "key": "C",
          "text": "The other",
          "translation": "Cái kia."
        },
        {
          "key": "D",
          "text": "Others",
          "translation": "Khác"
        }
      ],
      "answer_translation": "Khác",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Khác” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q40",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 40,
      "answer": "D",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "fields",
          "translation": "trường"
        },
        {
          "key": "B",
          "text": "places",
          "translation": "số"
        },
        {
          "key": "C",
          "text": "games",
          "translation": "Trò chơi"
        },
        {
          "key": "D",
          "text": "fans",
          "translation": "quạt"
        }
      ],
      "answer_translation": "quạt",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “quạt” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q41",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 41,
      "answer": "A",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "fine",
          "translation": "Được"
        },
        {
          "key": "B",
          "text": "shiny",
          "translation": "bóng loáng"
        },
        {
          "key": "C",
          "text": "dry",
          "translation": "khô"
        },
        {
          "key": "D",
          "text": "sunny",
          "translation": "Trời nắng"
        }
      ],
      "answer_translation": "Được",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Được” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q42",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 42,
      "answer": "C",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "During",
          "translation": "Trong suốt"
        },
        {
          "key": "B",
          "text": "Since",
          "translation": "Từ khi"
        },
        {
          "key": "C",
          "text": "When",
          "translation": "Khi"
        },
        {
          "key": "D",
          "text": "Though",
          "translation": "Tuy nhiên"
        }
      ],
      "answer_translation": "Khi",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “Khi” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q43",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 43,
      "answer": "B",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "plays",
          "translation": "phát"
        },
        {
          "key": "B",
          "text": "games",
          "translation": "Trò chơi"
        },
        {
          "key": "C",
          "text": "matches",
          "translation": "Khớp"
        },
        {
          "key": "D",
          "text": "fights",
          "translation": "Đánh"
        }
      ],
      "answer_translation": "Trò chơi",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Trò chơi” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q44",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 44,
      "answer": "D",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "try",
          "translation": "Thử"
        },
        {
          "key": "B",
          "text": "play",
          "translation": "phát"
        },
        {
          "key": "C",
          "text": "train",
          "translation": "tàu"
        },
        {
          "key": "D",
          "text": "practice",
          "translation": "thực hành"
        }
      ],
      "answer_translation": "thực hành",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “thực hành” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-CLOZE-Q45",
      "page": 25,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Điền từ",
      "question": 45,
      "answer": "A",
      "reason": "get up, twice a week, the most popular, another, fans, fine, when, ball games, practice, hold a sports meeting.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "hold",
          "translation": "Giữ lại"
        },
        {
          "key": "B",
          "text": "make",
          "translation": "làm"
        },
        {
          "key": "C",
          "text": "show",
          "translation": "hiển thị"
        },
        {
          "key": "D",
          "text": "choose",
          "translation": "lựa chọn"
        }
      ],
      "answer_translation": "Giữ lại",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Giữ lại” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT04-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT04-ST-Q46",
      "page": 26,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "I haven't seen him for two years.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "It was two years ago when I last saw him.\nI haven't _____.",
      "question_translation": "Đó là hai năm trước khi tôi gặp anh ta lần cuối cùng.\nViết lại câu, bắt đầu bằng: I haven't _____.",
      "options": [],
      "answer_translation": "Hai năm rồi tôi không gặp ổng.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-ST-Q47",
      "page": 26,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "No other watch in the shop was as expensive as that one.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "That watch was the most expensive one in the shop.\nNo other _____.",
      "question_translation": "Cái đồng hồ đó đắt nhất trong cửa hàng.\nViết lại câu, bắt đầu bằng: No other _____.",
      "options": [],
      "answer_translation": "Không có cái đồng hồ nào trong cửa hàng đắt như cái đó.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-ST-Q48",
      "page": 26,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "I asked him if he liked my new house.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "“Do you like my new house?” I asked him.\nI asked him _____.",
      "question_translation": "“ Anh có thích nhà mới của tôi không?\nViết lại câu, bắt đầu bằng: I asked him _____.",
      "options": [],
      "answer_translation": "Tôi hỏi ông có thích căn nhà mới của tôi không.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-ST-Q49",
      "page": 26,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "The question is so hard that she cannot answer it.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "This is too hard a question for her to answer.\nThe question is so _____.",
      "question_translation": "Câu hỏi này quá khó để cô ấy trả lời.\nViết lại câu, bắt đầu bằng: The question is so _____.",
      "options": [],
      "answer_translation": "Câu hỏi rất khó trả lời.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT04-ST-Q50",
      "page": 26,
      "page_range": [
        21,
        28
      ],
      "kind": "practice-test",
      "unit": "Practice Test 4",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "If Lan did not eat so many chips, she would not be overweight.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Lan is overweight because she eats so many chips.\nIf _____.",
      "question_translation": "Lan quá béo vì ăn nhiều khoai tây chiên.\nViết lại câu, bắt đầu bằng: If _____.",
      "options": [],
      "answer_translation": "Nếu Lan không ăn quá nhiều khoai tây chiên, cô ấy sẽ không bị thừa cân.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q01",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 1,
      "answer": "C",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "He was so interested in the TV programme that he didn't _____ his wife come home.",
      "question_translation": "Anh ta quá hứng thú với chương trình TV đến nỗi không ___ Vợ hắn về nhà.",
      "options": [
        {
          "key": "A",
          "text": "recognize",
          "translation": "nhận ra"
        },
        {
          "key": "B",
          "text": "remark",
          "translation": "nhận xét"
        },
        {
          "key": "C",
          "text": "notice",
          "translation": "thông báo"
        },
        {
          "key": "D",
          "text": "realise",
          "translation": "Nhận ra"
        }
      ],
      "answer_translation": "Anh ta quá hứng thú với chương trình truyền hình đến nỗi không để ý vợ mình về nhà.",
      "simple_reason": "Thử từ “notice” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Anh ta quá hứng thú với chương trình truyền hình đến nỗi không để ý vợ mình về nhà”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q02",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 2,
      "answer": "D",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "My husband has recently gotten _____ after many years of hard work and amazing results.",
      "question_translation": "Chồng tôi gần đây đã nhận được ___ Sau nhiều năm làm việc chăm chỉ và kết quả đáng kinh ngạc.",
      "options": [
        {
          "key": "A",
          "text": "raised",
          "translation": "đã nâng lên"
        },
        {
          "key": "B",
          "text": "advanced",
          "translation": "cao cấp"
        },
        {
          "key": "C",
          "text": "heightened",
          "translation": "Tăng cường"
        },
        {
          "key": "D",
          "text": "promoted",
          "translation": "được thăng chức"
        }
      ],
      "answer_translation": "Chồng tôi gần đây được thăng chức sau nhiều năm làm việc chăm chỉ và đạt được kết quả đáng kinh ngạc.",
      "simple_reason": "Thử từ “promoted” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Chồng tôi gần đây được thăng chức sau nhiều năm làm việc chăm chỉ và đạt được kết quả đáng kinh ngạc”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q03",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 3,
      "answer": "A",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "This job _____ working very long hours in unfavorable conditions.",
      "question_translation": "Công việc này ___ làm việc nhiều giờ trong điều kiện khó khăn.",
      "options": [
        {
          "key": "A",
          "text": "involves",
          "translation": "liên quan"
        },
        {
          "key": "B",
          "text": "consists",
          "translation": "gồm"
        },
        {
          "key": "C",
          "text": "includes",
          "translation": "bao gồm"
        },
        {
          "key": "D",
          "text": "contains",
          "translation": "chứa"
        }
      ],
      "answer_translation": "Công việc này đòi hỏi phải làm việc nhiều giờ trong những hoàn cảnh khó khăn.",
      "simple_reason": "Thử từ “involves” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Công việc này đòi hỏi phải làm việc nhiều giờ trong những hoàn cảnh khó khăn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q04",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 4,
      "answer": "D",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "My house is very _____ for getting to work as it is only a few minutes from the station.",
      "question_translation": "Nhà của tôi là rất ___ vì chỉ cách trạm vài phút.",
      "options": [
        {
          "key": "A",
          "text": "useful",
          "translation": "hữu ích"
        },
        {
          "key": "B",
          "text": "proper",
          "translation": "chuẩn"
        },
        {
          "key": "C",
          "text": "favourable",
          "translation": "Được"
        },
        {
          "key": "D",
          "text": "convenient",
          "translation": "tiện"
        }
      ],
      "answer_translation": "Nhà tôi rất tiện lợi cho việc làm chỉ cách trạm vài phút.",
      "simple_reason": "Thử từ “convenient” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Nhà tôi rất tiện lợi cho việc làm chỉ cách trạm vài phút”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q05",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 5,
      "answer": "C",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Her clients _____ on her because she is honest, dependable, and hard-working.",
      "question_translation": "Khách hàng của cô ấy ___ Với cô ấy vì cô ấy trung thực, đáng tin cậy và làm việc chăm chỉ.",
      "options": [
        {
          "key": "A",
          "text": "base",
          "translation": "Cơ sở"
        },
        {
          "key": "B",
          "text": "impress",
          "translation": "Ấn tượng"
        },
        {
          "key": "C",
          "text": "rely",
          "translation": "phụ thuộc"
        },
        {
          "key": "D",
          "text": "agree",
          "translation": "đồng ý"
        }
      ],
      "answer_translation": "Khách hàng của cô ấy dựa vào cô ấy vì cô ấy trung thực, đáng tin cậy, và làm việc chăm chỉ.",
      "simple_reason": "Thử từ “rely” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Khách hàng của cô ấy dựa vào cô ấy vì cô ấy trung thực, đáng tin cậy, và làm việc chăm chỉ”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q06",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 6,
      "answer": "A",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It's _____ for people to get depressed if they're out of work.",
      "question_translation": "Là... ___ để mọi người bị trầm cảm nếu họ thất nghiệp.",
      "options": [
        {
          "key": "A",
          "text": "normal",
          "translation": "chuẩn"
        },
        {
          "key": "B",
          "text": "simple",
          "translation": "đơn giản"
        },
        {
          "key": "C",
          "text": "regular",
          "translation": "chuẩn"
        },
        {
          "key": "D",
          "text": "typical",
          "translation": "điển hình"
        }
      ],
      "answer_translation": "Người ta thường bị trầm cảm nếu thất nghiệp.",
      "simple_reason": "Thử từ “normal” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Người ta thường bị trầm cảm nếu thất nghiệp”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q07",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 7,
      "answer": "B",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "They've finally decided to _____ that lovely old house on the hill.",
      "question_translation": "Cuối cùng họ đã quyết định ___ ngôi nhà cũ đáng yêu trên đồi.",
      "options": [
        {
          "key": "A",
          "text": "reform",
          "translation": "Cải cách"
        },
        {
          "key": "B",
          "text": "renovate",
          "translation": "Sửa"
        },
        {
          "key": "C",
          "text": "recharge",
          "translation": "Nạp lại"
        },
        {
          "key": "D",
          "text": "renew",
          "translation": "lặp lại"
        }
      ],
      "answer_translation": "Cuối cùng họ đã quyết định sửa lại ngôi nhà cũ đáng yêu trên đồi.",
      "simple_reason": "Thử từ “renovate” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Cuối cùng họ đã quyết định sửa lại ngôi nhà cũ đáng yêu trên đồi”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q08",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 8,
      "answer": "D",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Read the fire _____ on the back of your room door and know where the nearest fire emergency exit is located on your hall.",
      "question_translation": "Đọc lửa đi. ___ trên cửa sau phòng bạn và biết lối thoát hiểm gần nhất nằm trên hành lang của bạn.",
      "options": [
        {
          "key": "A",
          "text": "requirements",
          "translation": "yêu cầu"
        },
        {
          "key": "B",
          "text": "explanations",
          "translation": "Giải thích"
        },
        {
          "key": "C",
          "text": "expressions",
          "translation": "biểu thức"
        },
        {
          "key": "D",
          "text": "instructions",
          "translation": "hướng dẫn"
        }
      ],
      "answer_translation": "Hãy đọc hướng dẫn cứu hỏa phía sau cửa phòng bạn và biết lối thoát hiểm gần nhất nằm ở đâu trong phòng bạn.",
      "simple_reason": "Thử từ “instructions” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Hãy đọc hướng dẫn cứu hỏa phía sau cửa phòng bạn và biết lối thoát hiểm gần nhất nằm ở đâu trong phòng bạn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q09",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 9,
      "answer": "A",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Our teacher speaks English with a Vietnamese _____.",
      "question_translation": "Giáo viên của chúng tôi nói tiếng Anh bằng tiếng Việt ___ .",
      "options": [
        {
          "key": "A",
          "text": "accent",
          "translation": "Giọng nói"
        },
        {
          "key": "B",
          "text": "tone",
          "translation": "âm thanh"
        },
        {
          "key": "C",
          "text": "speech",
          "translation": "Phát âm"
        },
        {
          "key": "D",
          "text": "voice",
          "translation": "Giọng nói"
        }
      ],
      "answer_translation": "Giáo viên của chúng tôi nói tiếng Anh với giọng Việt Nam.",
      "simple_reason": "Thử từ “accent” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Giáo viên của chúng tôi nói tiếng Anh với giọng Việt Nam”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-VOC-Q10",
      "page": 28,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Từ vựng",
      "question": 10,
      "answer": "B",
      "reason": "notice someone come home, get promoted, involve V-ing, convenient for, rely on, renovate, fire instructions, Vietnamese accent, theatre audience.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The _____ fell silent when the first actor came onto the stage.",
      "question_translation": "Hạt ___ im lặng khi diễn viên đầu tiên lên sân khấu.",
      "options": [
        {
          "key": "A",
          "text": "Viewers",
          "translation": "Bộ xem"
        },
        {
          "key": "B",
          "text": "audience",
          "translation": "khán giả"
        },
        {
          "key": "C",
          "text": "observers",
          "translation": "Quan sát"
        },
        {
          "key": "D",
          "text": "spectators",
          "translation": "Khán giả"
        }
      ],
      "answer_translation": "Khán giả im lặng khi diễn viên đầu tiên bước lên sân khấu.",
      "simple_reason": "Thử từ “audience” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Khán giả im lặng khi diễn viên đầu tiên bước lên sân khấu”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-READ-Q11",
      "page": 29,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "B",
      "reason": "Colin dùng tiền vì yêu âm thanh của violin; vợ chồng hỗ trợ nhau, vợ chấp nhận quyết định, và anh tiếp tục nghề dù đã trúng tiền.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer trying to do in this text?",
      "question_translation": "Tác giả cố gắng làm gì trong đoạn văn này?",
      "options": [
        {
          "key": "A",
          "text": "Advise musicians to enter competitions.",
          "translation": "Cố vấn các nhạc sĩ tham gia thi đấu."
        },
        {
          "key": "B",
          "text": "Explain why someone spent a lot of money.",
          "translation": "Giải thích tại sao có người lại tiêu nhiều tiền."
        },
        {
          "key": "C",
          "text": "Describe how someone upset his wife.",
          "translation": "Hãy miêu tả cách người ta làm cho vợ anh ta buồn."
        },
        {
          "key": "D",
          "text": "Persuade people to spend money wisely.",
          "translation": "Thuyết phục người ta tiêu tiền một cách khôn ngoan."
        }
      ],
      "answer_translation": "Giải thích tại sao có người lại tiêu nhiều tiền.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Giải thích tại sao có người lại tiêu nhiều tiền”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q12",
      "page": 29,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "C",
      "reason": "Colin dùng tiền vì yêu âm thanh của violin; vợ chồng hỗ trợ nhau, vợ chấp nhận quyết định, và anh tiếp tục nghề dù đã trúng tiền.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What can a reader learn from the text?",
      "question_translation": "Người đọc có thể học được gì từ câu Kinh Thánh này?",
      "options": [
        {
          "key": "A",
          "text": "How one man dream ended unhappily.",
          "translation": "Ước mơ của một người đã kết thúc không may."
        },
        {
          "key": "B",
          "text": "How much was paid for a special violin.",
          "translation": "Bao nhiêu tiền cho một cây vĩ cầm đặc biệt."
        },
        {
          "key": "C",
          "text": "How one couple support each other.",
          "translation": "Làm thế nào một cặp vợ chồng hỗ trợ nhau."
        },
        {
          "key": "D",
          "text": "How much money musicians need for their music.",
          "translation": "Nhạc công cần bao nhiêu tiền."
        }
      ],
      "answer_translation": "Làm thế nào một cặp vợ chồng hỗ trợ nhau.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Làm thế nào một cặp vợ chồng hỗ trợ nhau”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q13",
      "page": 29,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "D",
      "reason": "Colin dùng tiền vì yêu âm thanh của violin; vợ chồng hỗ trợ nhau, vợ chấp nhận quyết định, và anh tiếp tục nghề dù đã trúng tiền.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does Colin's wife say about what he did?",
      "question_translation": "Vợ Colin nói gì về những gì hắn đã làm?",
      "options": [
        {
          "key": "A",
          "text": "She wishes he had used the money differently.",
          "translation": "Bà ước gì ông ta dùng tiền cách khác."
        },
        {
          "key": "B",
          "text": "She feels she didn't really benefit from the money.",
          "translation": "Cô ấy cảm thấy mình không thực sự hưởng lợi từ số tiền đó."
        },
        {
          "key": "C",
          "text": "She is sorry she could not have her study room.",
          "translation": "Cô ấy rất tiếc vì không thể có phòng học."
        },
        {
          "key": "D",
          "text": "She accepts the decision that he made.",
          "translation": "Cô ấy chấp nhận quyết định của anh ta."
        }
      ],
      "answer_translation": "Cô ấy chấp nhận quyết định của anh ta.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Cô ấy chấp nhận quyết định của anh ta”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT05-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q14",
      "page": 29,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "A",
      "reason": "Colin dùng tiền vì yêu âm thanh của violin; vợ chồng hỗ trợ nhau, vợ chấp nhận quyết định, và anh tiếp tục nghề dù đã trúng tiền.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "When Colin first found the violin, he thought",
      "question_translation": "Khi Colin lần đầu tiên tìm thấy cây vĩ cầm, anh ấy nghĩ",
      "options": [
        {
          "key": "A",
          "text": "he might not have enough money to buy it.",
          "translation": "Hắn có thể không có đủ tiền để mua nó."
        },
        {
          "key": "B",
          "text": "he should not spend all of his money on it.",
          "translation": "Anh không nên tiêu hết tiền vào đó."
        },
        {
          "key": "C",
          "text": "he was not a good enough player to own it.",
          "translation": "Anh ta không đủ giỏi để sở hữu nó."
        },
        {
          "key": "D",
          "text": "he could not leave the shop without it.",
          "translation": "ông không thể rời cửa hàng mà không có nó."
        }
      ],
      "answer_translation": "Hắn có thể không có đủ tiền để mua nó.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Hắn có thể không có đủ tiền để mua nó”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q15",
      "page": 29,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "D",
      "reason": "Colin dùng tiền vì yêu âm thanh của violin; vợ chồng hỗ trợ nhau, vợ chấp nhận quyết định, và anh tiếp tục nghề dù đã trúng tiền.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What did a local newspaper say about Colin's story?",
      "question_translation": "Một tờ báo địa phương đã nói gì về câu chuyện của Colin?",
      "options": [
        {
          "key": "A",
          "text": "A well-known record company has asked a local musician to record a CD after winning a competition ....",
          "translation": "Một công ty thu âm nổi tiếng đã yêu cầu một nhạc sĩ địa phương ghi âm một đĩa CD sau khi thắng một cuộc thi..."
        },
        {
          "key": "B",
          "text": "A local musician today announced he would spend every penny of the money he'd won in a competition ...",
          "translation": "Một nhạc công địa phương hôm nay đã thông báo rằng anh ta sẽ tiêu từng xu tiền anh ta thắng trong một cuộc thi..."
        },
        {
          "key": "C",
          "text": "A concert audience heard a local musician give a brilliant performance last night on the violin he'd won in a competition...",
          "translation": "Một khán giả hòa nhạc nghe thấy một nhạc sĩ địa phương trình diễn rất xuất sắc tối qua trên cây vĩ cầm mà ông đã thắng trong một cuộc thi..."
        },
        {
          "key": "D",
          "text": "A local musician has decided to continue his career in music in spite of winning some money in a competition...",
          "translation": "Một nhạc sĩ địa phương đã quyết định tiếp tục sự nghiệp âm nhạc bất chấp việc thắng ít tiền trong một cuộc thi..."
        }
      ],
      "answer_translation": "Một nhạc sĩ địa phương đã quyết định tiếp tục sự nghiệp âm nhạc bất chấp việc thắng ít tiền trong một cuộc thi...",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Một nhạc sĩ địa phương đã quyết định tiếp tục sự nghiệp âm nhạc bất chấp việc thắng ít tiền trong một cuộc thi”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT05-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q16",
      "page": 30,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "A",
      "reason": "Passage giải thích lý do người ta thích bơi lạnh; cho biết trải nghiệm của tác giả, Peter tin nó giúp khỏe, còn tác giả vẫn chưa bị thuyết phục hoàn toàn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer's main aim in writing the text?",
      "question_translation": "Mục tiêu chính của tác giả là gì khi viết văn bản?",
      "options": [
        {
          "key": "A",
          "text": "Explain why some people like swimming in the cold.",
          "translation": "Giải thích tại sao một số người thích bơi trong lạnh."
        },
        {
          "key": "B",
          "text": "Prove an idea he has had about keeping fit.",
          "translation": "Chứng minh ý tưởng của anh ta về việc giữ gìn sức khỏe."
        },
        {
          "key": "C",
          "text": "Warn people not to go swimming in cold water.",
          "translation": "Cảnh báo mọi người đừng bơi trong nước lạnh."
        },
        {
          "key": "D",
          "text": "Advise people on ways to stay healthy.",
          "translation": "Cố vấn cho người ta cách duy trì sức khỏe."
        }
      ],
      "answer_translation": "Giải thích tại sao một số người thích bơi trong lạnh.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Giải thích tại sao một số người thích bơi trong lạnh”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q17",
      "page": 30,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "B",
      "reason": "Passage giải thích lý do người ta thích bơi lạnh; cho biết trải nghiệm của tác giả, Peter tin nó giúp khỏe, còn tác giả vẫn chưa bị thuyết phục hoàn toàn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What can a reader find out from this text?",
      "question_translation": "Một độc giả có thể tìm thấy điều gì trong câu này?",
      "options": [
        {
          "key": "A",
          "text": "Where to go swimming in London.",
          "translation": "Nơi để đi bơi ở London."
        },
        {
          "key": "B",
          "text": "What happened to the writer at the pool.",
          "translation": "Chuyện xảy ra với nhà văn ở bể bơi."
        },
        {
          "key": "C",
          "text": "How to keep warm in cold water.",
          "translation": "Cách giữ ấm trong nước lạnh."
        },
        {
          "key": "D",
          "text": "How often the writer goes swimming.",
          "translation": "Nhà văn thường đi bơi bao nhiêu lần."
        }
      ],
      "answer_translation": "Chuyện xảy ra với nhà văn ở bể bơi.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Chuyện xảy ra với nhà văn ở bể bơi”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q18",
      "page": 30,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "C",
      "reason": "Passage giải thích lý do người ta thích bơi lạnh; cho biết trải nghiệm của tác giả, Peter tin nó giúp khỏe, còn tác giả vẫn chưa bị thuyết phục hoàn toàn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does Peter say about his morning swim?",
      "question_translation": "Peter nói gì về buổi sáng bơi lội?",
      "options": [
        {
          "key": "A",
          "text": "It has helped him recover from a recent illness.",
          "translation": "Nó đã giúp ông hồi phục sau một căn bệnh gần đây."
        },
        {
          "key": "B",
          "text": "He enjoys it when the pool is covered in ice.",
          "translation": "Anh ta thích khi hồ nước bị đóng băng."
        },
        {
          "key": "C",
          "text": "It is the reason why he keeps well all year.",
          "translation": "Đó là lý do tại sao ông ta giữ gìn sức khỏe cả năm."
        },
        {
          "key": "D",
          "text": "He thinks it makes him work better.",
          "translation": "Anh ta nghĩ nó làm cho anh ta làm việc tốt hơn."
        }
      ],
      "answer_translation": "Đó là lý do tại sao ông ta giữ gìn sức khỏe cả năm.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Đó là lý do tại sao ông ta giữ gìn sức khỏe cả năm”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q19",
      "page": 30,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "C",
      "reason": "Passage giải thích lý do người ta thích bơi lạnh; cho biết trải nghiệm của tác giả, Peter tin nó giúp khỏe, còn tác giả vẫn chưa bị thuyết phục hoàn toàn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It can be inferred from the text that",
      "question_translation": "Nó có thể được suy ra từ văn bản rằng",
      "options": [
        {
          "key": "A",
          "text": "all the swimmers at the pool enjoy the benefits from swimming in the cold water.",
          "translation": "tất cả những người bơi ở bể bơi đều hưởng lợi ích từ việc bơi trong nước lạnh."
        },
        {
          "key": "B",
          "text": "the writer will never be able to swim in such cold water.",
          "translation": "Nhà văn sẽ không bao giờ có thể bơi trong nước lạnh như vậy."
        },
        {
          "key": "C",
          "text": "the writer is not convinced of the health benefits of swimming in cold water.",
          "translation": "Tác giả không tin rằng việc bơi trong nước lạnh mang lại lợi ích cho sức khỏe."
        },
        {
          "key": "D",
          "text": "doctors will not advise patients to swim in cold water.",
          "translation": "Bác sĩ sẽ không khuyên bệnh nhân bơi trong nước lạnh."
        }
      ],
      "answer_translation": "Tác giả không tin rằng việc bơi trong nước lạnh mang lại lợi ích cho sức khỏe.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Tác giả không tin rằng việc bơi trong nước lạnh mang lại lợi ích cho sức khỏe”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT05-READ-Q20",
      "page": 30,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "A",
      "reason": "Passage giải thích lý do người ta thích bơi lạnh; cho biết trải nghiệm của tác giả, Peter tin nó giúp khỏe, còn tác giả vẫn chưa bị thuyết phục hoàn toàn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What did the writer feel about swimming at the pool?",
      "question_translation": "Nhà văn cảm thấy thế nào về việc bơi ở hồ bơi?",
      "options": [
        {
          "key": "A",
          "text": "It was as cold as he expected.",
          "translation": "Nó lạnh như ông ấy mong đợi."
        },
        {
          "key": "B",
          "text": "He did not like the ice.",
          "translation": "Anh ta không thích băng."
        },
        {
          "key": "C",
          "text": "It made him feel healthier.",
          "translation": "Nó làm anh ta cảm thấy khỏe hơn."
        },
        {
          "key": "D",
          "text": "He enjoyed swimming up and down.",
          "translation": "Nó thích bơi lên xuống."
        }
      ],
      "answer_translation": "Nó lạnh như ông ấy mong đợi.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Nó lạnh như ông ấy mong đợi”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT05-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT05-GR-Q21",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "C",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Don has _____ that I actually got lost on the way to the bathroom.",
      "question_translation": "Don có ___ Rằng tôi thực sự bị lạc trên đường đi vệ sinh.",
      "options": [
        {
          "key": "A",
          "text": "so a big house",
          "translation": "Vì vậy, một ngôi nhà lớn"
        },
        {
          "key": "B",
          "text": "so the big house",
          "translation": "Ngôi nhà lớn"
        },
        {
          "key": "C",
          "text": "such a big house",
          "translation": "Một ngôi nhà lớn"
        },
        {
          "key": "D",
          "text": "such the big house",
          "translation": "Ngôi nhà lớn thế này"
        }
      ],
      "answer_translation": "Don có một ngôi nhà lớn đến nỗi tôi bị lạc đường trên đường đi vệ sinh.",
      "simple_reason": "Điền “such a big house” rồi đọc lại toàn câu: “Don có một ngôi nhà lớn đến nỗi tôi bị lạc đường trên đường đi vệ sinh”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q22",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "B",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I'd study to become a doctor if only _____go back to college.",
      "question_translation": "Tôi sẽ học để trở thành bác sĩ. ___ Quay lại đại học.",
      "options": [
        {
          "key": "A",
          "text": "I would",
          "translation": "Tôi sẽ..."
        },
        {
          "key": "B",
          "text": "I could",
          "translation": "Tôi có thể"
        },
        {
          "key": "C",
          "text": "I might",
          "translation": "Có thể"
        },
        {
          "key": "D",
          "text": "I should",
          "translation": "Tôi nên..."
        }
      ],
      "answer_translation": "Tôi sẽ học để trở thành bác sĩ nếu tôi có thể quay lại đại học.",
      "simple_reason": "Điền “I could” rồi đọc lại toàn câu: “Tôi sẽ học để trở thành bác sĩ nếu tôi có thể quay lại đại học”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q23",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "D",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Does John know any other foreign languages _____ French?",
      "question_translation": "John có biết tiếng nước ngoài nào khác không? ___ Tiếng Pháp?",
      "options": [
        {
          "key": "A",
          "text": "except",
          "translation": "Ngoại trừ"
        },
        {
          "key": "B",
          "text": "outside",
          "translation": "bên ngoài"
        },
        {
          "key": "C",
          "text": "despite",
          "translation": "Mặc kệ"
        },
        {
          "key": "D",
          "text": "besides",
          "translation": "Hơn nữa"
        }
      ],
      "answer_translation": "John có biết ngoại ngữ nào khác ngoài tiếng Pháp không?",
      "simple_reason": "Điền “besides” rồi đọc lại toàn câu: “John có biết ngoại ngữ nào khác ngoài tiếng Pháp không”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q24",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "C",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "After looking for him all day, Jeremy finally found his dog _____ in a cave.",
      "question_translation": "Sau khi tìm kiếm anh ta cả ngày, Jeremy cuối cùng đã tìm thấy con chó của mình ___ Trong một cái hang.",
      "options": [
        {
          "key": "A",
          "text": "hide",
          "translation": "Ẩn"
        },
        {
          "key": "B",
          "text": "to hide",
          "translation": "ẩn"
        },
        {
          "key": "C",
          "text": "hidden",
          "translation": "ẩn"
        },
        {
          "key": "D",
          "text": "to be hidden",
          "translation": "ẩn"
        }
      ],
      "answer_translation": "Sau khi tìm kiếm anh ta cả ngày, Jeremy cuối cùng cũng tìm thấy con chó giấu trong hang.",
      "simple_reason": "Điền “hidden” rồi đọc lại toàn câu: “Sau khi tìm kiếm anh ta cả ngày, Jeremy cuối cùng cũng tìm thấy con chó giấu trong hang”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q25",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "B",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ has not handed in their report must do so by Friday at the latest.",
      "question_translation": " ___ đã không nộp báo cáo cho họ vào thứ sáu.",
      "options": [
        {
          "key": "A",
          "text": "Anyone",
          "translation": "Bất cứ ai"
        },
        {
          "key": "B",
          "text": "Anyone who",
          "translation": "Bất cứ ai"
        },
        {
          "key": "C",
          "text": "Who",
          "translation": "Ai"
        },
        {
          "key": "D",
          "text": "Whomever",
          "translation": "Bất cứ ai"
        }
      ],
      "answer_translation": "Bất cứ ai chưa nộp báo cáo phải làm thế vào thứ sáu.",
      "simple_reason": "Điền “Anyone who” rồi đọc lại toàn câu: “Bất cứ ai chưa nộp báo cáo phải làm thế vào thứ sáu”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q26",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "B",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "When Lily came home at 5 p.m. yesterday, her mother _____ dinner in the kitchen.",
      "question_translation": "Khi Lily về nhà lúc 5 giờ chiều hôm qua, mẹ cô ấy ___ Bữa tối trong bếp.",
      "options": [
        {
          "key": "A",
          "text": "cooked",
          "translation": "đã nấu"
        },
        {
          "key": "B",
          "text": "was cooking",
          "translation": "lúc nấu ăn"
        },
        {
          "key": "C",
          "text": "cooks",
          "translation": "Đầu bếp"
        },
        {
          "key": "D",
          "text": "has cooked",
          "translation": "đã nấu chín"
        }
      ],
      "answer_translation": "Khi Lily về nhà lúc 5 giờ tối hôm qua, mẹ cô ấy đang nấu bữa tối trong bếp.",
      "simple_reason": "Điền “was cooking” rồi đọc lại toàn câu: “Khi Lily về nhà lúc 5 giờ tối hôm qua, mẹ cô ấy đang nấu bữa tối trong bếp”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q27",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "D",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I told the police officer that in my opinion _____ of the two drivers was responsible.",
      "question_translation": "Tôi đã nói với cảnh sát rằng theo ý kiến của tôi ___ trong đó có hai người lái xe chịu trách nhiệm.",
      "options": [
        {
          "key": "A",
          "text": "no",
          "translation": "không"
        },
        {
          "key": "B",
          "text": "none",
          "translation": "không có"
        },
        {
          "key": "C",
          "text": "not one",
          "translation": "Không một ai"
        },
        {
          "key": "D",
          "text": "neither",
          "translation": "cũng không"
        }
      ],
      "answer_translation": "Tôi nói với viên cảnh sát rằng theo quan điểm của tôi cả hai tài xế đều không chịu trách nhiệm.",
      "simple_reason": "Điền “neither” rồi đọc lại toàn câu: “Tôi nói với viên cảnh sát rằng theo quan điểm của tôi cả hai tài xế đều không chịu trách nhiệm”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q28",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "D",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ you are married or single, you will receive a warm welcome.",
      "question_translation": " ___ Dù đã kết hôn hay còn độc thân, bạn sẽ được chào đón nồng nhiệt.",
      "options": [
        {
          "key": "A",
          "text": "Even if",
          "translation": "Ngay cả khi"
        },
        {
          "key": "B",
          "text": "Although",
          "translation": "Mặc dù"
        },
        {
          "key": "C",
          "text": "However",
          "translation": "Tuy nhiên"
        },
        {
          "key": "D",
          "text": "Whether",
          "translation": "Cho dù"
        }
      ],
      "answer_translation": "Dù đã kết hôn hay còn độc thân, bạn sẽ được chào đón nồng nhiệt.",
      "simple_reason": "Điền “Whether” rồi đọc lại toàn câu: “Dù đã kết hôn hay còn độc thân, bạn sẽ được chào đón nồng nhiệt”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q29",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "A",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Wear a helmet when riding a motorbike. Helmets are used _____ our heads.",
      "question_translation": "Đội mũ bảo hiểm khi đi xe máy. Mũ bảo hiểm được dùng ___ Đầu của chúng ta.",
      "options": [
        {
          "key": "A",
          "text": "to protect",
          "translation": "để bảo vệ"
        },
        {
          "key": "B",
          "text": "protect",
          "translation": "bảo vệ"
        },
        {
          "key": "C",
          "text": "to protecting",
          "translation": "để bảo vệ"
        },
        {
          "key": "D",
          "text": "protected",
          "translation": "bảo vệ"
        }
      ],
      "answer_translation": "Đội mũ bảo hiểm khi đi xe máy. Mũ bảo hộ được dùng để bảo vệ đầu của chúng ta.",
      "simple_reason": "Điền “to protect” rồi đọc lại toàn câu: “Đội mũ bảo hiểm khi đi xe máy. Mũ bảo hộ được dùng để bảo vệ đầu của chúng ta”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q30",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "B",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Who's the man with the red tie?” — “He's the person _____ owns the shop next door.”",
      "question_translation": "- Người đeo cà vạt đỏ là ai? ___ Chủ cửa hàng bên cạnh.",
      "options": [
        {
          "key": "A",
          "text": "of whom mother",
          "translation": "người mẹ"
        },
        {
          "key": "B",
          "text": "whose mother",
          "translation": "có mẹ"
        },
        {
          "key": "C",
          "text": "whose the mother",
          "translation": "người mẹ"
        },
        {
          "key": "D",
          "text": "who has his mother",
          "translation": "người có mẹ"
        }
      ],
      "answer_translation": "- Người đàn ông đeo cà vạt đỏ là ai?",
      "simple_reason": "Điền “whose mother” rồi đọc lại toàn câu: “- Người đàn ông đeo cà vạt đỏ là ai”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q31",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "C",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "This pencil is no good. Please give me _____",
      "question_translation": "Cây bút chì này không tốt. Làm ơn cho tôi ___ ",
      "options": [
        {
          "key": "A",
          "text": "one",
          "translation": "Một"
        },
        {
          "key": "B",
          "text": "other one",
          "translation": "cái khác"
        },
        {
          "key": "C",
          "text": "another one",
          "translation": "cái khác"
        },
        {
          "key": "D",
          "text": "one another",
          "translation": "khác"
        }
      ],
      "answer_translation": "Cây bút chì này không tốt. Làm ơn cho tôi một ly nữa.",
      "simple_reason": "Điền “another one” rồi đọc lại toàn câu: “Cây bút chì này không tốt. Làm ơn cho tôi một ly nữa”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q32",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "D",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We have fitted a burglar alarm to the house _____ somebody tries to break in.",
      "question_translation": "Chúng tôi đã gắn hệ thống báo động trộm vào nhà. ___ Có người muốn đột nhập.",
      "options": [
        {
          "key": "A",
          "text": "unless",
          "translation": "Trừ khi"
        },
        {
          "key": "B",
          "text": "if",
          "translation": "nếu"
        },
        {
          "key": "C",
          "text": "as long as",
          "translation": "Miễn là"
        },
        {
          "key": "D",
          "text": "in case",
          "translation": "Trong trường hợp"
        }
      ],
      "answer_translation": "Chúng tôi đã gắn hệ thống báo động trộm vào nhà phòng khi có ai đó muốn đột nhập.",
      "simple_reason": "Điền “in case” rồi đọc lại toàn câu: “Chúng tôi đã gắn hệ thống báo động trộm vào nhà phòng khi có ai đó muốn đột nhập”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q33",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "C",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Alice, why didn't you come yesterday?” — “I _____ but I had an unexpected visitor.”",
      "question_translation": "— “Cô Alice, sao hôm qua cô không đến? ___ Nhưng tôi có một vị khách bất ngờ.",
      "options": [
        {
          "key": "A",
          "text": "had",
          "translation": "đã có"
        },
        {
          "key": "B",
          "text": "would",
          "translation": "sẽ"
        },
        {
          "key": "C",
          "text": "was going to",
          "translation": "là sẽ"
        },
        {
          "key": "D",
          "text": "did",
          "translation": "đã làm"
        }
      ],
      "answer_translation": "— “Cô Alice, sao hôm qua cô không đến?",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “was going to” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “— “Cô Alice, sao hôm qua cô không đến”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — was going to vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q34",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "A",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Students _____ copy their work from the Internet. It's illegal!",
      "question_translation": "Các em ___ Sao chép tác phẩm của họ từ Internet. Đó là bất hợp pháp!",
      "options": [
        {
          "key": "A",
          "text": "must not",
          "translation": "không được"
        },
        {
          "key": "B",
          "text": "don't have to",
          "translation": "Không cần"
        },
        {
          "key": "C",
          "text": "may not",
          "translation": "có thể không"
        },
        {
          "key": "D",
          "text": "need not",
          "translation": "không cần"
        }
      ],
      "answer_translation": "Các học sinh không được sao chép công việc từ Internet. Đó là bất hợp pháp!",
      "simple_reason": "Điền “must not” rồi đọc lại toàn câu: “Các học sinh không được sao chép công việc từ Internet. Đó là bất hợp pháp”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-GR-Q35",
      "page": 31,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "C",
      "reason": "such a, if only I could, besides, found + object + V3, anyone who, past continuous, neither of two, whether...or, purpose infinitive, whose mother, another one, in case, was going to, must not, had better not + V.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We'd better _____ on the road. A car may hit us.",
      "question_translation": "Chúng ta nên... ___ Trên đường. Một chiếc xe có thể đâm vào chúng ta.",
      "options": [
        {
          "key": "A",
          "text": "not to play",
          "translation": "không phải để chơi"
        },
        {
          "key": "B",
          "text": "to not play",
          "translation": "không được chơi"
        },
        {
          "key": "C",
          "text": "not play",
          "translation": "không chơi"
        },
        {
          "key": "D",
          "text": "play not",
          "translation": "không chơi"
        }
      ],
      "answer_translation": "Chúng ta không nên chơi trên đường. Một chiếc xe có thể đâm vào chúng ta.",
      "simple_reason": "Điền “not play” rồi đọc lại toàn câu: “Chúng ta không nên chơi trên đường. Một chiếc xe có thể đâm vào chúng ta”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-CLOZE-Q36",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 36,
      "answer": "A",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "stop",
          "translation": "Dừng"
        },
        {
          "key": "B",
          "text": "end",
          "translation": "Cuối"
        },
        {
          "key": "C",
          "text": "break",
          "translation": "bị ngắt"
        },
        {
          "key": "D",
          "text": "leave",
          "translation": "Để lại"
        }
      ],
      "answer_translation": "Dừng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Dừng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q37",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 37,
      "answer": "B",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "from",
          "translation": "từ"
        },
        {
          "key": "B",
          "text": "of",
          "translation": "Kho"
        },
        {
          "key": "C",
          "text": "in",
          "translation": "in"
        },
        {
          "key": "D",
          "text": "for",
          "translation": "Vì"
        }
      ],
      "answer_translation": "Kho",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Kho” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q38",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 38,
      "answer": "B",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "ever",
          "translation": "mãi mãi"
        },
        {
          "key": "B",
          "text": "never",
          "translation": "Không bao giờ"
        },
        {
          "key": "C",
          "text": "often",
          "translation": "thường xuyên"
        },
        {
          "key": "D",
          "text": "always",
          "translation": "Luôn luôn"
        }
      ],
      "answer_translation": "Không bao giờ",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Không bao giờ” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q39",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 39,
      "answer": "D",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (39) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "growing",
          "translation": "Đang tăng"
        },
        {
          "key": "B",
          "text": "changing",
          "translation": "thay đổi"
        },
        {
          "key": "C",
          "text": "adding",
          "translation": "thêm"
        },
        {
          "key": "D",
          "text": "increasing",
          "translation": "tăng"
        }
      ],
      "answer_translation": "tăng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “tăng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q40",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 40,
      "answer": "A",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "all",
          "translation": "Tất cả"
        },
        {
          "key": "B",
          "text": "each",
          "translation": "mỗi"
        },
        {
          "key": "C",
          "text": "both",
          "translation": "cả hai"
        },
        {
          "key": "D",
          "text": "every",
          "translation": "mỗi"
        }
      ],
      "answer_translation": "Tất cả",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Tất cả” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q41",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 41,
      "answer": "B",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "suggest",
          "translation": "gợi ý"
        },
        {
          "key": "B",
          "text": "find",
          "translation": "Tìm"
        },
        {
          "key": "C",
          "text": "wish",
          "translation": "Ước"
        },
        {
          "key": "D",
          "text": "want",
          "translation": "muốn"
        }
      ],
      "answer_translation": "Tìm",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Tìm” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q42",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 42,
      "answer": "D",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "join",
          "translation": "Tham gia"
        },
        {
          "key": "B",
          "text": "enter",
          "translation": "nhập"
        },
        {
          "key": "C",
          "text": "arrive",
          "translation": "Đến đây"
        },
        {
          "key": "D",
          "text": "go",
          "translation": "Đi"
        }
      ],
      "answer_translation": "Đi",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “Đi” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q43",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 43,
      "answer": "B",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "give",
          "translation": "cho"
        },
        {
          "key": "B",
          "text": "attend",
          "translation": "Tham dự"
        },
        {
          "key": "C",
          "text": "learn",
          "translation": "học"
        },
        {
          "key": "D",
          "text": "study",
          "translation": "Đang học"
        }
      ],
      "answer_translation": "Tham dự",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Tham dự” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q44",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 44,
      "answer": "A",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "any",
          "translation": "bất kỳ"
        },
        {
          "key": "B",
          "text": "some",
          "translation": "một số"
        },
        {
          "key": "C",
          "text": "many",
          "translation": "nhiều"
        },
        {
          "key": "D",
          "text": "most",
          "translation": "đa số"
        }
      ],
      "answer_translation": "bất kỳ",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “bất kỳ” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-CLOZE-Q45",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Điền từ",
      "question": 45,
      "answer": "C",
      "reason": "stop working, variety of, never studied, increasing knowledge, all kinds, find that, go to, attend a class, any university, would like.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "did",
          "translation": "đã làm"
        },
        {
          "key": "B",
          "text": "will",
          "translation": "Will"
        },
        {
          "key": "C",
          "text": "would",
          "translation": "sẽ"
        },
        {
          "key": "D",
          "text": "can",
          "translation": "có thể"
        }
      ],
      "answer_translation": "sẽ",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “sẽ” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT05-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT05-ST-Q46",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "The older he grows, the wiser he becomes.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "As he grows older, he becomes wiser.\nThe _____.",
      "question_translation": "Khi lớn lên, con trở nên khôn ngoan hơn.\nViết lại câu, bắt đầu bằng: The _____.",
      "options": [],
      "answer_translation": "Nó càng lớn, nó càng khôn ngoan hơn.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-ST-Q47",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "Helen is not tall enough to reach the book on the shelf.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Helen is too short to reach the book on the shelf.\nHelen is not _____.",
      "question_translation": "Helen quá ngắn để đọc được cuốn sách.\nViết lại câu, bắt đầu bằng: Helen is not _____.",
      "options": [],
      "answer_translation": "Helen không đủ cao để đưa cuốn sách lên kệ.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-ST-Q48",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "De Gea was not quick enough to save Neymar's shot.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "De Gea was too slow to save the shot by Neymar.\nDe Gea was not _____.",
      "question_translation": "De Gea quá chậm để cứu viên đạn của Neymar.\nViết lại câu, bắt đầu bằng: De Gea was not _____.",
      "options": [],
      "answer_translation": "De Gea không đủ nhanh để cứu được Neymar.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-ST-Q49",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "Unless he starts work right away, he will never finish it.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "If he doesn't start work right away, he'll never finish it.\nUnless _____.",
      "question_translation": "Nếu anh ta không bắt đầu làm việc ngay, anh ta sẽ không bao giờ hoàn thành nó.\nViết lại câu, bắt đầu bằng: Unless _____.",
      "options": [],
      "answer_translation": "Trừ khi hắn bắt đầu làm việc ngay lập tức, hắn sẽ không bao giờ hoàn thành nó.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT05-ST-Q50",
      "page": 32,
      "page_range": [
        28,
        34
      ],
      "kind": "practice-test",
      "unit": "Practice Test 5",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "Although he is old, he is very active.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Despite his old age, he's very active.\nAlthough _____.",
      "question_translation": "Mặc dù tuổi già, nó vẫn rất năng động.\nViết lại câu, bắt đầu bằng: Although _____.",
      "options": [],
      "answer_translation": "Mặc dù đã già, ông vẫn rất năng động.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q01",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 1,
      "answer": "C",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Unexpectedly the lights _____ out and we were left in darkness.",
      "question_translation": "Bất ngờ các đèn ___ và chúng ta bị bỏ rơi trong bóng tối.",
      "options": [
        {
          "key": "A",
          "text": "turned",
          "translation": "Quay"
        },
        {
          "key": "B",
          "text": "put",
          "translation": "đặt"
        },
        {
          "key": "C",
          "text": "went",
          "translation": "đã đi"
        },
        {
          "key": "D",
          "text": "cut",
          "translation": "cắt"
        }
      ],
      "answer_translation": "Bất ngờ, đèn tắt và chúng tôi bị bỏ rơi trong bóng tối.",
      "simple_reason": "Thử từ “went” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bất ngờ, đèn tắt và chúng tôi bị bỏ rơi trong bóng tối”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q02",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 2,
      "answer": "C",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The shop will _____ you the full cost of your purchase if you don't like our goods.",
      "question_translation": "Cửa hàng thì có. ___ nếu anh không thích hàng của chúng tôi.",
      "options": [
        {
          "key": "A",
          "text": "return",
          "translation": "trở lại"
        },
        {
          "key": "B",
          "text": "pay back",
          "translation": "Trả lại đi."
        },
        {
          "key": "C",
          "text": "refund",
          "translation": "Trả lại"
        },
        {
          "key": "D",
          "text": "cover",
          "translation": "bìa"
        }
      ],
      "answer_translation": "Cửa hàng sẽ trả lại anh toàn bộ tiền mua hàng nếu anh không thích hàng của chúng tôi.",
      "simple_reason": "Thử từ “refund” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Cửa hàng sẽ trả lại anh toàn bộ tiền mua hàng nếu anh không thích hàng của chúng tôi”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q03",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 3,
      "answer": "B",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "His life's _____ was to become an independent and successful businessman.",
      "question_translation": "Cuộc sống của anh ấy ___ là trở thành một doanh nhân độc lập và thành công.",
      "options": [
        {
          "key": "A",
          "text": "expectancy",
          "translation": "Tuổi thọ"
        },
        {
          "key": "B",
          "text": "ambition",
          "translation": "tham vọng"
        },
        {
          "key": "C",
          "text": "prediction",
          "translation": "tiên đoán"
        },
        {
          "key": "D",
          "text": "demand",
          "translation": "Cầu"
        }
      ],
      "answer_translation": "Tham vọng cả đời ông ấy là trở thành một doanh nhân độc lập và thành công.",
      "simple_reason": "Thử từ “ambition” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tham vọng cả đời ông ấy là trở thành một doanh nhân độc lập và thành công”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q04",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 4,
      "answer": "B",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I hope the baby didn't _____ you during the night.",
      "question_translation": "Hy vọng đứa bé không ___ anh suốt đêm.",
      "options": [
        {
          "key": "A",
          "text": "distract",
          "translation": "Làm sao lãng"
        },
        {
          "key": "B",
          "text": "disturb",
          "translation": "làm phiền"
        },
        {
          "key": "C",
          "text": "intrude",
          "translation": "Lỗi"
        },
        {
          "key": "D",
          "text": "bully",
          "translation": "Abuse"
        }
      ],
      "answer_translation": "Tôi hy vọng đứa bé không làm phiền cô vào buổi tối.",
      "simple_reason": "Thử từ “disturb” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tôi hy vọng đứa bé không làm phiền cô vào buổi tối”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q05",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 5,
      "answer": "D",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It is good for elderly people to be _____ involved in community service.",
      "question_translation": "Thật tốt cho người già ___ tham gia công tác cộng đồng.",
      "options": [
        {
          "key": "A",
          "text": "honestly",
          "translation": "Thật đấy"
        },
        {
          "key": "B",
          "text": "patiently",
          "translation": "Kiên nhẫn"
        },
        {
          "key": "C",
          "text": "eagerly",
          "translation": "Sẵn sàng"
        },
        {
          "key": "D",
          "text": "actively",
          "translation": "tích cực"
        }
      ],
      "answer_translation": "Việc tích cực tham gia vào công việc cộng đồng là điều tốt.",
      "simple_reason": "Thử từ “actively” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Việc tích cực tham gia vào công việc cộng đồng là điều tốt”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q06",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 6,
      "answer": "B",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I wish you wouldn't _____ me when I'm speaking. Please let me finish before you answer.",
      "question_translation": "Em ước gì anh đừng ___ Tôi đang nói chuyện với tôi. Hãy để tôi nói hết trước khi anh trả lời.",
      "options": [
        {
          "key": "A",
          "text": "hinder",
          "translation": "Dừng"
        },
        {
          "key": "B",
          "text": "interrupt",
          "translation": "Dừng"
        },
        {
          "key": "C",
          "text": "prevent",
          "translation": "ngăn chặn"
        },
        {
          "key": "D",
          "text": "interfere",
          "translation": "đã can thiệp"
        }
      ],
      "answer_translation": "Ước gì anh đừng ngắt lời tôi khi tôi đang nói. Hãy để tôi nói hết trước khi anh trả lời.",
      "simple_reason": "Thử từ “interrupt” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Ước gì anh đừng ngắt lời tôi khi tôi đang nói. Hãy để tôi nói hết trước khi anh trả lời”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q07",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 7,
      "answer": "C",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "A woman can never have a happy married life without _____ her husband.",
      "question_translation": "Một người phụ nữ không thể nào có một cuộc sống hôn nhân hạnh phúc mà không có ___ chồng cô ấy.",
      "options": [
        {
          "key": "A",
          "text": "demanding",
          "translation": "yêu cầu"
        },
        {
          "key": "B",
          "text": "acquiring",
          "translation": "Nhận được"
        },
        {
          "key": "C",
          "text": "trusting",
          "translation": "tin tưởng"
        },
        {
          "key": "D",
          "text": "determining",
          "translation": "Đang xác định"
        }
      ],
      "answer_translation": "Một phụ nữ không bao giờ có thể có một cuộc sống hôn nhân hạnh phúc mà không tin tưởng chồng mình.",
      "simple_reason": "Thử từ “trusting” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Một phụ nữ không bao giờ có thể có một cuộc sống hôn nhân hạnh phúc mà không tin tưởng chồng mình”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q08",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 8,
      "answer": "C",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The contract between the two companies will _____ at the end of the year.",
      "question_translation": "Hợp đồng giữa hai công ty sẽ ___ vào cuối năm.",
      "options": [
        {
          "key": "A",
          "text": "complete",
          "translation": "Hoàn tất"
        },
        {
          "key": "B",
          "text": "overcharge",
          "translation": "Quá tải"
        },
        {
          "key": "C",
          "text": "expire",
          "translation": "Hết hạn"
        },
        {
          "key": "D",
          "text": "finish",
          "translation": "cuối"
        }
      ],
      "answer_translation": "Hợp đồng giữa hai công ty sẽ hết hạn vào cuối năm.",
      "simple_reason": "Thử từ “expire” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Hợp đồng giữa hai công ty sẽ hết hạn vào cuối năm”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q09",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 9,
      "answer": "D",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I was a bit _____ of his haircut so I'm heading to my hairdressers right now!",
      "question_translation": "Lúc đó tôi hơi... ___ Kiểu tóc của ông ấy nên tôi đang đến chỗ thợ cắt tóc của tôi ngay bây giờ!",
      "options": [
        {
          "key": "A",
          "text": "jealous",
          "translation": "Ghen tị"
        },
        {
          "key": "B",
          "text": "scared",
          "translation": "Sợ hãi"
        },
        {
          "key": "C",
          "text": "guilty",
          "translation": "có tội"
        },
        {
          "key": "D",
          "text": "ashamed",
          "translation": "Xấu hổ"
        }
      ],
      "answer_translation": "Tôi hơi xấu hổ về mái tóc của anh ta nên tôi đang đi đến tiệm làm tóc của tôi ngay bây giờ!",
      "simple_reason": "Thử từ “ashamed” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tôi hơi xấu hổ về mái tóc của anh ta nên tôi đang đi đến tiệm làm tóc của tôi ngay bây giờ”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-VOC-Q10",
      "page": 35,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Từ vựng",
      "question": 10,
      "answer": "A",
      "reason": "lights went out, refund, life's ambition, disturb, actively involved, interrupt, trusting, contract expire, ashamed of, stubborn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It's no use trying to persuade him that he's wrong. He's too _____ to change his mind.",
      "question_translation": "Không ích gì khi cố thuyết phục anh ta rằng anh ta sai. Nó cũng vậy. ___ để đổi ý.",
      "options": [
        {
          "key": "A",
          "text": "stubborn",
          "translation": "cứng đầu"
        },
        {
          "key": "B",
          "text": "incredible",
          "translation": "không thể tin được"
        },
        {
          "key": "C",
          "text": "decisive",
          "translation": "quyết định"
        },
        {
          "key": "D",
          "text": "definite",
          "translation": "xác định"
        }
      ],
      "answer_translation": "Không ích gì khi cố thuyết phục anh ta rằng anh ta sai. Hắn quá cứng đầu để đổi ý.",
      "simple_reason": "Thử từ “stubborn” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Không ích gì khi cố thuyết phục anh ta rằng anh ta sai. Hắn quá cứng đầu để đổi ý”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-READ-Q11",
      "page": 36,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "C",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer trying to do in this essay?",
      "question_translation": "Nhà văn đang cố gắng làm gì trong bài luận này?",
      "options": [
        {
          "key": "A",
          "text": "Explain what first attracted her to Bond films.",
          "translation": "Hãy giải thích điều gì đã thu hút cô ấy đến với phim Bond."
        },
        {
          "key": "B",
          "text": "Tell readers about the Bond DVDs she owns.",
          "translation": "Kể cho độc giả về DVD Bond mà cô ta sở hữu."
        },
        {
          "key": "C",
          "text": "Give a balanced view of a Bond film she has seen.",
          "translation": "Hãy đưa ra quan điểm thăng bằng về bộ phim Bond mà cô ấy đã xem."
        },
        {
          "key": "D",
          "text": "Describe how Daniel Craig got the part of James Bond.",
          "translation": "Hãy miêu tả cách Daniel Craig nhận được phần của James Bond."
        }
      ],
      "answer_translation": "Hãy đưa ra quan điểm thăng bằng về bộ phim Bond mà cô ấy đã xem.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Hãy đưa ra quan điểm thăng bằng về bộ phim Bond mà cô ấy đã xem”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q12",
      "page": 36,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "D",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What can a reader find out from this essay?",
      "question_translation": "Một độc giả có thể tìm được gì từ bài luận này?",
      "options": [
        {
          "key": "A",
          "text": "Whether Quantum of Solace is her favourite Bond film.",
          "translation": "Có phải Quantum của dịp này là phim Bond yêu thích của cô ấy không?"
        },
        {
          "key": "B",
          "text": "What other films Daniel Craig has made.",
          "translation": "Daniel Craig đã làm những phim khác."
        },
        {
          "key": "C",
          "text": "Which other actors have played James Bond.",
          "translation": "Những diễn viên khác đóng James Bond."
        },
        {
          "key": "D",
          "text": "Whether she thinks Daniel Craig is the best James Bond.",
          "translation": "Cho dù cô ấy nghĩ Daniel Craig là James Bond giỏi nhất."
        }
      ],
      "answer_translation": "Cho dù cô ấy nghĩ Daniel Craig là James Bond giỏi nhất.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Cho dù cô ấy nghĩ Daniel Craig là James Bond giỏi nhất”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q13",
      "page": 36,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "A",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does the writer tell us about Craig in the new Bond film?",
      "question_translation": "Nhà văn nói gì về Craig trong phim Bond mới?",
      "options": [
        {
          "key": "A",
          "text": "He performs some of the action scenes.",
          "translation": "Anh ấy diễn một số cảnh hành động."
        },
        {
          "key": "B",
          "text": "He wears some stylish clothes.",
          "translation": "Anh ta mặc vài bộ quần áo sang trọng."
        },
        {
          "key": "C",
          "text": "He is given a lot of lines to say.",
          "translation": "Anh ta có rất nhiều lời để nói."
        },
        {
          "key": "D",
          "text": "He looks strong and fit enough to fight the criminals.",
          "translation": "Hắn trông khỏe mạnh và đủ khỏe để chống lại bọn tội phạm."
        }
      ],
      "answer_translation": "Anh ấy diễn một số cảnh hành động.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Anh ấy diễn một số cảnh hành động”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q14",
      "page": 36,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "B",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is one problem with the film, according to Jessica?",
      "question_translation": "Có vấn đề gì với bộ phim, theo Jessica?",
      "options": [
        {
          "key": "A",
          "text": "It seems a bit too long.",
          "translation": "Có vẻ hơi lâu."
        },
        {
          "key": "B",
          "text": "It's sometimes hard to understand what's happening.",
          "translation": "Đôi khi rất khó để hiểu chuyện gì đang xảy ra."
        },
        {
          "key": "C",
          "text": "It has too much silly technology in it.",
          "translation": "Nó có quá nhiều công nghệ ngu ngốc."
        },
        {
          "key": "D",
          "text": "It has jokes that aren't very funny.",
          "translation": "Nó có những chuyện cười không vui chút nào."
        }
      ],
      "answer_translation": "Đôi khi rất khó để hiểu chuyện gì đang xảy ra.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Đôi khi rất khó để hiểu chuyện gì đang xảy ra”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q15",
      "page": 36,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "C",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of these might appear in a magazine review of the new Bond film?",
      "question_translation": "Cái nào có thể xuất hiện trong một tạp chí phê bình phim Bond mới?",
      "options": [
        {
          "key": "A",
          "text": "‘It's full of excitement, with Bond jumping across rooftops, so don't be disappointed by the slow start.’",
          "translation": "\"Rất hào hứng, Bond nhảy qua mái nhà, vì vậy đừng thất vọng vì sự khởi đầu chậm chạp.\""
        },
        {
          "key": "B",
          "text": "‘The director wanted to move away from the last Bond film and include a bit less action.’",
          "translation": "Người giám đốc muốn tránh xa bộ phim Bond cuối cùng và ít hành động hơn."
        },
        {
          "key": "C",
          "text": "‘I'm not sure the title tells you much ... but be prepared to watch a rather different kind of Bond movie.’",
          "translation": "‘ Tôi không chắc tiêu đề này sẽ cho bạn biết nhiều... nhưng hãy chuẩn bị xem một loại phim khá khác của Bond ’."
        },
        {
          "key": "D",
          "text": "‘Daniel Craig performed well as James Bond, but the main female star was disappointing.’",
          "translation": "‘ Daniel Craig biểu diễn tốt như James Bond, nhưng ngôi sao chính làm cho phụ nữ thất vọng ’."
        }
      ],
      "answer_translation": "‘ Tôi không chắc tiêu đề này sẽ cho bạn biết nhiều... nhưng hãy chuẩn bị xem một loại phim khá khác của Bond ’.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “‘ Tôi không chắc tiêu đề này sẽ cho bạn biết nhiều... nhưng hãy chuẩn bị xem một loại phim khá khác của Bond ’”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q16",
      "page": 37,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "D",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer doing in the text?",
      "question_translation": "Tác giả làm gì trong văn bản?",
      "options": [
        {
          "key": "A",
          "text": "Describing the different places he saw while cycling.",
          "translation": "Khi đi xe đạp, anh miêu tả những nơi khác nhau."
        },
        {
          "key": "B",
          "text": "Comparing cycling to other forms of exercise.",
          "translation": "So sánh xe đạp với những hình thức khác."
        },
        {
          "key": "C",
          "text": "Pointing out the differences between cycling in the city and cycling in the countryside.",
          "translation": "Chỉ ra sự khác biệt giữa đạp xe trong thành phố và đạp xe ở miền quê."
        },
        {
          "key": "D",
          "text": "Recommending cycling as a good type of holiday.",
          "translation": "Đề nghị đạp xe như một loại kỳ nghỉ tốt."
        }
      ],
      "answer_translation": "Đề nghị đạp xe như một loại kỳ nghỉ tốt.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Đề nghị đạp xe như một loại kỳ nghỉ tốt”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q17",
      "page": 37,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "C",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What do we find about the writer's bike?",
      "question_translation": "Chúng ta tìm thấy gì về chiếc xe đạp của nhà văn?",
      "options": [
        {
          "key": "A",
          "text": "It wasn't as good as his brother's.",
          "translation": "Nó không tốt bằng em trai anh ta."
        },
        {
          "key": "B",
          "text": "It was too old to go fast.",
          "translation": "Nó quá cũ để chạy nhanh."
        },
        {
          "key": "C",
          "text": "It needed attention at one point.",
          "translation": "Nó cần được chú ý."
        },
        {
          "key": "D",
          "text": "It had trouble going uphill.",
          "translation": "Lên đồi gặp khó khăn."
        }
      ],
      "answer_translation": "Nó cần được chú ý.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Nó cần được chú ý”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q18",
      "page": 37,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "A",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The writer was pleased because",
      "question_translation": "Tác giả rất hài lòng vì",
      "options": [
        {
          "key": "A",
          "text": "he and his brother had chosen a good route.",
          "translation": "Hắn và anh hắn đã chọn một con đường tốt."
        },
        {
          "key": "B",
          "text": "he felt much healthier than before he began his trip.",
          "translation": "Anh cảm thấy khỏe mạnh hơn nhiều so với trước khi bắt đầu chuyến đi."
        },
        {
          "key": "C",
          "text": "he met other people who was keen on cycling.",
          "translation": "Anh ấy gặp những người thích đạp xe."
        },
        {
          "key": "D",
          "text": "he went away at the best time of year for cycling.",
          "translation": "Ông ấy ra đi vào thời điểm tuyệt nhất trong năm để đi xe đạp."
        }
      ],
      "answer_translation": "Hắn và anh hắn đã chọn một con đường tốt.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Hắn và anh hắn đã chọn một con đường tốt”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q19",
      "page": 37,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "B",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What did the writer dislike about his trip?",
      "question_translation": "Nhà văn không thích gì về chuyến đi của ông?",
      "options": [
        {
          "key": "A",
          "text": "breaking down.",
          "translation": "Phá vỡ."
        },
        {
          "key": "B",
          "text": "the food.",
          "translation": "thức ăn."
        },
        {
          "key": "C",
          "text": "the weather.",
          "translation": "Thời tiết."
        },
        {
          "key": "D",
          "text": "getting lost.",
          "translation": "Biến đi."
        }
      ],
      "answer_translation": "thức ăn.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “thức ăn”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT06-READ-Q20",
      "page": 37,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "C",
      "reason": "bài Bond là review cân bằng; Craig tự diễn vài cảnh hành động, phim đôi lúc khó theo dõi và có sắc thái nghiêm túc hơn. Bài cycling khuyến nghị kỳ nghỉ đạp xe; xe cần sửa một lần, tuyến đường tốt, đồ ăn lặp lại gây chán.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What might the writer say in a postcard to a friend?",
      "question_translation": "Nhà văn có thể nói gì trong bưu thiếp với một người bạn?",
      "options": [
        {
          "key": "A",
          "text": "‘I'm having a great holiday, spending lots of time in friendly cafes and enjoying being by myself for once.’",
          "translation": "\"Tôi đang có một kỳ nghỉ tuyệt vời, dành rất nhiều thời gian trong quán cà phê thân thiện và tận hưởng một mình.\""
        },
        {
          "key": "B",
          "text": "‘I'm having really fit cycling so fast up and down the hills in this part of the countryside!’",
          "translation": "‘ Tôi đang thực sự phù hợp với xe đạp quá nhanh lên và xuống đồi trong vùng này của miền quê! ’"
        },
        {
          "key": "C",
          "text": "‘I'm pleased to be away from cars and lorries for a change. Having a good time, despite some problems.’",
          "translation": "‘ Tôi vui mừng được tránh xa xe hơi và hầm mỏ để thay đổi. Vui vẻ, bất chấp một số vấn đề ’."
        },
        {
          "key": "D",
          "text": "‘I'm enjoying cycling with my brother this weekend, and staying at a very quiet hotel in this countryside.’",
          "translation": "‘ Cuối tuần này tôi thích đạp xe với anh tôi, và ở một khách sạn yên tĩnh ở vùng quê này ’."
        }
      ],
      "answer_translation": "‘ Tôi vui mừng được tránh xa xe hơi và hầm mỏ để thay đổi. Vui vẻ, bất chấp một số vấn đề ’.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “‘ Tôi vui mừng được tránh xa xe hơi và hầm mỏ để thay đổi. Vui vẻ, bất chấp một số vấn đề ’”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT06-GR-Q21",
      "page": 37,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "B",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— ‘Do you know this neighborhood well?’ — ‘Yes. In fact, that's the house in _____ I spent my childhood.’",
      "question_translation": "— ‘ Con có biết rõ khu này không? ’ — ‘ Có. Trong thực tế, đó là ngôi nhà trong ___ Tôi đã dành cả tuổi thơ ’.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "C",
          "text": "what",
          "translation": "Sao?"
        },
        {
          "key": "D",
          "text": "where",
          "translation": "nơi"
        }
      ],
      "answer_translation": "— ‘ Con có biết rõ khu này không? ’ — ‘ Có. Trên thực tế, đó là ngôi nhà mà tôi đã dành thời thơ ấu của tôi ’.",
      "simple_reason": "Điền “which” rồi đọc lại toàn câu: “— ‘ Con có biết rõ khu này không? ’ — ‘ Có. Trên thực tế, đó là ngôi nhà mà tôi đã dành thời thơ ấu của tôi ’”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q22",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "D",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "During the years he composed, Charles Ives was isolated from the music world; _____ his major works was publicly performed.",
      "question_translation": "Trong những năm ông sáng tác, Charles Ives bị tách biệt khỏi thế giới âm nhạc; ___ Công trình lớn của ông được thực hiện công khai.",
      "options": [
        {
          "key": "A",
          "text": "not",
          "translation": "không phải"
        },
        {
          "key": "B",
          "text": "not of",
          "translation": "không"
        },
        {
          "key": "C",
          "text": "none",
          "translation": "không có"
        },
        {
          "key": "D",
          "text": "none of",
          "translation": "Không có"
        }
      ],
      "answer_translation": "Trong những năm ông sáng tác, Charles Ives bị tách biệt khỏi thế giới âm nhạc; không một tác phẩm quan trọng nào của ông được công khai thực hiện.",
      "simple_reason": "Điền “none of” rồi đọc lại toàn câu: “Trong những năm ông sáng tác, Charles Ives bị tách biệt khỏi thế giới âm nhạc; không một tác phẩm quan trọng nào của ông được công khai thực hiện”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q23",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "D",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Laura wished she _____ downstairs now and tell her mother what she had done, but she knew she would not.",
      "question_translation": "Laura ước gì cô ấy... ___ Ở tầng dưới và nói với mẹ cô đã làm gì, nhưng cô biết rằng cô sẽ không.",
      "options": [
        {
          "key": "A",
          "text": "would go",
          "translation": "sẽ đi"
        },
        {
          "key": "B",
          "text": "would have gone",
          "translation": "có thể đã đi"
        },
        {
          "key": "C",
          "text": "could have gone",
          "translation": "Có thể đã đi"
        },
        {
          "key": "D",
          "text": "could go",
          "translation": "Có thể đi"
        }
      ],
      "answer_translation": "Laura ước gì bây giờ cô có thể xuống lầu và nói cho mẹ biết cô đã làm gì, nhưng cô biết mình sẽ không làm thế.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “could go” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Laura ước gì bây giờ cô có thể xuống lầu và nói cho mẹ biết cô đã làm gì, nhưng cô biết mình sẽ không làm thế”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn D — could go vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q24",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "A",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Mail off your paperwork or get someone _____ it for you.",
      "question_translation": "Gửi thư cho ai đó ___ cho anh.",
      "options": [
        {
          "key": "A",
          "text": "file",
          "translation": "Tập tin"
        },
        {
          "key": "B",
          "text": "to file",
          "translation": "trong tập tin"
        },
        {
          "key": "C",
          "text": "filing",
          "translation": "nộp hồ sơ"
        },
        {
          "key": "D",
          "text": "filed",
          "translation": "đã đệ"
        }
      ],
      "answer_translation": "Gửi thư từ giấy tờ hoặc ai đó gửi nó cho anh.",
      "simple_reason": "Điền “file” rồi đọc lại toàn câu: “Gửi thư từ giấy tờ hoặc ai đó gửi nó cho anh”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q25",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "A",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Having passed all his exams with top scores, _____.",
      "question_translation": "Sau khi vượt qua tất cả các bài kiểm tra với điểm số cao nhất, ___ .",
      "options": [
        {
          "key": "A",
          "text": "Carol was admitted to several colleges",
          "translation": "Carol được nhận vào vài trường đại học"
        },
        {
          "key": "B",
          "text": "several colleges have admitted Carol",
          "translation": "Một số trường đại học đã thừa nhận Carol"
        },
        {
          "key": "C",
          "text": "several colleges admitted Carol",
          "translation": "Một số trường đại học thừa nhận Carol"
        },
        {
          "key": "D",
          "text": "Carol admitted to several colleges",
          "translation": "Carol nhận vào vài trường đại học"
        }
      ],
      "answer_translation": "Chị Carol được nhận vào nhiều trường đại học.",
      "simple_reason": "Điền “Carol was admitted to several colleges” rồi đọc lại toàn câu: “Chị Carol được nhận vào nhiều trường đại học”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q26",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "C",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The man sitting next to us on the plane was nervous because he _____ before.",
      "question_translation": "Người đàn ông ngồi cạnh chúng tôi trên máy bay đã rất lo lắng bởi vì ông ___ Trước đó.",
      "options": [
        {
          "key": "A",
          "text": "hasn't flown",
          "translation": "Vẫn chưa bay"
        },
        {
          "key": "B",
          "text": "didn't fly",
          "translation": "không biết bay"
        },
        {
          "key": "C",
          "text": "hadn't flown",
          "translation": "Chưa bay"
        },
        {
          "key": "D",
          "text": "wasn't flying",
          "translation": "không phải là bay"
        }
      ],
      "answer_translation": "Người đàn ông ngồi cạnh chúng tôi trên máy bay lo lắng vì anh ta chưa từng bay trước đó.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “hadn't flown” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Người đàn ông ngồi cạnh chúng tôi trên máy bay lo lắng vì anh ta chưa từng bay trước đó”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — hadn't flown vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q27",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "D",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "That awful drilling noise, _____ from our neighbor's house across the street, woke us up.",
      "question_translation": "Tiếng ồn khoan tồi tệ đó, ___ từ nhà hàng xóm bên kia đường đánh thức chúng tôi dậy.",
      "options": [
        {
          "key": "A",
          "text": "come",
          "translation": "Nào"
        },
        {
          "key": "B",
          "text": "comes",
          "translation": "đến đây"
        },
        {
          "key": "C",
          "text": "came",
          "translation": "đến"
        },
        {
          "key": "D",
          "text": "coming",
          "translation": "đến"
        }
      ],
      "answer_translation": "Tiếng ồn khủng khiếp từ nhà hàng xóm bên kia đường đánh thức chúng tôi dậy.",
      "simple_reason": "Điền “coming” rồi đọc lại toàn câu: “Tiếng ồn khủng khiếp từ nhà hàng xóm bên kia đường đánh thức chúng tôi dậy”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q28",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "C",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— ‘How many pages _____ so far?’ — ‘Sixteen.’",
      "question_translation": "— ‘ Bao nhiêu trang ___ Cho đến nay? — ‘ Mười sáu ’.",
      "options": [
        {
          "key": "A",
          "text": "do you study",
          "translation": "Cậu học bài à?"
        },
        {
          "key": "B",
          "text": "did you study",
          "translation": "Cậu học bài à?"
        },
        {
          "key": "C",
          "text": "have you studied",
          "translation": "Bạn đã học"
        },
        {
          "key": "D",
          "text": "had you studied",
          "translation": "đã học"
        }
      ],
      "answer_translation": "— ‘ Con đã học được bao nhiêu trang rồi? ’ — ‘ Sáu mươi ’.",
      "simple_reason": "Điền “have you studied” rồi đọc lại toàn câu: “— ‘ Con đã học được bao nhiêu trang rồi? ’ — ‘ Sáu mươi ’”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q29",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "A",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— ‘Do you like football?’ — ‘No, I have _____ interest in it.’",
      "question_translation": "— ‘ Con thích bóng đá không? ’ — ‘ Không, con có ___ Quan tâm đến điều đó ’.",
      "options": [
        {
          "key": "A",
          "text": "little",
          "translation": "nhỏ"
        },
        {
          "key": "B",
          "text": "a few",
          "translation": "một vài"
        },
        {
          "key": "C",
          "text": "a little",
          "translation": "một chút"
        },
        {
          "key": "D",
          "text": "few",
          "translation": "ít"
        }
      ],
      "answer_translation": "— ‘ Con có thích bóng đá không? ’ — ‘ Không, con ít chú ý đến nó ’.",
      "simple_reason": "Điền “little” rồi đọc lại toàn câu: “— ‘ Con có thích bóng đá không? ’ — ‘ Không, con ít chú ý đến nó ’”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q30",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "C",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It's a beautiful photo. I'm going to _____.",
      "question_translation": "Một bức ảnh đẹp. Tôi sẽ đi ___ .",
      "options": [
        {
          "key": "A",
          "text": "get it enlarging",
          "translation": "làm cho nó mở rộng"
        },
        {
          "key": "B",
          "text": "have it enlarging",
          "translation": "Cho nó mở rộng"
        },
        {
          "key": "C",
          "text": "have it enlarged",
          "translation": "có nó mở rộng"
        },
        {
          "key": "D",
          "text": "set it enlarged",
          "translation": "đặt nó mở rộng"
        }
      ],
      "answer_translation": "Một bức ảnh đẹp. Tôi sẽ mở rộng nó.",
      "simple_reason": "Điền “have it enlarged” rồi đọc lại toàn câu: “Một bức ảnh đẹp. Tôi sẽ mở rộng nó”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q31",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "C",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I couldn't use the pay phone, _____ I didn't have any coins with me.",
      "question_translation": "Tôi không thể dùng điện thoại công cộng, ___ Tôi không có đồng xu nào.",
      "options": [
        {
          "key": "A",
          "text": "yet",
          "translation": "Chưa"
        },
        {
          "key": "B",
          "text": "despite",
          "translation": "Mặc kệ"
        },
        {
          "key": "C",
          "text": "for",
          "translation": "Vì"
        },
        {
          "key": "D",
          "text": "even though",
          "translation": "Mặc dù"
        }
      ],
      "answer_translation": "Tôi không thể dùng điện thoại công cộng, vì tôi không có đồng xu nào.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “for” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Tôi không thể dùng điện thoại công cộng, vì tôi không có đồng xu nào”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — for vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q32",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "A",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ these plants regularly or they will die.",
      "question_translation": " ___ Những cây này thường xuyên hoặc chúng sẽ chết.",
      "options": [
        {
          "key": "A",
          "text": "Water",
          "translation": "Thủy."
        },
        {
          "key": "B",
          "text": "If you water",
          "translation": "Nếu bạn có nước"
        },
        {
          "key": "C",
          "text": "Unless you water",
          "translation": "Trừ khi anh uống nước."
        },
        {
          "key": "D",
          "text": "Because you water",
          "translation": "Bởi vì bạn nước"
        }
      ],
      "answer_translation": "Đổ nước thường xuyên hoặc chúng sẽ chết.",
      "simple_reason": "Điền “Water” rồi đọc lại toàn câu: “Đổ nước thường xuyên hoặc chúng sẽ chết”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q33",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "B",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Our parents join hands to give us _____ nice house and _____ happy home.",
      "question_translation": "Cha mẹ nắm tay nhau để trao cho chúng tôi ___ Ngôi nhà đẹp và ___ Ngôi nhà hạnh phúc.",
      "options": [
        {
          "key": "A",
          "text": "a / the",
          "translation": "dùng “a” / dùng “the”"
        },
        {
          "key": "B",
          "text": "a / a",
          "translation": "dùng “a” / dùng “a”"
        },
        {
          "key": "C",
          "text": "Ø / Ø",
          "translation": "teppi82 / teppi82"
        },
        {
          "key": "D",
          "text": "the / a",
          "translation": "dùng “the” / dùng “a”"
        }
      ],
      "answer_translation": "Cha mẹ nắm tay nhau cho chúng tôi một ngôi nhà đẹp và một ngôi nhà hạnh phúc.",
      "simple_reason": "Đây là câu kiểm tra mạo từ ở nhiều vị trí. Phương án B cho đúng thứ tự: dùng “a” / dùng “a”.",
      "solution_steps": [
        "Xét riêng từng chỗ trống.",
        "Kiểm tra danh từ đang nói chung hay xác định.",
        "Đọc lại cả câu sau khi điền đủ các vị trí."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q34",
      "page": 38,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "D",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I wish I _____ work today. I'm so tired.",
      "question_translation": "Ước gì tôi... ___ Hôm nay làm việc. Tôi mệt quá.",
      "options": [
        {
          "key": "A",
          "text": "mustn't",
          "translation": "Không được"
        },
        {
          "key": "B",
          "text": "needn't",
          "translation": "Không cần"
        },
        {
          "key": "C",
          "text": "don't have to",
          "translation": "Không cần"
        },
        {
          "key": "D",
          "text": "didn't have to",
          "translation": "không cần phải"
        }
      ],
      "answer_translation": "Ước gì tôi không phải làm việc hôm nay. Tôi mệt quá.",
      "simple_reason": "Điền “didn't have to” rồi đọc lại toàn câu: “Ước gì tôi không phải làm việc hôm nay. Tôi mệt quá”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-GR-Q35",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "C",
      "reason": "in which, none of, wish + could, get someone + bare infinitive, chủ thể đúng cho participial clause, past perfect, participle coming, present perfect với so far, little interest, causative, for chỉ lý do, imperative, a...and a..., wish didn't have to, future continuous.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Just think! This time tomorrow we _____ on a beach in Nha Trang.",
      "question_translation": "Hãy thử nghĩ! Giờ này ngày mai chúng ta ___ trên bãi biển ở Nha Tang.",
      "options": [
        {
          "key": "A",
          "text": "will be",
          "translation": "Sẽ là"
        },
        {
          "key": "B",
          "text": "are lying",
          "translation": "Đang nói dối"
        },
        {
          "key": "C",
          "text": "will be lying",
          "translation": "sẽ nói dối"
        },
        {
          "key": "D",
          "text": "will have lain",
          "translation": "Sẽ có lain"
        }
      ],
      "answer_translation": "Hãy thử nghĩ! Giờ này ngày mai chúng ta sẽ nằm trên bãi biển ở Nha Tang.",
      "simple_reason": "Điền “will be lying” rồi đọc lại toàn câu: “Hãy thử nghĩ! Giờ này ngày mai chúng ta sẽ nằm trên bãi biển ở Nha Tang”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-CLOZE-Q36",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 36,
      "answer": "C",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Despite the wealth of information campaigns telling people about global warming and its causes, most people have yet to realize (36) _____.",
      "question_translation": "Bất kể sự phong phú của các chiến dịch thông tin cho mọi người biết về sự nóng lên toàn cầu và nguyên nhân của nó, hầu hết mọi người vẫn chưa nhận ra (36) ___ .",
      "options": [
        {
          "key": "A",
          "text": "how the problem is severe",
          "translation": "Làm thế nào vấn đề là nghiêm trọng"
        },
        {
          "key": "B",
          "text": "how severe is the problem",
          "translation": "Vấn đề nghiêm trọng thế nào?"
        },
        {
          "key": "C",
          "text": "how severe the problem is",
          "translation": "Vấn đề nghiêm trọng đến mức nào"
        },
        {
          "key": "D",
          "text": "the problem is how severe",
          "translation": "Vấn đề là mức độ nghiêm trọng"
        }
      ],
      "answer_translation": "Vấn đề nghiêm trọng đến mức nào",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “Vấn đề nghiêm trọng đến mức nào” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q37",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 37,
      "answer": "B",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Coming climate changes could alter as much as (37) _____ of plant and animal habitats by the end of the 22nd century.",
      "question_translation": "Biến đổi khí hậu đang đến có thể thay đổi nhiều như (37) ___ của thực vật và môi trường sống của động vật vào cuối thế kỷ 22.",
      "options": [
        {
          "key": "A",
          "text": "one-thirds",
          "translation": "1/3"
        },
        {
          "key": "B",
          "text": "one-third",
          "translation": "một phần ba"
        },
        {
          "key": "C",
          "text": "one-three",
          "translation": "một ba"
        },
        {
          "key": "D",
          "text": "the third",
          "translation": "thứ ba"
        }
      ],
      "answer_translation": "một phần ba",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “một phần ba” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q38",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 38,
      "answer": "A",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "These changes could in (38) _____ cause widespread extinctions among plant and animal species around the globe.",
      "question_translation": "Những thay đổi này có thể trong (38) ___ Gây ra sự tuyệt chủng lan tràn giữa các loài thực vật và động vật trên toàn cầu.",
      "options": [
        {
          "key": "A",
          "text": "turn",
          "translation": "Quay"
        },
        {
          "key": "B",
          "text": "result",
          "translation": "kết quả"
        },
        {
          "key": "C",
          "text": "order",
          "translation": "Thứ tự"
        },
        {
          "key": "D",
          "text": "line",
          "translation": "dòng"
        }
      ],
      "answer_translation": "Quay",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Quay” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q39",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 39,
      "answer": "D",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "These changes could in turn cause widespread extinctions among plant and animal (39) _____ around the globe.",
      "question_translation": "Những thay đổi này có thể khiến cây cối và thú vật bị tuyệt chủng khắp nơi (39) ___ trên toàn cầu.",
      "options": [
        {
          "key": "A",
          "text": "types",
          "translation": "Kiểu"
        },
        {
          "key": "B",
          "text": "genres",
          "translation": "Comment"
        },
        {
          "key": "C",
          "text": "categories",
          "translation": "phân loại"
        },
        {
          "key": "D",
          "text": "species",
          "translation": "loài"
        }
      ],
      "answer_translation": "loài",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “loài” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q40",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 40,
      "answer": "B",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Coastal and island habitats are perhaps in the greatest danger (40) _____ they face the combined threats of warming oceans and rising sea levels.",
      "question_translation": "Môi trường sống trên bờ biển và đảo có lẽ là nơi nguy hiểm nhất (40) ___ Chúng phải đối mặt với mối đe dọa tổng hợp của đại dương nóng lên và mực nước biển dâng lên.",
      "options": [
        {
          "key": "A",
          "text": "although",
          "translation": "Mặc dù"
        },
        {
          "key": "B",
          "text": "since",
          "translation": "kể từ"
        },
        {
          "key": "C",
          "text": "providing",
          "translation": "cung cấp"
        },
        {
          "key": "D",
          "text": "therefore",
          "translation": "Vì vậy"
        }
      ],
      "answer_translation": "kể từ",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “kể từ” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q41",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 41,
      "answer": "C",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Coastal and island habitats face the combined threats of warming oceans and rising sea (41) _____.",
      "question_translation": "Môi trường sống trên bờ biển và đảo đối mặt với mối đe dọa tổng hợp của đại dương nóng lên (41) ___ .",
      "options": [
        {
          "key": "A",
          "text": "heights",
          "translation": "Cao"
        },
        {
          "key": "B",
          "text": "altitudes",
          "translation": "Độ cao"
        },
        {
          "key": "C",
          "text": "levels",
          "translation": "cấp"
        },
        {
          "key": "D",
          "text": "tides",
          "translation": "Thủy triều"
        }
      ],
      "answer_translation": "cấp",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “cấp” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q42",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 42,
      "answer": "B",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "As habitats change, many animals will come (42) _____ intense pressure to find more suitable homes for themselves.",
      "question_translation": "Khi môi trường sống thay đổi, nhiều động vật sẽ đến (42) ___ Áp lực mạnh mẽ để tìm những ngôi nhà thích hợp cho mình.",
      "options": [
        {
          "key": "A",
          "text": "from",
          "translation": "từ"
        },
        {
          "key": "B",
          "text": "under",
          "translation": "dưới"
        },
        {
          "key": "C",
          "text": "across",
          "translation": "trên"
        },
        {
          "key": "D",
          "text": "by",
          "translation": "by"
        }
      ],
      "answer_translation": "dưới",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “dưới” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q43",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 43,
      "answer": "A",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Such dire predictions (43) _____ sound alarming, but they are based on a rather moderate estimate.",
      "question_translation": "Những dự đoán khủng khiếp như thế (43) ___ Nghe có vẻ đáng lo ngại, nhưng chúng dựa trên một ước lượng khá vừa phải.",
      "options": [
        {
          "key": "A",
          "text": "may",
          "translation": "có thể"
        },
        {
          "key": "B",
          "text": "must",
          "translation": "Phải"
        },
        {
          "key": "C",
          "text": "can",
          "translation": "có thể"
        },
        {
          "key": "D",
          "text": "ought to",
          "translation": "nên"
        }
      ],
      "answer_translation": "có thể",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “có thể” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q44",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 44,
      "answer": "C",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "They are based on the rather moderate estimate (44) _____ the amount of carbon dioxide in the atmosphere will double by 2100.",
      "question_translation": "Chúng dựa trên ước lượng đúng đắn (44) ___ lượng CO2 trong khí quyển sẽ tăng gấp đôi lên 2100.",
      "options": [
        {
          "key": "A",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "B",
          "text": "what",
          "translation": "Sao?"
        },
        {
          "key": "C",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "D",
          "text": "why",
          "translation": "Tại sao"
        }
      ],
      "answer_translation": "đó",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “đó” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-CLOZE-Q45",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Điền từ",
      "question": 45,
      "answer": "D",
      "reason": "indirect question how severe the problem is, one-third, in turn, animal species, since, sea levels, under pressure, may, estimate that, realistic.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Many scientists believe that this figure is actually very conservative, and they claim that a tripling is far more (45) _____.",
      "question_translation": "Nhiều nhà khoa học tin rằng con số này thực sự rất bảo thủ, và họ khẳng định rằng một con chim non là nhiều hơn (45) ___ .",
      "options": [
        {
          "key": "A",
          "text": "truthful",
          "translation": "Chân thật"
        },
        {
          "key": "B",
          "text": "proper",
          "translation": "chuẩn"
        },
        {
          "key": "C",
          "text": "exact",
          "translation": "chính xác"
        },
        {
          "key": "D",
          "text": "realistic",
          "translation": "thực tế"
        }
      ],
      "answer_translation": "thực tế",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “thực tế” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT06-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT06-ST-Q46",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "It was such a funny film that I burst out laughing.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "The film was so funny that I burst out laughing.\nIt was such _____.",
      "question_translation": "Bộ phim buồn cười đến nỗi tôi bật cười.\nViết lại câu, bắt đầu bằng: It was such _____.",
      "options": [],
      "answer_translation": "Đó là một bộ phim buồn cười làm tôi bật cười.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-ST-Q47",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "Unless we hurry, we will not catch the train.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "We must hurry or we won't catch the train.\nUnless _____.",
      "question_translation": "Chúng ta phải nhanh lên nếu không sẽ không kịp tàu.\nViết lại câu, bắt đầu bằng: Unless _____.",
      "options": [],
      "answer_translation": "Trừ khi chúng ta nhanh lên, chúng ta sẽ không bắt kịp tàu.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-ST-Q48",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "Peter suggested selling the shares immediately.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Peter advised me to sell the shares immediately.\nPeter suggested _____.",
      "question_translation": "Peter khuyên tôi bán cổ phần ngay lập tức.\nViết lại câu, bắt đầu bằng: Peter suggested _____.",
      "options": [],
      "answer_translation": "Phi - e - rơ đề nghị bán cổ phần ngay lập tức.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-ST-Q49",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "I asked my mother whether she had written a note for Anna.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "— ‘Did you write a note for Anna?’ I asked my mother.\nI asked my mother _____ a note for Anna.",
      "question_translation": "— ‘ Con có viết thư cho Anna không? ’ Tôi đã hỏi mẹ tôi.\nViết lại câu, bắt đầu bằng: I asked my mother _____ a note for Anna.",
      "options": [],
      "answer_translation": "Tôi hỏi mẹ tôi có viết thư cho Anna không.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT06-ST-Q50",
      "page": 39,
      "page_range": [
        35,
        41
      ],
      "kind": "practice-test",
      "unit": "Practice Test 6",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "Roger Federer is the best tennis player I have ever known.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "I have never known a better tennis player than Roger Federer.\nRoger Federer is _____.",
      "question_translation": "Tôi chưa từng biết một tay tennis nào giỏi hơn Roger Federer.\nViết lại câu, bắt đầu bằng: Roger Federer is _____.",
      "options": [],
      "answer_translation": "Roger Feder là cầu thủ tennis giỏi nhất mà tôi từng biết.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q01",
      "page": 41,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 1,
      "answer": "C",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We had to _____ the room because the wallpaper was in terrible condition.",
      "question_translation": "Chúng tôi phải... ___ Căn phòng vì giấy dán tường ở trong tình trạng khủng khiếp.",
      "options": [
        {
          "key": "A",
          "text": "renovate",
          "translation": "Sửa"
        },
        {
          "key": "B",
          "text": "renew",
          "translation": "lặp lại"
        },
        {
          "key": "C",
          "text": "decorate",
          "translation": "Trang trí"
        },
        {
          "key": "D",
          "text": "update",
          "translation": "Cập nhật"
        }
      ],
      "answer_translation": "Chúng tôi phải trang trí căn phòng vì giấy dán tường ở trong tình trạng khủng khiếp.",
      "simple_reason": "Thử từ “decorate” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Chúng tôi phải trang trí căn phòng vì giấy dán tường ở trong tình trạng khủng khiếp”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q02",
      "page": 41,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 2,
      "answer": "B",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The computer helps you to _____ with other people around the world.",
      "question_translation": "Máy tính giúp bạn ___ với những người khác trên thế giới.",
      "options": [
        {
          "key": "A",
          "text": "persuade",
          "translation": "thuyết phục"
        },
        {
          "key": "B",
          "text": "interact",
          "translation": "Tương tác"
        },
        {
          "key": "C",
          "text": "relax",
          "translation": "Thả lỏng"
        },
        {
          "key": "D",
          "text": "permit",
          "translation": "Cho phép"
        }
      ],
      "answer_translation": "Máy tính giúp bạn tương tác với những người khác trên thế giới.",
      "simple_reason": "Thử từ “interact” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Máy tính giúp bạn tương tác với những người khác trên thế giới”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q03",
      "page": 41,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 3,
      "answer": "D",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I'm not going to take the car to a garage because I think I can _____ it myself.",
      "question_translation": "Tôi sẽ không lái xe đến gara vì tôi nghĩ tôi có thể ___ Chính tôi.",
      "options": [
        {
          "key": "A",
          "text": "replace",
          "translation": "Thay thế"
        },
        {
          "key": "B",
          "text": "relieve",
          "translation": "giảm dần"
        },
        {
          "key": "C",
          "text": "require",
          "translation": "yêu cầu"
        },
        {
          "key": "D",
          "text": "repair",
          "translation": "Sửa"
        }
      ],
      "answer_translation": "Tôi sẽ không đưa xe tới gara vì tôi nghĩ tôi có thể tự sửa nó.",
      "simple_reason": "Thử từ “repair” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tôi sẽ không đưa xe tới gara vì tôi nghĩ tôi có thể tự sửa nó”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q04",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 4,
      "answer": "B",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "He is one of the most _____ bosses I have ever worked with. He behaves rudely to not only me but also others in the staff.",
      "question_translation": "Anh ta là một trong những người giỏi nhất. ___ Ông chủ mà tôi từng làm việc cùng. Anh ta cư xử thô lỗ không chỉ với tôi mà còn với những người khác trong ban quản trị.",
      "options": [
        {
          "key": "A",
          "text": "demanding",
          "translation": "yêu cầu"
        },
        {
          "key": "B",
          "text": "impolite",
          "translation": "Không lịch sự"
        },
        {
          "key": "C",
          "text": "boring",
          "translation": "nhàm chán"
        },
        {
          "key": "D",
          "text": "challenging",
          "translation": "thách thức"
        }
      ],
      "answer_translation": "Anh ta là một trong những ông chủ bất lịch sự nhất mà tôi từng làm việc cùng. Anh ta cư xử thô lỗ không chỉ với tôi mà còn với những người khác trong ban quản trị.",
      "simple_reason": "Thử từ “impolite” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Anh ta là một trong những ông chủ bất lịch sự nhất mà tôi từng làm việc cùng. Anh ta cư xử thô lỗ không chỉ với tôi mà còn với những người khác trong ban quản trị”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q05",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 5,
      "answer": "B",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We may have to use animals for these experiments, but _____ it won't be necessary.",
      "question_translation": "Chúng ta có thể phải sử dụng động vật cho các thí nghiệm này, nhưng ___ Không cần thiết đâu.",
      "options": [
        {
          "key": "A",
          "text": "wishfully",
          "translation": "Ước mơ"
        },
        {
          "key": "B",
          "text": "hopefully",
          "translation": "Hy vọng"
        },
        {
          "key": "C",
          "text": "thoughtfully",
          "translation": "Tư duy"
        },
        {
          "key": "D",
          "text": "willingly",
          "translation": "Tự nguyện"
        }
      ],
      "answer_translation": "Chúng ta có thể phải dùng động vật cho những thí nghiệm này, nhưng hy vọng nó không cần thiết.",
      "simple_reason": "Thử từ “hopefully” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Chúng ta có thể phải dùng động vật cho những thí nghiệm này, nhưng hy vọng nó không cần thiết”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q06",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 6,
      "answer": "D",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Bob had a very bad cold and couldn't stop _____.",
      "question_translation": "Bob bị cảm rất lạnh và không thể dừng lại ___ .",
      "options": [
        {
          "key": "A",
          "text": "yawning",
          "translation": "Nhổ"
        },
        {
          "key": "B",
          "text": "snoring",
          "translation": "ngáy"
        },
        {
          "key": "C",
          "text": "spitting",
          "translation": "khạc nhổ"
        },
        {
          "key": "D",
          "text": "sneezing",
          "translation": "hắt hơi"
        }
      ],
      "answer_translation": "Bob bị cảm rất lạnh và không thể ngừng hắt hơi.",
      "simple_reason": "Thử từ “sneezing” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bob bị cảm rất lạnh và không thể ngừng hắt hơi”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q07",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 7,
      "answer": "D",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Could you be more specific about what is _____ in this particular job?",
      "question_translation": "Bạn có thể cụ thể hơn về những gì là ___ trong công việc đặc biệt này?",
      "options": [
        {
          "key": "A",
          "text": "enclosed",
          "translation": "Bao quanh"
        },
        {
          "key": "B",
          "text": "concentrated",
          "translation": "Tập trung"
        },
        {
          "key": "C",
          "text": "presented",
          "translation": "trình bày"
        },
        {
          "key": "D",
          "text": "involved",
          "translation": "liên quan"
        }
      ],
      "answer_translation": "Bạn có thể nói rõ hơn về những gì liên quan đến công việc đặc biệt này không?",
      "simple_reason": "Thử từ “involved” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bạn có thể nói rõ hơn về những gì liên quan đến công việc đặc biệt này không”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q08",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 8,
      "answer": "D",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Learning to _____ quickly is an important part of training for most competitive sports.",
      "question_translation": "Học ___ Nhanh chóng là một phần quan trọng trong việc huấn luyện các môn thể thao cạnh tranh nhất.",
      "options": [
        {
          "key": "A",
          "text": "reduce",
          "translation": "giảm"
        },
        {
          "key": "B",
          "text": "regain",
          "translation": "lấy lại"
        },
        {
          "key": "C",
          "text": "receive",
          "translation": "Nhận"
        },
        {
          "key": "D",
          "text": "react",
          "translation": "phản ứng"
        }
      ],
      "answer_translation": "Tập phản ứng nhanh là một phần quan trọng trong việc huấn luyện hầu hết các môn thể thao cạnh tranh.",
      "simple_reason": "Thử từ “react” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tập phản ứng nhanh là một phần quan trọng trong việc huấn luyện hầu hết các môn thể thao cạnh tranh”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q09",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 9,
      "answer": "C",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It's difficult to _____ the atmosphere of Paris to someone who hasn't been there.",
      "question_translation": "Rất khó ___ bầu không khí Paris cho người chưa từng ở đó.",
      "options": [
        {
          "key": "A",
          "text": "point out",
          "translation": "Chỉ ra"
        },
        {
          "key": "B",
          "text": "disclose",
          "translation": "Hiển thị"
        },
        {
          "key": "C",
          "text": "convey",
          "translation": "chuyển tiếp"
        },
        {
          "key": "D",
          "text": "indicate",
          "translation": "chỉ ra"
        }
      ],
      "answer_translation": "Thật khó để truyền đạt bầu không khí Paris cho một người chưa từng ở đó.",
      "simple_reason": "Thử từ “convey” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Thật khó để truyền đạt bầu không khí Paris cho một người chưa từng ở đó”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-VOC-Q10",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Từ vựng",
      "question": 10,
      "answer": "C",
      "reason": "decorate a room, interact with, repair, impolite, hopefully, sneezing, involved in, react, convey the atmosphere, create jobs.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The tourist industry has _____ a variety of jobs.",
      "question_translation": "Ngành công nghiệp du lịch ___ rất nhiều việc.",
      "options": [
        {
          "key": "A",
          "text": "invented",
          "translation": "phát minh"
        },
        {
          "key": "B",
          "text": "developed",
          "translation": "đã phát triển"
        },
        {
          "key": "C",
          "text": "created",
          "translation": "tạo"
        },
        {
          "key": "D",
          "text": "discovered",
          "translation": "phát hiện"
        }
      ],
      "answer_translation": "Ngành công nghiệp du lịch đã tạo ra nhiều công việc khác nhau.",
      "simple_reason": "Thử từ “created” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Ngành công nghiệp du lịch đã tạo ra nhiều công việc khác nhau”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-READ-Q11",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "D",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "This text seems to have come from",
      "question_translation": "Có vẻ như đoạn văn này đến từ",
      "options": [
        {
          "key": "A",
          "text": "A detective story.",
          "translation": "Một câu chuyện trinh thám."
        },
        {
          "key": "B",
          "text": "An autobiography.",
          "translation": "Tự truyện."
        },
        {
          "key": "C",
          "text": "A science fiction story.",
          "translation": "Câu chuyện khoa học viễn tưởng."
        },
        {
          "key": "D",
          "text": "A romantic novel.",
          "translation": "Một cuốn tiểu thuyết lãng mạn."
        }
      ],
      "answer_translation": "Một cuốn tiểu thuyết lãng mạn.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Một cuốn tiểu thuyết lãng mạn”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT07-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q12",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "A",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "The protagonist character can best be described as",
      "question_translation": "Nhân vật chính có thể được miêu tả là",
      "options": [
        {
          "key": "A",
          "text": "Not very confident.",
          "translation": "Không tự tin lắm."
        },
        {
          "key": "B",
          "text": "Rather angry and irritable.",
          "translation": "Hơi giận dữ và cáu kỉnh."
        },
        {
          "key": "C",
          "text": "A little bit slow and stupid",
          "translation": "Một chút chậm rãi và ngu ngốc"
        },
        {
          "key": "D",
          "text": "Very sad.",
          "translation": "Rất buồn."
        }
      ],
      "answer_translation": "Không tự tin lắm.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Không tự tin lắm”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q13",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "B",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Which of these statements is true about the character?",
      "question_translation": "Câu nào đúng về nhân vật?",
      "options": [
        {
          "key": "A",
          "text": "He is going to see his mother.",
          "translation": "Nó sẽ gặp mẹ nó."
        },
        {
          "key": "B",
          "text": "He doesn't know the person he is going to see very well.",
          "translation": "Anh ta không biết rõ người mình sẽ gặp."
        },
        {
          "key": "C",
          "text": "He has lost her address.",
          "translation": "Hắn đã mất địa chỉ của cô ấy."
        },
        {
          "key": "D",
          "text": "He decided to buy her roses, but could not find any.",
          "translation": "Ông quyết định mua hoa hồng của cô, nhưng không thể tìm thấy bất kỳ."
        }
      ],
      "answer_translation": "Anh ta không biết rõ người mình sẽ gặp.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Anh ta không biết rõ người mình sẽ gặp”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q14",
      "page": 42,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "C",
      "reason": "",
      "detail": "",
      "label": "Tạm thời",
      "status": "provisional",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "We can tell from the text",
      "question_translation": "Chúng ta có thể nhận ra từ đoạn văn.",
      "options": [
        {
          "key": "A",
          "text": "that it is winter.",
          "translation": "đó là mùa đông."
        },
        {
          "key": "B",
          "text": "that the character has a friend called Mike.",
          "translation": "Nhân vật đó có một người bạn tên Mike."
        },
        {
          "key": "C",
          "text": "that the character does not have much money",
          "translation": "rằng nhân vật không có nhiều tiền"
        },
        {
          "key": "D",
          "text": "that the jacket is very comfortable.",
          "translation": "Cái áo khoác rất thoải mái."
        }
      ],
      "answer_translation": "rằng nhân vật không có nhiều tiền",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “rằng nhân vật không có nhiều tiền”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT07-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q15",
      "page": 43,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "B",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "What would be a good title for the text?",
      "question_translation": "Một tựa đề tốt cho văn bản là gì?",
      "options": [
        {
          "key": "A",
          "text": "Going to see Mrs. Jones.",
          "translation": "Đi gặp bà Jones."
        },
        {
          "key": "B",
          "text": "The first date.",
          "translation": "Cuộc hẹn đầu tiên."
        },
        {
          "key": "C",
          "text": "Mike goes to visit his friend.",
          "translation": "Mike đi thăm bạn anh ta."
        },
        {
          "key": "D",
          "text": "Finding the right gift.",
          "translation": "Tìm một món quà thích hợp."
        }
      ],
      "answer_translation": "Cuộc hẹn đầu tiên.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Cuộc hẹn đầu tiên”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT07-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q16",
      "page": 43,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "A",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer doing in the text?",
      "question_translation": "Tác giả làm gì trong văn bản?",
      "options": [
        {
          "key": "A",
          "text": "Describing the part he played in a science project.",
          "translation": "Mô tả vai trò của ông trong một dự án khoa học."
        },
        {
          "key": "B",
          "text": "Explaining how to apply for a place on a science trip.",
          "translation": "Giải thích cách ứng dụng cho một nơi trong một chuyến đi khoa học."
        },
        {
          "key": "C",
          "text": "Giving advice on understanding difficult area of science.",
          "translation": "Cho lời khuyên về lĩnh vực khoa học khó hiểu."
        },
        {
          "key": "D",
          "text": "Persuading others to organise their own science projects.",
          "translation": "Thuyết phục người khác tổ chức những dự án khoa học riêng."
        }
      ],
      "answer_translation": "Mô tả vai trò của ông trong một dự án khoa học.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Mô tả vai trò của ông trong một dự án khoa học”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q17",
      "page": 43,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "D",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "What does the writer say about the ROV?",
      "question_translation": "Nhà văn nói gì về ROV?",
      "options": [
        {
          "key": "A",
          "text": "It was difficult to operate.",
          "translation": "Rất khó để giải phẫu."
        },
        {
          "key": "B",
          "text": "It could only go so far underwater.",
          "translation": "Nó chỉ có thể đi quá xa dưới nước."
        },
        {
          "key": "C",
          "text": "It was an expensive piece of equipment.",
          "translation": "Đó là một thiết bị đắt tiền."
        },
        {
          "key": "D",
          "text": "It recorded what was happening under water.",
          "translation": "Nó ghi lại những gì xảy ra dưới nước."
        }
      ],
      "answer_translation": "Nó ghi lại những gì xảy ra dưới nước.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Nó ghi lại những gì xảy ra dưới nước”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q18",
      "page": 43,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "D",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "What was the writer's attitude towards diving?",
      "question_translation": "Thái độ của tác giả đối với việc lặn là gì?",
      "options": [
        {
          "key": "A",
          "text": "His main worry was losing sight of the boat.",
          "translation": "Nỗi lo chính của ông ấy là không nhìn thấy chiếc thuyền."
        },
        {
          "key": "B",
          "text": "He enjoyed it less than other parts of the trip.",
          "translation": "Anh thích nó ít hơn những nơi khác trong chuyến đi."
        },
        {
          "key": "C",
          "text": "He was quite disappointed by the variety of the fish.",
          "translation": "Ông khá thất vọng về sự đa dạng của cá."
        },
        {
          "key": "D",
          "text": "His feelings changed once he was in the water.",
          "translation": "Cảm xúc của ông ấy đã thay đổi khi ông ấy ở dưới nước."
        }
      ],
      "answer_translation": "Cảm xúc của ông ấy đã thay đổi khi ông ấy ở dưới nước.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Cảm xúc của ông ấy đã thay đổi khi ông ấy ở dưới nước”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q19",
      "page": 43,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "D",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "What effect has the trip had on the writer?",
      "question_translation": "Chuyến đi này tác động thế nào đến tác giả?",
      "options": [
        {
          "key": "A",
          "text": "It has changed his opinion of science.",
          "translation": "Nó đã thay đổi quan điểm của ông về khoa học."
        },
        {
          "key": "B",
          "text": "It has improved the way he works in a team.",
          "translation": "Nó đã cải thiện cách anh ta làm việc trong một đội."
        },
        {
          "key": "C",
          "text": "It has made him a lot more interested in the sea.",
          "translation": "Nó làm anh ta quan tâm đến biển nhiều hơn."
        },
        {
          "key": "D",
          "text": "It has encouraged him to work towards his goal.",
          "translation": "Điều này khuyến khích anh làm việc để đạt mục tiêu."
        }
      ],
      "answer_translation": "Điều này khuyến khích anh làm việc để đạt mục tiêu.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Điều này khuyến khích anh làm việc để đạt mục tiêu”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT07-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT07-READ-Q20",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "B",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "What might Miguel write in his diary about the trip?",
      "question_translation": "Miguel có thể viết gì trong nhật ký về chuyến đi?",
      "options": [
        {
          "key": "A",
          "text": "It was very interesting working with Dr. Phillips and his team but I wish someone else my age had been on the trip.",
          "translation": "Rất thú vị khi làm việc với bác sĩ Phillips và đội của ông ấy nhưng tôi ước có ai khác bằng tuổi tôi."
        },
        {
          "key": "B",
          "text": "Going to the Flower Gardens was great fun. I now know much more about science but I realise there's still a lot more to learn.",
          "translation": "Đi tới Vườn Hoa rất vui. Bây giờ tôi biết nhiều hơn về khoa học nhưng tôi nhận ra vẫn còn nhiều điều để học."
        },
        {
          "key": "C",
          "text": "The trip was like a holiday and I saw some amazing fish. The only thing I disliked was collecting information about the sea!",
          "translation": "Chuyến đi giống như một kỳ nghỉ và tôi đã thấy những con cá tuyệt vời. Thứ duy nhất tôi không thích là thu thập thông tin về biển!"
        },
        {
          "key": "D",
          "text": "The Flower Gardens is a beautiful place but scientists are worried that pollution levels there will increase!",
          "translation": "Vườn hoa là một nơi xinh đẹp nhưng các nhà khoa học lo lắng rằng mức độ ô nhiễm ở đó sẽ tăng!"
        }
      ],
      "answer_translation": "Đi tới Vườn Hoa rất vui. Bây giờ tôi biết nhiều hơn về khoa học nhưng tôi nhận ra vẫn còn nhiều điều để học.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Đi tới Vườn Hoa rất vui. Bây giờ tôi biết nhiều hơn về khoa học nhưng tôi nhận ra vẫn còn nhiều điều để học”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT07-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT07-GR-Q21",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "C",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "As I passed by her house, I could see people _____ in the front room.",
      "question_translation": "Khi tôi đi ngang qua nhà cô ấy, tôi có thể thấy mọi người ___ trong phòng phía trước.",
      "options": [
        {
          "key": "A",
          "text": "dance",
          "translation": "khiêu vũ"
        },
        {
          "key": "B",
          "text": "to dance",
          "translation": "để khiêu vũ"
        },
        {
          "key": "C",
          "text": "dancing",
          "translation": "khiêu vũ"
        },
        {
          "key": "D",
          "text": "danced",
          "translation": "khiêu vũ"
        }
      ],
      "answer_translation": "Khi đi ngang qua nhà chị, tôi có thể thấy người ta nhảy múa ở phòng ngoài.",
      "simple_reason": "Điền “dancing” rồi đọc lại toàn câu: “Khi đi ngang qua nhà chị, tôi có thể thấy người ta nhảy múa ở phòng ngoài”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q22",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "B",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Are there any buses still running at this hour?” — “_____! I'm afraid.”",
      "question_translation": "— “Có xe buýt nào chạy vào giờ này không? ___ Tôi sợ.",
      "options": [
        {
          "key": "A",
          "text": "All",
          "translation": "Tất cả"
        },
        {
          "key": "B",
          "text": "None",
          "translation": "Không có"
        },
        {
          "key": "C",
          "text": "No one",
          "translation": "Không ai"
        },
        {
          "key": "D",
          "text": "A few",
          "translation": "Một vài"
        }
      ],
      "answer_translation": "— “Có xe buýt nào chạy vào giờ này không? — “Không! Tôi sợ.",
      "simple_reason": "Điền “None” rồi đọc lại toàn câu: “— “Có xe buýt nào chạy vào giờ này không? — “Không! Tôi sợ”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q23",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "D",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I don't want _____ of the two kinds. Please show me _____.",
      "question_translation": "Tôi không muốn ___ hai loại. Làm ơn cho tôi xem. ___ .",
      "options": [
        {
          "key": "A",
          "text": "all/one",
          "translation": "Tất cả/một"
        },
        {
          "key": "B",
          "text": "every/another",
          "translation": "khác"
        },
        {
          "key": "C",
          "text": "neither/another",
          "translation": "khác"
        },
        {
          "key": "D",
          "text": "either/another",
          "translation": "khác"
        }
      ],
      "answer_translation": "Tôi không muốn cả hai loại. Cho tôi xem cái khác đi.",
      "simple_reason": "Điền “either/another” rồi đọc lại toàn câu: “Tôi không muốn cả hai loại. Cho tôi xem cái khác đi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q24",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "D",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "In my apartment there are two rooms, _____ is used as the living-room.",
      "question_translation": "Trong căn hộ của tôi có hai phòng, ___ được dùng làm phòng khách.",
      "options": [
        {
          "key": "A",
          "text": "the larger one",
          "translation": "cái lớn hơn"
        },
        {
          "key": "B",
          "text": "the one large",
          "translation": "cái lớn"
        },
        {
          "key": "C",
          "text": "the largest of which",
          "translation": "lớn nhất trong số đó"
        },
        {
          "key": "D",
          "text": "the larger of which",
          "translation": "lớn hơn trong số đó"
        }
      ],
      "answer_translation": "Trong căn hộ của tôi có hai phòng, lớn hơn được sử dụng như phòng khách.",
      "simple_reason": "Điền “the larger of which” rồi đọc lại toàn câu: “Trong căn hộ của tôi có hai phòng, lớn hơn được sử dụng như phòng khách”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q25",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "D",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "After watching _____ TV, she played _____ violin for an hour.",
      "question_translation": "Sau khi xem ___ cô ấy chơi ___ Đàn vĩ cầm trong một giờ.",
      "options": [
        {
          "key": "A",
          "text": "0 / 0",
          "translation": "không dùng mạo từ / không dùng mạo từ"
        },
        {
          "key": "B",
          "text": "the / the",
          "translation": "dùng “the” / dùng “the”"
        },
        {
          "key": "C",
          "text": "the / 0",
          "translation": "dùng “the” / không dùng mạo từ"
        },
        {
          "key": "D",
          "text": "0 / the",
          "translation": "không dùng mạo từ / dùng “the”"
        }
      ],
      "answer_translation": "Sau khi xem TV, cô ấy chơi vĩ cầm cả tiếng đồng hồ.",
      "simple_reason": "TV nói về hoạt động xem truyền hình nói chung nên không dùng mạo từ; tên nhạc cụ violin dùng với “the”. Vì vậy chọn D: 0 / the.",
      "solution_steps": [
        "Xét riêng từng chỗ trống.",
        "Kiểm tra danh từ đang nói chung hay xác định.",
        "Đọc lại cả câu sau khi điền đủ các vị trí."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q26",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "A",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "By the time David _____ in the car park the supermarket had closed.",
      "question_translation": "Đến thời Đa - vít ___ trong bãi đỗ xe siêu thị đã đóng cửa.",
      "options": [
        {
          "key": "A",
          "text": "arrived",
          "translation": "đến"
        },
        {
          "key": "B",
          "text": "had arrived",
          "translation": "đã đến"
        },
        {
          "key": "C",
          "text": "would have arrived",
          "translation": "Sẽ đến"
        },
        {
          "key": "D",
          "text": "will have arrived",
          "translation": "sẽ đến"
        }
      ],
      "answer_translation": "Khi anh David đến bãi đậu xe thì siêu thị đã đóng cửa.",
      "simple_reason": "Điền “arrived” rồi đọc lại toàn câu: “Khi anh David đến bãi đậu xe thì siêu thị đã đóng cửa”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q27",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "B",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Our teacher said _____ finishes the test early can go home.",
      "question_translation": "Cô giáo nói ___ Kết thúc bài kiểm tra sớm có thể về nhà.",
      "options": [
        {
          "key": "A",
          "text": "who",
          "translation": "Ai"
        },
        {
          "key": "B",
          "text": "whoever",
          "translation": "bất kỳ ai"
        },
        {
          "key": "C",
          "text": "whom",
          "translation": "Ai"
        },
        {
          "key": "D",
          "text": "whomever",
          "translation": "ai cũng được"
        }
      ],
      "answer_translation": "Giáo viên của chúng tôi nói ai hoàn thành bài kiểm tra sẽ được về nhà sớm.",
      "simple_reason": "Điền “whoever” rồi đọc lại toàn câu: “Giáo viên của chúng tôi nói ai hoàn thành bài kiểm tra sẽ được về nhà sớm”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q28",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "A",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I noticed with interest that when I was told to drink alcohol I was reluctant to do so — and _____.",
      "question_translation": "Tôi chú ý rằng khi người ta bảo tôi uống rượu, tôi ngần ngại làm thế — và ___ .",
      "options": [
        {
          "key": "A",
          "text": "so were the others",
          "translation": "Những người khác cũng vậy."
        },
        {
          "key": "B",
          "text": "so the others were",
          "translation": "Vậy những người khác"
        },
        {
          "key": "C",
          "text": "the others were so",
          "translation": "Những người khác cũng vậy."
        },
        {
          "key": "D",
          "text": "were so the others",
          "translation": "cũng như những người khác"
        }
      ],
      "answer_translation": "Tôi chú ý rằng khi người ta bảo tôi uống rượu tôi không muốn uống, và những người khác cũng vậy.",
      "simple_reason": "Điền “so were the others” rồi đọc lại toàn câu: “Tôi chú ý rằng khi người ta bảo tôi uống rượu tôi không muốn uống, và những người khác cũng vậy”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q29",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "A",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Doctors say _____ smokes the longer one is likely to live.",
      "question_translation": "Bác sĩ nói ___ hút thuốc lâu hơn rất có thể sẽ sống.",
      "options": [
        {
          "key": "A",
          "text": "the less one",
          "translation": "cái nhỏ hơn"
        },
        {
          "key": "B",
          "text": "the less ones",
          "translation": "cái nhỏ hơn"
        },
        {
          "key": "C",
          "text": "the fewer one",
          "translation": "Càng ít càng tốt"
        },
        {
          "key": "D",
          "text": "the fewer ones",
          "translation": "Càng ít càng tốt"
        }
      ],
      "answer_translation": "Các bác sĩ cho rằng người ít hút thuốc sẽ sống lâu hơn.",
      "simple_reason": "Điền “the less one” rồi đọc lại toàn câu: “Các bác sĩ cho rằng người ít hút thuốc sẽ sống lâu hơn”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q30",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "A",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Being a keen tennis player, he decided to investigate _____.",
      "question_translation": "Là một cầu thủ tennis nhiệt tình, anh quyết định điều tra ___ .",
      "options": [
        {
          "key": "A",
          "text": "further",
          "translation": "xa hơn"
        },
        {
          "key": "B",
          "text": "far more",
          "translation": "xa hơn nữa"
        },
        {
          "key": "C",
          "text": "farther",
          "translation": "xa hơn"
        },
        {
          "key": "D",
          "text": "furthermore",
          "translation": "thêm"
        }
      ],
      "answer_translation": "Là một cầu thủ tennis nhiệt tình, anh quyết định điều tra thêm.",
      "simple_reason": "Điền “further” rồi đọc lại toàn câu: “Là một cầu thủ tennis nhiệt tình, anh quyết định điều tra thêm”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q31",
      "page": 44,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "B",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "There was a long queue at the custom desk; everyone _____.",
      "question_translation": "Có một hàng dài xếp hàng tại bàn tự chọn; tất cả mọi người ___ .",
      "options": [
        {
          "key": "A",
          "text": "was searched",
          "translation": "bị tìm kiếm"
        },
        {
          "key": "B",
          "text": "was being searched",
          "translation": "đang được tìm kiếm"
        },
        {
          "key": "C",
          "text": "had been searched",
          "translation": "đã được tìm kiếm"
        },
        {
          "key": "D",
          "text": "had been being searched",
          "translation": "đã được tìm kiếm"
        }
      ],
      "answer_translation": "Có một hàng dài xếp hàng tại bàn làm việc tùy chỉnh; tất cả mọi người đang được tìm kiếm.",
      "simple_reason": "Điền “was being searched” rồi đọc lại toàn câu: “Có một hàng dài xếp hàng tại bàn làm việc tùy chỉnh; tất cả mọi người đang được tìm kiếm”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q32",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "A",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Although CDs are wonderful, they cannot create the true atmosphere of a _____ performance.",
      "question_translation": "Mặc dù CD rất tuyệt vời, chúng không thể tạo ra bầu không khí thực sự của a ___ diễn.",
      "options": [
        {
          "key": "A",
          "text": "live",
          "translation": "sống"
        },
        {
          "key": "B",
          "text": "lively",
          "translation": "Hoạt động"
        },
        {
          "key": "C",
          "text": "living",
          "translation": "Sống"
        },
        {
          "key": "D",
          "text": "alive",
          "translation": "Sống"
        }
      ],
      "answer_translation": "Mặc dù CD rất tuyệt vời, chúng không thể tạo ra bầu không khí thực sự của một màn trình diễn trực tiếp.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “live” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Mặc dù CD rất tuyệt vời, chúng không thể tạo ra bầu không khí thực sự của một màn trình diễn trực tiếp”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn A — live vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q33",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "A",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Mr Fox _____ come. He sent me to represent him.",
      "question_translation": "Ông Fox ___ Lại đây. Hắn cử tôi đến để đại diện cho hắn.",
      "options": [
        {
          "key": "A",
          "text": "couldn't",
          "translation": "không thể"
        },
        {
          "key": "B",
          "text": "mustn't",
          "translation": "Không được"
        },
        {
          "key": "C",
          "text": "couldn't have",
          "translation": "không thể có"
        },
        {
          "key": "D",
          "text": "mustn't have",
          "translation": "Không được"
        }
      ],
      "answer_translation": "Ông Fox không tới được. Hắn cử tôi đến để đại diện cho hắn.",
      "simple_reason": "Điền “couldn't” rồi đọc lại toàn câu: “Ông Fox không tới được. Hắn cử tôi đến để đại diện cho hắn”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q34",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "A",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Mike did not receive any present from _____ on his birthday.",
      "question_translation": "Mike không nhận được món quà nào từ ___ vào ngày sinh nhật.",
      "options": [
        {
          "key": "A",
          "text": "either his brother or sister",
          "translation": "Hoặc là anh hoặc chị của hắn."
        },
        {
          "key": "B",
          "text": "neither his brother nor sister",
          "translation": "Không phải anh em"
        },
        {
          "key": "C",
          "text": "both his brother and sister",
          "translation": "Cả anh và em gái"
        },
        {
          "key": "D",
          "text": "his brother as well as sister",
          "translation": "Anh trai và em gái"
        }
      ],
      "answer_translation": "Anh Mike không nhận được món quà nào vào ngày sinh nhật của anh.",
      "simple_reason": "Điền “either his brother or sister” rồi đọc lại toàn câu: “Anh Mike không nhận được món quà nào vào ngày sinh nhật của anh”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-GR-Q35",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "D",
      "reason": "perception + V-ing, None, either...another, the larger of which, watch TV/play the violin, past simple trước past perfect, whoever, inversion so were, the less one smokes, further, past continuous passive, live performance, couldn't come, either...or, non-defining which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The weather's very cold at this time, _____ is why I don't go out very often.",
      "question_translation": "Thời tiết lúc này rất lạnh. ___ Đó là lý do tại sao tôi không thường xuyên ra ngoài.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "it",
          "translation": "nó"
        },
        {
          "key": "C",
          "text": "this",
          "translation": "Cái này"
        },
        {
          "key": "D",
          "text": "which",
          "translation": "mà"
        }
      ],
      "answer_translation": "Thời tiết lúc này rất lạnh, đó là lý do tại sao tôi không thường xuyên đi chơi.",
      "simple_reason": "Điền “which” rồi đọc lại toàn câu: “Thời tiết lúc này rất lạnh, đó là lý do tại sao tôi không thường xuyên đi chơi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-CLOZE-Q36",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 36,
      "answer": "B",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "having",
          "translation": "có"
        },
        {
          "key": "B",
          "text": "being",
          "translation": "đang"
        },
        {
          "key": "C",
          "text": "taking",
          "translation": "lấy"
        },
        {
          "key": "D",
          "text": "putting",
          "translation": "đặt"
        }
      ],
      "answer_translation": "đang",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “đang” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q37",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 37,
      "answer": "A",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "someone",
          "translation": "ai đó"
        },
        {
          "key": "B",
          "text": "anyone",
          "translation": "bất cứ ai"
        },
        {
          "key": "C",
          "text": "everyone",
          "translation": "mọi người"
        },
        {
          "key": "D",
          "text": "no one",
          "translation": "Không ai"
        }
      ],
      "answer_translation": "ai đó",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “ai đó” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q38",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 38,
      "answer": "D",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "at",
          "translation": "vào"
        },
        {
          "key": "B",
          "text": "on",
          "translation": "trên"
        },
        {
          "key": "C",
          "text": "for",
          "translation": "Vì"
        },
        {
          "key": "D",
          "text": "from",
          "translation": "từ"
        }
      ],
      "answer_translation": "từ",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “từ” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q39",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 39,
      "answer": "C",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (39) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "ought to",
          "translation": "nên"
        },
        {
          "key": "B",
          "text": "must",
          "translation": "Phải"
        },
        {
          "key": "C",
          "text": "can",
          "translation": "có thể"
        },
        {
          "key": "D",
          "text": "has to",
          "translation": "phải"
        }
      ],
      "answer_translation": "có thể",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “có thể” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q40",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 40,
      "answer": "B",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "being",
          "translation": "đang"
        },
        {
          "key": "B",
          "text": "staying",
          "translation": "Ở lại"
        },
        {
          "key": "C",
          "text": "leaving",
          "translation": "để lại"
        },
        {
          "key": "D",
          "text": "spending",
          "translation": "chi tiêu"
        }
      ],
      "answer_translation": "Ở lại",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Ở lại” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q41",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 41,
      "answer": "A",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "wins",
          "translation": "thắng"
        },
        {
          "key": "B",
          "text": "gains",
          "translation": "Kết quả"
        },
        {
          "key": "C",
          "text": "beats",
          "translation": "nhịp"
        },
        {
          "key": "D",
          "text": "passes",
          "translation": "qua"
        }
      ],
      "answer_translation": "thắng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “thắng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q42",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 42,
      "answer": "D",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "no",
          "translation": "không"
        },
        {
          "key": "B",
          "text": "neither",
          "translation": "cũng không"
        },
        {
          "key": "C",
          "text": "none",
          "translation": "không có"
        },
        {
          "key": "D",
          "text": "not",
          "translation": "không phải"
        }
      ],
      "answer_translation": "không phải",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “không phải” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q43",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 43,
      "answer": "D",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "turns",
          "translation": "Quay"
        },
        {
          "key": "B",
          "text": "sounds",
          "translation": "âm thanh"
        },
        {
          "key": "C",
          "text": "remains",
          "translation": "còn lại"
        },
        {
          "key": "D",
          "text": "becomes",
          "translation": "trở thành"
        }
      ],
      "answer_translation": "trở thành",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “trở thành” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q44",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 44,
      "answer": "C",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "up",
          "translation": "lên"
        },
        {
          "key": "B",
          "text": "to",
          "translation": "phải"
        },
        {
          "key": "C",
          "text": "for",
          "translation": "Vì"
        },
        {
          "key": "D",
          "text": "beside",
          "translation": "bên cạnh"
        }
      ],
      "answer_translation": "Vì",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “Vì” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-CLOZE-Q45",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Điền từ",
      "question": 45,
      "answer": "D",
      "reason": "being in a team, someone, away from home, can involve, staying on, wins, not only, becomes, play for, the school.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "school",
          "translation": "trường"
        },
        {
          "key": "B",
          "text": "one school",
          "translation": "một trường học"
        },
        {
          "key": "C",
          "text": "a school",
          "translation": "một trường học"
        },
        {
          "key": "D",
          "text": "the school",
          "translation": "trường học"
        }
      ],
      "answer_translation": "trường học",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “trường học” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT07-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT07-ST-Q46",
      "page": 45,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "In spite of suffering from amnesia, the man could speak several languages.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Although the man suffered from amnesia, he could speak several languages.\nIn spite of _____.",
      "question_translation": "Dù bị mất trí nhớ, ông vẫn có thể nói nhiều thứ tiếng.\nViết lại câu, bắt đầu bằng: In spite of _____.",
      "options": [],
      "answer_translation": "Dù bị chứng mất trí nhớ, ông vẫn có thể nói nhiều thứ tiếng.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-ST-Q47",
      "page": 46,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "It took the mechanic two hours to repair my car.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "The mechanic repaired my car in two hours.\nIt took _____.",
      "question_translation": "Thợ máy đã sửa xe cho tôi trong hai tiếng.\nViết lại câu, bắt đầu bằng: It took _____.",
      "options": [],
      "answer_translation": "Phải mất hai tiếng thợ máy mới sửa được xe của tôi.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-ST-Q48",
      "page": 46,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "You play table tennis better than I do.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "I don't play table-tennis as well as you do.\nYou play _____.",
      "question_translation": "Tôi không chơi bóng bàn như anh.\nViết lại câu, bắt đầu bằng: You play _____.",
      "options": [],
      "answer_translation": "Anh chơi tennis giỏi hơn tôi.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-ST-Q49",
      "page": 46,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "It was such an important goal that he could never forget it.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "The goal was so important that he could never forget it.\nIt was such _____.",
      "question_translation": "Mục tiêu quan trọng đến nỗi ông không bao giờ quên được.\nViết lại câu, bắt đầu bằng: It was such _____.",
      "options": [],
      "answer_translation": "Đó là một mục tiêu quan trọng đến nỗi ông không bao giờ quên được.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT07-ST-Q50",
      "page": 46,
      "page_range": [
        41,
        48
      ],
      "kind": "practice-test",
      "unit": "Practice Test 7",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "He suggested that I should give up smoking.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "He advised me to give up smoking.\nHe suggested that _____.",
      "question_translation": "Ông khuyên tôi bỏ thuốc lá.\nViết lại câu, bắt đầu bằng: He suggested that _____.",
      "options": [],
      "answer_translation": "Anh đề nghị tôi bỏ thuốc lá.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q01",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 1,
      "answer": "C",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The car's too expensive for me. I can't _____ it.",
      "question_translation": "Chiếc xe quá đắt đối với tôi. Tôi không thể ___ nó.",
      "options": [
        {
          "key": "A",
          "text": "spend",
          "translation": "dùng"
        },
        {
          "key": "B",
          "text": "allow",
          "translation": "Cho phép"
        },
        {
          "key": "C",
          "text": "afford",
          "translation": "đủ khả năng"
        },
        {
          "key": "D",
          "text": "cost",
          "translation": "chi phí"
        }
      ],
      "answer_translation": "Chiếc xe quá đắt đối với tôi. Tôi không đủ khả năng.",
      "simple_reason": "Thử từ “afford” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Chiếc xe quá đắt đối với tôi. Tôi không đủ khả năng”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q02",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 2,
      "answer": "C",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "If a baby bird stays _____ for two or three weeks after leaving the nest, it has a fair chance of becoming an adult.",
      "question_translation": "Nếu chim con ở lại ___ Trong hai hoặc ba tuần sau khi rời tổ, nó có cơ hội trở thành người lớn.",
      "options": [
        {
          "key": "A",
          "text": "living",
          "translation": "Sống"
        },
        {
          "key": "B",
          "text": "lively",
          "translation": "Hoạt động"
        },
        {
          "key": "C",
          "text": "alive",
          "translation": "Sống"
        },
        {
          "key": "D",
          "text": "live",
          "translation": "sống"
        }
      ],
      "answer_translation": "Nếu một con chim non sống được hai hoặc ba tuần sau khi rời tổ, nó có cơ hội trở thành người lớn.",
      "simple_reason": "Thử từ “alive” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Nếu một con chim non sống được hai hoặc ba tuần sau khi rời tổ, nó có cơ hội trở thành người lớn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q03",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 3,
      "answer": "A",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "His heart _____ so fast that he could hardly breathe.",
      "question_translation": "Trái tim ___ Nhanh đến nỗi khó thở.",
      "options": [
        {
          "key": "A",
          "text": "beat",
          "translation": "đánh bại"
        },
        {
          "key": "B",
          "text": "hit",
          "translation": "hit"
        },
        {
          "key": "C",
          "text": "knocked",
          "translation": "gõ"
        },
        {
          "key": "D",
          "text": "struck",
          "translation": "Trúng"
        }
      ],
      "answer_translation": "Tim anh đập nhanh đến nỗi khó thở.",
      "simple_reason": "Thử từ “beat” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tim anh đập nhanh đến nỗi khó thở”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q04",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 4,
      "answer": "A",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "While some bacteria are beneficial, others are _____.",
      "question_translation": "Trong khi một số vi khuẩn có lợi, một số khác thì ___ .",
      "options": [
        {
          "key": "A",
          "text": "harmful",
          "translation": "có hại"
        },
        {
          "key": "B",
          "text": "cruel",
          "translation": "nhẫn tâm"
        },
        {
          "key": "C",
          "text": "vital",
          "translation": "Trọng yếu"
        },
        {
          "key": "D",
          "text": "painful",
          "translation": "Đau đớn"
        }
      ],
      "answer_translation": "Trong khi một số vi khuẩn có lợi, một số khác lại có hại.",
      "simple_reason": "Thử từ “harmful” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Trong khi một số vi khuẩn có lợi, một số khác lại có hại”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q05",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 5,
      "answer": "D",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Some people believe that it is possible to _____ someone's character by measuring the shape of their head.",
      "question_translation": "Một số người tin rằng ___ tính cách của ai đó bằng cách đo hình dạng đầu của họ.",
      "options": [
        {
          "key": "A",
          "text": "build",
          "translation": "Xây dựng"
        },
        {
          "key": "B",
          "text": "form",
          "translation": "mẫu"
        },
        {
          "key": "C",
          "text": "trust",
          "translation": "tin tưởng"
        },
        {
          "key": "D",
          "text": "judge",
          "translation": "thẩm phán"
        }
      ],
      "answer_translation": "Một số người tin rằng có thể đánh giá tính cách của ai đó bằng cách đo hình dạng cái đầu của họ.",
      "simple_reason": "Thử từ “judge” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Một số người tin rằng có thể đánh giá tính cách của ai đó bằng cách đo hình dạng cái đầu của họ”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q06",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 6,
      "answer": "C",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The writer changed the movie's _____ five times.",
      "question_translation": "Nhà văn đã đổi phim ___ 5 lần.",
      "options": [
        {
          "key": "A",
          "text": "article",
          "translation": "bài"
        },
        {
          "key": "B",
          "text": "material",
          "translation": "vải"
        },
        {
          "key": "C",
          "text": "script",
          "translation": "văn lệnh"
        },
        {
          "key": "D",
          "text": "novel",
          "translation": "tiểu thuyết"
        }
      ],
      "answer_translation": "Nhà văn đã đổi kịch bản phim 5 lần.",
      "simple_reason": "Thử từ “script” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Nhà văn đã đổi kịch bản phim 5 lần”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q07",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 7,
      "answer": "D",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Despite the film's mixed reviews, the _____ was praised and the movie was a box-office success worldwide.",
      "question_translation": "Mặc dù phim đã được đánh giá lẫn nhau, ___ được khen ngợi và bộ phim là một thành công trong việc đóng hộp trên toàn thế giới.",
      "options": [
        {
          "key": "A",
          "text": "act",
          "translation": "hành động"
        },
        {
          "key": "B",
          "text": "action",
          "translation": "hành động"
        },
        {
          "key": "C",
          "text": "activity",
          "translation": "hoạt động"
        },
        {
          "key": "D",
          "text": "acting",
          "translation": "hành động"
        }
      ],
      "answer_translation": "Bất chấp những bài phê bình lẫn nhau của bộ phim, màn diễn được ca ngợi và bộ phim là một thành công trong việc đóng hộp trên toàn thế giới.",
      "simple_reason": "Thử từ “acting” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bất chấp những bài phê bình lẫn nhau của bộ phim, màn diễn được ca ngợi và bộ phim là một thành công trong việc đóng hộp trên toàn thế giới”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q08",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 8,
      "answer": "D",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "She _____ her husband's job for his ill health.",
      "question_translation": "Cô ấy ___ Công việc của chồng cô ấy cho sức khỏe của anh ta.",
      "options": [
        {
          "key": "A",
          "text": "accused",
          "translation": "bị buộc tội"
        },
        {
          "key": "B",
          "text": "claimed",
          "translation": "xác nhận"
        },
        {
          "key": "C",
          "text": "caused",
          "translation": "đã tạo"
        },
        {
          "key": "D",
          "text": "blamed",
          "translation": "Lỗi"
        }
      ],
      "answer_translation": "Cô ta đổ lỗi cho công việc của chồng vì sức khỏe của anh ta.",
      "simple_reason": "Thử từ “blamed” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Cô ta đổ lỗi cho công việc của chồng vì sức khỏe của anh ta”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q09",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 9,
      "answer": "C",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "She is so upset at her husband's death that I don't think she will ever _____ from the shock.",
      "question_translation": "Cô ấy rất tức giận trước cái chết của chồng đến nỗi tôi không nghĩ cô ấy sẽ bao giờ ___ từ cú sốc.",
      "options": [
        {
          "key": "A",
          "text": "renew",
          "translation": "lặp lại"
        },
        {
          "key": "B",
          "text": "regain",
          "translation": "lấy lại"
        },
        {
          "key": "C",
          "text": "recover",
          "translation": "phục hồi"
        },
        {
          "key": "D",
          "text": "refresh",
          "translation": "Cập nhật"
        }
      ],
      "answer_translation": "Cô ấy rất buồn vì cái chết của chồng đến nỗi tôi không nghĩ cô ấy sẽ hồi phục sau cú sốc.",
      "simple_reason": "Thử từ “recover” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Cô ấy rất buồn vì cái chết của chồng đến nỗi tôi không nghĩ cô ấy sẽ hồi phục sau cú sốc”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-VOC-Q10",
      "page": 48,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Từ vựng",
      "question": 10,
      "answer": "D",
      "reason": "afford, stay alive, heart beat, harmful, judge, movie script, acting, blame...for, recover from, curious.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ people always want to learn more about the history of the places they visit.",
      "question_translation": " ___ Mọi người luôn muốn biết thêm về lịch sử những nơi họ đến.",
      "options": [
        {
          "key": "A",
          "text": "Nervous",
          "translation": "Lo lắng"
        },
        {
          "key": "B",
          "text": "Anxious",
          "translation": "Lo lắng"
        },
        {
          "key": "C",
          "text": "Elegant",
          "translation": "lịch sự"
        },
        {
          "key": "D",
          "text": "Curious",
          "translation": "Lạ thật"
        }
      ],
      "answer_translation": "Những người tò mò luôn muốn biết thêm về lịch sử những nơi họ đến.",
      "simple_reason": "Thử từ “Curious” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Những người tò mò luôn muốn biết thêm về lịch sử những nơi họ đến”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-READ-Q11",
      "page": 49,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "D",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer doing in this text?",
      "question_translation": "Người viết văn bản này làm gì?",
      "options": [
        {
          "key": "A",
          "text": "Giving information about how colours influence us.",
          "translation": "Cung cấp thông tin về cách màu sắc ảnh hưởng đến chúng ta."
        },
        {
          "key": "B",
          "text": "Reporting what happens in a new television series.",
          "translation": "Báo cáo những gì xảy ra trong một loạt phim truyền hình mới."
        },
        {
          "key": "C",
          "text": "Giving information about a television presenter.",
          "translation": "Cung cấp thông tin về một diễn giả truyền hình."
        },
        {
          "key": "D",
          "text": "Giving his opinion of a recent television show.",
          "translation": "Đưa ra ý kiến về một chương trình truyền hình gần đây."
        }
      ],
      "answer_translation": "Đưa ra ý kiến về một chương trình truyền hình gần đây.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Đưa ra ý kiến về một chương trình truyền hình gần đây”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q12",
      "page": 49,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "B",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following shows the probable content of the four shows?",
      "question_translation": "Trong những câu sau đây, câu nào cho thấy nội dung của bốn chương trình?",
      "options": [
        {
          "key": "A",
          "text": "Part 1 - Health; Part 2 - Products and Industry; Part 3 - Emotions; Part 4 - Decisions.",
          "translation": "Phần 1 - sức khỏe; phần 2 - sản xuất và kỹ sư; phần 3 - cảm xúc; phần 4 - quyết định."
        },
        {
          "key": "B",
          "text": "Part 1 - Blue and Black; Part 2 - Red and Orange; Part 3 - White and Grey; Part 4 - Green and Yellow.",
          "translation": "Phần 1 - Blue và Black; Phần 2 - Đỏ và Cam; Phần 3 - Trắng và Xám; Phần 4 - Xanh và Vàng."
        },
        {
          "key": "C",
          "text": "Part 1 - Meeting Designers; Part 2 - Meeting People who Name Colours; Part 3 - Meeting Doctors; Part 4 - Meeting Scientists.",
          "translation": "Phần 1 - Người thiết kế các buổi nhóm họp; phần 2 - Buổi nhóm họp với tên màu sắc; phần 3 - bác sĩ; phần 4 - nhà khoa học."
        },
        {
          "key": "D",
          "text": "Part 1 - Cleaning Products; Part 2 - Make-up; Part 3 - Clothes; Part 4 - Food.",
          "translation": "Phần 1 - Sản phẩm làm sạch; phần 2 - Trang điểm; phần 3 - Clothes; phần 4 - Đồ ăn."
        }
      ],
      "answer_translation": "Phần 1 - Blue và Black; Phần 2 - Đỏ và Cam; Phần 3 - Trắng và Xám; Phần 4 - Xanh và Vàng.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Phần 1 - Blue và Black; Phần 2 - Đỏ và Cam; Phần 3 - Trắng và Xám; Phần 4 - Xanh và Vàng”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q13",
      "page": 49,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "D",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "According to Verity, why is a knowledge of colour important?",
      "question_translation": "Theo Verity, tại sao kiến thức về màu sắc lại quan trọng?",
      "options": [
        {
          "key": "A",
          "text": "It can help you to choose the best products.",
          "translation": "Nó có thể giúp bạn chọn những sản phẩm tốt nhất."
        },
        {
          "key": "B",
          "text": "It can give you new ideas.",
          "translation": "Nó có thể cho bạn những ý tưởng mới."
        },
        {
          "key": "C",
          "text": "It can help you to change people's minds.",
          "translation": "Nó có thể giúp bạn thay đổi suy nghĩ của mọi người."
        },
        {
          "key": "D",
          "text": "It can help you to sell products.",
          "translation": "Nó có thể giúp bạn bán hàng."
        }
      ],
      "answer_translation": "Nó có thể giúp bạn bán hàng.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Nó có thể giúp bạn bán hàng”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT08-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q14",
      "page": 49,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "C",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Who does the writer respect least?",
      "question_translation": "Tác giả ít tôn trọng ai nhất?",
      "options": [
        {
          "key": "A",
          "text": "Verity Allen.",
          "translation": "Verity Allen."
        },
        {
          "key": "B",
          "text": "The people who name lipsticks.",
          "translation": "Những người đặt tên son môi."
        },
        {
          "key": "C",
          "text": "The 'Colour Doctor.'",
          "translation": "Bác sĩ màu."
        },
        {
          "key": "D",
          "text": "The scientists who work with mice.",
          "translation": "Những nhà khoa học làm việc với chuột."
        }
      ],
      "answer_translation": "Bác sĩ màu.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Bác sĩ màu”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q15",
      "page": 49,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "A",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following would make a good title for the text?",
      "question_translation": "Trong những câu sau đây, câu nào sẽ là tựa đề thích hợp cho văn bản?",
      "options": [
        {
          "key": "A",
          "text": "Enjoy it, but don't believe everything.",
          "translation": "Tận hưởng đi, nhưng đừng tin mọi thứ."
        },
        {
          "key": "B",
          "text": "Another great show from Verity Allen! Five Stars!",
          "translation": "Một chương trình tuyệt vời khác từ Verity Allen! 5 sao!"
        },
        {
          "key": "C",
          "text": "Don't miss this if you work in business!",
          "translation": "Đừng bỏ lỡ chuyện này nếu anh làm ăn!"
        },
        {
          "key": "D",
          "text": "Watch this programme! It will make you healthy!",
          "translation": "Xem chương trình này! Nó sẽ giúp anh khỏe lại!"
        }
      ],
      "answer_translation": "Tận hưởng đi, nhưng đừng tin mọi thứ.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Tận hưởng đi, nhưng đừng tin mọi thứ”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT08-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q16",
      "page": 50,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "B",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer's main aim in writing the text?",
      "question_translation": "Mục tiêu chính của tác giả là gì khi viết văn bản?",
      "options": [
        {
          "key": "A",
          "text": "To talk about your family problems.",
          "translation": "Để nói về những vấn đề của gia đình anh."
        },
        {
          "key": "B",
          "text": "To explain the importance of being yourself.",
          "translation": "Để giải thích tầm quan trọng của bản thân."
        },
        {
          "key": "C",
          "text": "To describe how intelligent we are.",
          "translation": "Để mô tả chúng ta thông minh như thế nào."
        },
        {
          "key": "D",
          "text": "To suggest how people can change their way of life.",
          "translation": "Để gợi ý cách người ta có thể thay đổi lối sống."
        }
      ],
      "answer_translation": "Để giải thích tầm quan trọng của bản thân.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Để giải thích tầm quan trọng của bản thân”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q17",
      "page": 50,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "A",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Tạm thời",
      "status": "provisional",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "This essay was most likely written by",
      "question_translation": "Bài luận này rất có thể được viết bởi",
      "options": [
        {
          "key": "A",
          "text": "a young person.",
          "translation": "một người trẻ tuổi."
        },
        {
          "key": "B",
          "text": "a coach.",
          "translation": "một huấn luyện viên."
        },
        {
          "key": "C",
          "text": "a teacher.",
          "translation": "một giáo viên."
        },
        {
          "key": "D",
          "text": "a parent.",
          "translation": "cha mẹ."
        }
      ],
      "answer_translation": "một người trẻ tuổi.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “một người trẻ tuổi”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q18",
      "page": 50,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "D",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does the writer say about our parents?",
      "question_translation": "Tác giả nói gì về cha mẹ chúng ta?",
      "options": [
        {
          "key": "A",
          "text": "They always tell us that we are good enough.",
          "translation": "Họ luôn nói rằng chúng ta đủ tốt."
        },
        {
          "key": "B",
          "text": "They never forget to tell us that we are special.",
          "translation": "Họ không bao giờ quên nói rằng chúng ta đặc biệt."
        },
        {
          "key": "C",
          "text": "They encourage us by saying we are better than other people.",
          "translation": "Họ khuyến khích chúng ta bằng cách nói rằng mình giỏi hơn người khác."
        },
        {
          "key": "D",
          "text": "They may not have been told that they were special when they were growing up.",
          "translation": "Có lẽ họ không được cho biết là khi lớn lên họ đặc biệt."
        }
      ],
      "answer_translation": "Có lẽ họ không được cho biết là khi lớn lên họ đặc biệt.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Có lẽ họ không được cho biết là khi lớn lên họ đặc biệt”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q19",
      "page": 50,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "A",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The author of this essay believes that",
      "question_translation": "Tác giả của bài luận này tin rằng",
      "options": [
        {
          "key": "A",
          "text": "we are all good enough just the way we are.",
          "translation": "Tất cả chúng ta đều tốt đẹp như bây giờ."
        },
        {
          "key": "B",
          "text": "the richer you are, the better you are.",
          "translation": "Càng giàu càng tốt."
        },
        {
          "key": "C",
          "text": "intelligent people are more special than others.",
          "translation": "Những người thông minh đặc biệt hơn những người khác."
        },
        {
          "key": "D",
          "text": "not everyone can be special.",
          "translation": "Không phải ai cũng có thể đặc biệt."
        }
      ],
      "answer_translation": "Tất cả chúng ta đều tốt đẹp như bây giờ.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Tất cả chúng ta đều tốt đẹp như bây giờ”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT08-READ-Q20",
      "page": 50,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "B",
      "reason": "bài màu sắc là review có dè dặt — thích nhưng không tin mọi tuyên bố; kiến thức màu giúp bán sản phẩm. Bài thứ hai nhấn mạnh sống đúng là mình; Q17 tạm chọn A vì giọng we/us nhìn cha mẹ như thế hệ trước, nhưng tuổi/nghề tác giả không được nêu trực tiếp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "A message from the text is that",
      "question_translation": "Tin nhắn là",
      "options": [
        {
          "key": "A",
          "text": "you should always compare yourself to others to become better.",
          "translation": "bạn nên luôn luôn so sánh bản thân với người khác để trở nên tốt hơn."
        },
        {
          "key": "B",
          "text": "what we look for may be already inside us.",
          "translation": "những gì chúng ta tìm kiếm có thể đã ở bên trong chúng ta."
        },
        {
          "key": "C",
          "text": "to be special one should be very good at many things at the same time.",
          "translation": "là đặc biệt một trong những nên rất tốt trong nhiều điều cùng một lúc."
        },
        {
          "key": "D",
          "text": "you should not listen to what your parents tell you to do.",
          "translation": "Không nên nghe lời cha mẹ."
        }
      ],
      "answer_translation": "những gì chúng ta tìm kiếm có thể đã ở bên trong chúng ta.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “những gì chúng ta tìm kiếm có thể đã ở bên trong chúng ta”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT08-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT08-GR-Q21",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "A",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Upon returning from work, _____.",
      "question_translation": "Khi đi làm về, ___ .",
      "options": [
        {
          "key": "A",
          "text": "John found a letter in the mailbox",
          "translation": "John tìm thấy một lá thư trong hộp thư"
        },
        {
          "key": "B",
          "text": "a letter was found in the mailbox",
          "translation": "Một lá thư được tìm thấy trong hòm thư"
        },
        {
          "key": "C",
          "text": "a letter was in the mailbox",
          "translation": "Có một lá thư trong hộp thư"
        },
        {
          "key": "D",
          "text": "the mailbox had a letter in it",
          "translation": "Hộp thư có một lá thư trong đó"
        }
      ],
      "answer_translation": "Khi đi làm về, anh John thấy một lá thư trong hòm thư.",
      "simple_reason": "Điền “John found a letter in the mailbox” rồi đọc lại toàn câu: “Khi đi làm về, anh John thấy một lá thư trong hòm thư”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q22",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "C",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Must I take a taxi?” — “No, you _____. You can walk from here.”",
      "question_translation": "— “Tôi có nên đi taxi không? ___ Anh có thể đi bộ từ đây.",
      "options": [
        {
          "key": "A",
          "text": "must not",
          "translation": "không được"
        },
        {
          "key": "B",
          "text": "don't need",
          "translation": "Không cần"
        },
        {
          "key": "C",
          "text": "don't have to",
          "translation": "Không cần"
        },
        {
          "key": "D",
          "text": "had better not to",
          "translation": "tốt hơn là không nên"
        }
      ],
      "answer_translation": "— “Tôi có nên đi taxi không? Anh có thể đi bộ từ đây.",
      "simple_reason": "Điền “don't have to” rồi đọc lại toàn câu: “— “Tôi có nên đi taxi không? Anh có thể đi bộ từ đây”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q23",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "C",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "In fact, the twins have been making headlines in regional newspapers since they were born — because one is white and _____ black.",
      "question_translation": "Trên thực tế, cặp song sinh này đã trở thành tiêu đề trên các tờ báo địa phương từ khi mới sinh ra — bởi vì một con màu trắng và ___ đen.",
      "options": [
        {
          "key": "A",
          "text": "another",
          "translation": "khác"
        },
        {
          "key": "B",
          "text": "other",
          "translation": "khác"
        },
        {
          "key": "C",
          "text": "the other",
          "translation": "cái kia"
        },
        {
          "key": "D",
          "text": "the others",
          "translation": "Còn lại"
        }
      ],
      "answer_translation": "Thật vậy, cặp song sinh này đã trở thành tiêu đề trên các tờ báo địa phương từ khi mới sinh ra — vì một con màu trắng và con kia da đen.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “the other” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Thật vậy, cặp song sinh này đã trở thành tiêu đề trên các tờ báo địa phương từ khi mới sinh ra — vì một con màu trắng và con kia da đen”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — the other vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q24",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "A",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Why didn't she punish her child?” — “He promised _____ it again.”",
      "question_translation": "— “Sao bà ấy không trừng phạt con mình? ___ Lại nữa rồi.",
      "options": [
        {
          "key": "A",
          "text": "not to do",
          "translation": "Không được"
        },
        {
          "key": "B",
          "text": "never doing",
          "translation": "Không bao giờ làm"
        },
        {
          "key": "C",
          "text": "that he doesn't do",
          "translation": "Mà anh ta không làm"
        },
        {
          "key": "D",
          "text": "to not do",
          "translation": "không được làm"
        }
      ],
      "answer_translation": "— “Tại sao bà ấy không trừng phạt con mình? ” —“ Ông ấy hứa sẽ không làm thế nữa.",
      "simple_reason": "Điền “not to do” rồi đọc lại toàn câu: “— “Tại sao bà ấy không trừng phạt con mình? ” —“ Ông ấy hứa sẽ không làm thế nữa”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q25",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "B",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ on the radio, I noticed immediately that it was not working properly.",
      "question_translation": " ___ Trên radio, tôi nhận thấy ngay rằng nó không hoạt động đúng cách.",
      "options": [
        {
          "key": "A",
          "text": "To turn",
          "translation": "Để biến"
        },
        {
          "key": "B",
          "text": "Turning",
          "translation": "Quay"
        },
        {
          "key": "C",
          "text": "Turn",
          "translation": "Quay"
        },
        {
          "key": "D",
          "text": "Having turned",
          "translation": "Đã biến đổi"
        }
      ],
      "answer_translation": "Mở radio lên, tôi nhận thấy nó không hoạt động.",
      "simple_reason": "Điền “Turning” rồi đọc lại toàn câu: “Mở radio lên, tôi nhận thấy nó không hoạt động”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q26",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "C",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "A bridge must be strong enough to support its own weight as well as the weight of the people and vehicles _____ use it.",
      "question_translation": "Một cây cầu phải đủ mạnh để có đủ sức nặng cũng như trọng lượng của con người và xe cộ ___ Dùng đi.",
      "options": [
        {
          "key": "A",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "B",
          "text": "who",
          "translation": "Ai"
        },
        {
          "key": "C",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "D",
          "text": "when",
          "translation": "khi"
        }
      ],
      "answer_translation": "Một cây cầu phải đủ mạnh để có đủ sức nặng cũng như trọng lượng của người và phương tiện dùng nó.",
      "simple_reason": "Điền “that” rồi đọc lại toàn câu: “Một cây cầu phải đủ mạnh để có đủ sức nặng cũng như trọng lượng của người và phương tiện dùng nó”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q27",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "B",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The girl you _____ yesterday is waiting for you downstairs.",
      "question_translation": "♪ Cô gái bạn ♪ ___ Hôm qua đang đợi anh dưới lầu.",
      "options": [
        {
          "key": "A",
          "text": "told",
          "translation": "đã bảo"
        },
        {
          "key": "B",
          "text": "told me about",
          "translation": "đã nói với tôi về"
        },
        {
          "key": "C",
          "text": "told me",
          "translation": "nói với tôi"
        },
        {
          "key": "D",
          "text": "told me about her",
          "translation": "Nói cho tôi biết về cô ấy"
        }
      ],
      "answer_translation": "Cô gái mà anh nói với tôi hôm qua đang đợi anh dưới lầu.",
      "simple_reason": "Điền “told me about” rồi đọc lại toàn câu: “Cô gái mà anh nói với tôi hôm qua đang đợi anh dưới lầu”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q28",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "D",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I shall never forget _____ to see the Moscow State Circus.",
      "question_translation": "Tôi sẽ không bao giờ quên ___ để xem rạp xiếc của bang Moscow.",
      "options": [
        {
          "key": "A",
          "text": "to take",
          "translation": "Lấy"
        },
        {
          "key": "B",
          "text": "taking",
          "translation": "lấy"
        },
        {
          "key": "C",
          "text": "to be taken",
          "translation": "sẽ được lấy đi"
        },
        {
          "key": "D",
          "text": "being taken",
          "translation": "bị bắt đi"
        }
      ],
      "answer_translation": "Tôi sẽ không bao giờ quên được đưa tới rạp xiếc của bang Moscow.",
      "simple_reason": "Điền “being taken” rồi đọc lại toàn câu: “Tôi sẽ không bao giờ quên được đưa tới rạp xiếc của bang Moscow”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q29",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "C",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Can you steady this ladder for me?” — “Get down now! The ladder _____.”",
      "question_translation": "— “Anh có thể giữ thang cho tôi không? ” —“ Nằm xuống ngay bây giờ! Cái thang ___ .",
      "options": [
        {
          "key": "A",
          "text": "will collapse",
          "translation": "Sẽ sụp đổ"
        },
        {
          "key": "B",
          "text": "will be collapsed",
          "translation": "Sẽ sụp đổ"
        },
        {
          "key": "C",
          "text": "is going to collapse",
          "translation": "sẽ sụp đổ"
        },
        {
          "key": "D",
          "text": "collapses",
          "translation": "sụp đổ"
        }
      ],
      "answer_translation": "— “Anh có thể giữ thang cho tôi không? ” —“ Nằm xuống ngay bây giờ! Cái thang sắp sập rồi.",
      "simple_reason": "Điền “is going to collapse” rồi đọc lại toàn câu: “— “Anh có thể giữ thang cho tôi không? ” —“ Nằm xuống ngay bây giờ! Cái thang sắp sập rồi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q30",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "A",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We were all _____ when we saw the accident.",
      "question_translation": "Tất cả chúng ta ___ Khi chúng tôi thấy tai nạn.",
      "options": [
        {
          "key": "A",
          "text": "terrified",
          "translation": "Sợ hãi"
        },
        {
          "key": "B",
          "text": "terrible",
          "translation": "khủng khiếp"
        },
        {
          "key": "C",
          "text": "terrific",
          "translation": "Tuyệt vời"
        },
        {
          "key": "D",
          "text": "terrifying",
          "translation": "Đáng sợ"
        }
      ],
      "answer_translation": "Chúng tôi rất sợ khi chứng kiến tai nạn.",
      "simple_reason": "Điền “terrified” rồi đọc lại toàn câu: “Chúng tôi rất sợ khi chứng kiến tai nạn”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q31",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "A",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Give us a call when you _____ to Boston.",
      "question_translation": "Gọi cho chúng tôi khi nào anh đến ___ đến Boston.",
      "options": [
        {
          "key": "A",
          "text": "get",
          "translation": "Lấy"
        },
        {
          "key": "B",
          "text": "will get",
          "translation": "sẽ nhận được"
        },
        {
          "key": "C",
          "text": "are getting",
          "translation": "đang nhận được"
        },
        {
          "key": "D",
          "text": "will be getting",
          "translation": "sẽ nhận được"
        }
      ],
      "answer_translation": "Gọi cho chúng tôi khi anh đến Boston.",
      "simple_reason": "Điền “get” rồi đọc lại toàn câu: “Gọi cho chúng tôi khi anh đến Boston”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q32",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "C",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Of the three of us I seem to have the _____ money.",
      "question_translation": "Trong ba chúng ta, dường như tôi có ___ tiền.",
      "options": [
        {
          "key": "A",
          "text": "little",
          "translation": "nhỏ"
        },
        {
          "key": "B",
          "text": "less",
          "translation": "bớt"
        },
        {
          "key": "C",
          "text": "least",
          "translation": "ít"
        },
        {
          "key": "D",
          "text": "lesser",
          "translation": "nhỏ"
        }
      ],
      "answer_translation": "Trong 3 chúng ta, dường như tôi có ít tiền nhất.",
      "simple_reason": "Điền “least” rồi đọc lại toàn câu: “Trong 3 chúng ta, dường như tôi có ít tiền nhất”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q33",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "A",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The bicycle my father _____ was returned to him last night.",
      "question_translation": "Xe đạp của cha tôi ___ đã được trả lại cho anh ta tối qua.",
      "options": [
        {
          "key": "A",
          "text": "lost",
          "translation": "mất"
        },
        {
          "key": "B",
          "text": "was lost",
          "translation": "bị mất"
        },
        {
          "key": "C",
          "text": "was losing",
          "translation": "đã thua"
        },
        {
          "key": "D",
          "text": "has been lost",
          "translation": "đã mất"
        }
      ],
      "answer_translation": "Chiếc xe đạp bố tôi mất đã được trả lại cho ông tối qua.",
      "simple_reason": "Điền “lost” rồi đọc lại toàn câu: “Chiếc xe đạp bố tôi mất đã được trả lại cho ông tối qua”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q34",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "D",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "He burst into a high-pitched laugh _____ he'd said something funny.",
      "question_translation": "Ông bật vào một tiếng cười cao ___ Hắn nói gì đó buồn cười.",
      "options": [
        {
          "key": "A",
          "text": "though",
          "translation": "Tuy nhiên"
        },
        {
          "key": "B",
          "text": "although",
          "translation": "Mặc dù"
        },
        {
          "key": "C",
          "text": "even though",
          "translation": "Mặc dù"
        },
        {
          "key": "D",
          "text": "as though",
          "translation": "như thể"
        }
      ],
      "answer_translation": "Ông bật lên một tiếng cười cao như thể ông đã nói điều gì đó buồn cười.",
      "simple_reason": "Điền “as though” rồi đọc lại toàn câu: “Ông bật lên một tiếng cười cao như thể ông đã nói điều gì đó buồn cười”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-GR-Q35",
      "page": 51,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "A",
      "reason": "chủ thể đúng sau participial opener, don't have to, the other, promise not to, turning on, relative that, told me about, being taken, be going to, terrified, present simple sau when, least, omitted relative object, as though, stative present perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We're good friends. We _____ each other for a long time.",
      "question_translation": "Chúng ta là bạn tốt. Chúng ta ___ nhau một thời gian dài.",
      "options": [
        {
          "key": "A",
          "text": "have known",
          "translation": "đã biết"
        },
        {
          "key": "B",
          "text": "have been knowing",
          "translation": "♪ Đã biết ♪"
        },
        {
          "key": "C",
          "text": "know",
          "translation": "biết"
        },
        {
          "key": "D",
          "text": "knew",
          "translation": "biết"
        }
      ],
      "answer_translation": "Chúng ta là bạn tốt. Chúng ta đã biết nhau từ lâu rồi.",
      "simple_reason": "Điền “have known” rồi đọc lại toàn câu: “Chúng ta là bạn tốt. Chúng ta đã biết nhau từ lâu rồi”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-CLOZE-Q36",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 36,
      "answer": "B",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "in",
          "translation": "in"
        },
        {
          "key": "B",
          "text": "on",
          "translation": "trên"
        },
        {
          "key": "C",
          "text": "by",
          "translation": "by"
        },
        {
          "key": "D",
          "text": "at",
          "translation": "vào"
        }
      ],
      "answer_translation": "trên",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “trên” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q37",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 37,
      "answer": "D",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "need to",
          "translation": "Cần phải"
        },
        {
          "key": "B",
          "text": "must",
          "translation": "Phải"
        },
        {
          "key": "C",
          "text": "should",
          "translation": "nên"
        },
        {
          "key": "D",
          "text": "may",
          "translation": "có thể"
        }
      ],
      "answer_translation": "có thể",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “có thể” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q38",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 38,
      "answer": "A",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "During",
          "translation": "Trong suốt"
        },
        {
          "key": "B",
          "text": "For",
          "translation": "Vì"
        },
        {
          "key": "C",
          "text": "At",
          "translation": "Vào"
        },
        {
          "key": "D",
          "text": "Since",
          "translation": "Từ khi"
        }
      ],
      "answer_translation": "Trong suốt",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Trong suốt” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q39",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 39,
      "answer": "A",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (39) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "wish",
          "translation": "Ước"
        },
        {
          "key": "B",
          "text": "hope",
          "translation": "Hy vọng"
        },
        {
          "key": "C",
          "text": "greet",
          "translation": "chào mừng"
        },
        {
          "key": "D",
          "text": "welcome",
          "translation": "Chào mừng"
        }
      ],
      "answer_translation": "Ước",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Ước” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q40",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 40,
      "answer": "B",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "require",
          "translation": "yêu cầu"
        },
        {
          "key": "B",
          "text": "celebrate",
          "translation": "Ăn mừng"
        },
        {
          "key": "C",
          "text": "discover",
          "translation": "phát hiện"
        },
        {
          "key": "D",
          "text": "memorise",
          "translation": "Ghi nhớ"
        }
      ],
      "answer_translation": "Ăn mừng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Ăn mừng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q41",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 41,
      "answer": "C",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "adopt",
          "translation": "nhận nuôi"
        },
        {
          "key": "B",
          "text": "receive",
          "translation": "Nhận"
        },
        {
          "key": "C",
          "text": "welcome",
          "translation": "Chào mừng"
        },
        {
          "key": "D",
          "text": "enjoy",
          "translation": "thích"
        }
      ],
      "answer_translation": "Chào mừng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “Chào mừng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q42",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 42,
      "answer": "D",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "by trying",
          "translation": "bằng cách cố gắng"
        },
        {
          "key": "B",
          "text": "for trying",
          "translation": "vì đã cố gắng"
        },
        {
          "key": "C",
          "text": "trying",
          "translation": "Đang thử"
        },
        {
          "key": "D",
          "text": "to try",
          "translation": "để thử"
        }
      ],
      "answer_translation": "để thử",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “để thử” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q43",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 43,
      "answer": "D",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "put",
          "translation": "đặt"
        },
        {
          "key": "B",
          "text": "build",
          "translation": "Xây dựng"
        },
        {
          "key": "C",
          "text": "do",
          "translation": "do"
        },
        {
          "key": "D",
          "text": "make",
          "translation": "làm"
        }
      ],
      "answer_translation": "làm",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “làm” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q44",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 44,
      "answer": "B",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "In",
          "translation": "Vào"
        },
        {
          "key": "B",
          "text": "At",
          "translation": "Vào"
        },
        {
          "key": "C",
          "text": "Since",
          "translation": "Từ khi"
        },
        {
          "key": "D",
          "text": "For",
          "translation": "Vì"
        }
      ],
      "answer_translation": "Vào",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Vào” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-CLOZE-Q45",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Điền từ",
      "question": 45,
      "answer": "A",
      "reason": "on January 1st, may, during, wish, celebrate, welcome, promises to try, make a doll, at midnight, traditions.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "traditions",
          "translation": "truyền thống"
        },
        {
          "key": "B",
          "text": "habits",
          "translation": "Thói quen"
        },
        {
          "key": "C",
          "text": "methods",
          "translation": "phương pháp"
        },
        {
          "key": "D",
          "text": "measures",
          "translation": "biện pháp"
        }
      ],
      "answer_translation": "truyền thống",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “truyền thống” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT08-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT08-ST-Q46",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "They're such easy questions that everyone can answer them.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "The questions are so easy that everyone can answer them.\nThey're such _____.",
      "question_translation": "Các câu hỏi quá dễ để mọi người trả lời.\nViết lại câu, bắt đầu bằng: They're such _____.",
      "options": [],
      "answer_translation": "Đó là những câu hỏi dễ dàng đến nỗi ai cũng có thể trả lời.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-ST-Q47",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "The less time my assistant has, the better he works.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "My assistant works better when he does not have enough time.\nThe less _____.",
      "question_translation": "Trợ lý của tôi làm việc tốt hơn khi anh ta không có đủ thời gian.\nViết lại câu, bắt đầu bằng: The less _____.",
      "options": [],
      "answer_translation": "Càng ít thời gian trợ lý của tôi, anh ta càng làm việc tốt.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-ST-Q48",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "We have been learning English for four years.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "We started learning English 4 years ago.\nWe have _____.",
      "question_translation": "Chúng tôi bắt đầu học tiếng Anh 4 năm trước.\nViết lại câu, bắt đầu bằng: We have _____.",
      "options": [],
      "answer_translation": "Chúng tôi đã học tiếng Anh trong bốn năm.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-ST-Q49",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "Men do not drive as carefully as women do.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Women drive more carefully than men do.\nMen do not _____.",
      "question_translation": "Phụ nữ lái xe cẩn thận hơn đàn ông.\nViết lại câu, bắt đầu bằng: Men do not _____.",
      "options": [],
      "answer_translation": "Đàn ông không lái xe cẩn thận như phụ nữ.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT08-ST-Q50",
      "page": 52,
      "page_range": [
        48,
        54
      ],
      "kind": "practice-test",
      "unit": "Practice Test 8",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "She asked me whether I had studied English for a long time.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "She wanted to know if I had studied English for a long time.\nShe asked me _____.",
      "question_translation": "Mẹ muốn biết tôi đã học tiếng Anh từ lâu chưa.\nViết lại câu, bắt đầu bằng: She asked me _____.",
      "options": [],
      "answer_translation": "Mẹ hỏi tôi có học tiếng Anh từ lâu không.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q01",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 1,
      "answer": "A",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "During the _____, homeowners were forbidden to water their gardens with a hose.",
      "question_translation": "Trong suốt ___ Các chủ sở hữu bị cấm không được dùng ống nước để tưới vườn.",
      "options": [
        {
          "key": "A",
          "text": "drought",
          "translation": "hạn hán"
        },
        {
          "key": "B",
          "text": "drizzle",
          "translation": "Lặt vặt"
        },
        {
          "key": "C",
          "text": "current",
          "translation": "Hiện tại"
        },
        {
          "key": "D",
          "text": "tornado",
          "translation": "Gió xoáy"
        }
      ],
      "answer_translation": "Trong cơn hạn hán, những chủ nhà bị cấm không được dùng vòi nước tưới vườn.",
      "simple_reason": "Thử từ “drought” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Trong cơn hạn hán, những chủ nhà bị cấm không được dùng vòi nước tưới vườn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q02",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 2,
      "answer": "C",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ class allows students to acquire knowledge about living things.",
      "question_translation": " ___ Lớp học cho phép học sinh thâu thập kiến thức về các sinh vật.",
      "options": [
        {
          "key": "A",
          "text": "Geography",
          "translation": "Địa lý"
        },
        {
          "key": "B",
          "text": "Geology",
          "translation": "Địa chất học"
        },
        {
          "key": "C",
          "text": "Biology",
          "translation": "Sinh học"
        },
        {
          "key": "D",
          "text": "History",
          "translation": "Lịch sử"
        }
      ],
      "answer_translation": "Lớp sinh học cho phép sinh viên thu thập kiến thức về sinh vật.",
      "simple_reason": "Thử từ “Biology” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Lớp sinh học cho phép sinh viên thu thập kiến thức về sinh vật”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q03",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 3,
      "answer": "D",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "If we don't leave _____, we'll be late for the movie.",
      "question_translation": "Nếu chúng ta không đi ___ Chúng ta sẽ trễ bộ phim mất.",
      "options": [
        {
          "key": "A",
          "text": "swiftly",
          "translation": "Nhanh lên"
        },
        {
          "key": "B",
          "text": "rapidly",
          "translation": "Nhanh"
        },
        {
          "key": "C",
          "text": "firstly",
          "translation": "Thứ nhất"
        },
        {
          "key": "D",
          "text": "immediately",
          "translation": "Ngay lập tức"
        }
      ],
      "answer_translation": "Nếu chúng ta không đi ngay, chúng ta sẽ trễ bộ phim mất.",
      "simple_reason": "Thử từ “immediately” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Nếu chúng ta không đi ngay, chúng ta sẽ trễ bộ phim mất”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q04",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 4,
      "answer": "A",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "He concocted a bad-tasting drink by _____ milk and apple juice.",
      "question_translation": "Hắn đã pha một ly rượu dở hơi. ___ Sữa và nước táo.",
      "options": [
        {
          "key": "A",
          "text": "mixing",
          "translation": "Pha trộn"
        },
        {
          "key": "B",
          "text": "mingling",
          "translation": "& rối"
        },
        {
          "key": "C",
          "text": "pouring",
          "translation": "đổ"
        },
        {
          "key": "D",
          "text": "merging",
          "translation": "Pha trộn"
        }
      ],
      "answer_translation": "Ông ta pha chế một loại nước uống xấu bằng cách trộn sữa và nước táo.",
      "simple_reason": "Thử từ “mixing” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Ông ta pha chế một loại nước uống xấu bằng cách trộn sữa và nước táo”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q05",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 5,
      "answer": "D",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I was so _____ in today's physics lesson. I didn't understand anything.",
      "question_translation": "Tôi đã như vậy. ___ trong bài học vật lý ngày hôm nay. Tôi không hiểu gì hết.",
      "options": [
        {
          "key": "A",
          "text": "curious",
          "translation": "tò mò"
        },
        {
          "key": "B",
          "text": "troublesome",
          "translation": "Rắc rối"
        },
        {
          "key": "C",
          "text": "attentive",
          "translation": "Chú ý"
        },
        {
          "key": "D",
          "text": "confused",
          "translation": "lẫn lộn"
        }
      ],
      "answer_translation": "Tôi đã rất bối rối trong bài học vật lý ngày hôm nay. Tôi không hiểu gì hết.",
      "simple_reason": "Thử từ “confused” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Tôi đã rất bối rối trong bài học vật lý ngày hôm nay. Tôi không hiểu gì hết”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q06",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 6,
      "answer": "A",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "She was going to _____ for a new job, but in the end she changed her mind.",
      "question_translation": "Cô ấy định... ___ nhưng cuối cùng cô ấy đã đổi ý.",
      "options": [
        {
          "key": "A",
          "text": "apply",
          "translation": "áp dụng"
        },
        {
          "key": "B",
          "text": "approve",
          "translation": "Chấp nhận"
        },
        {
          "key": "C",
          "text": "approach",
          "translation": "Tiếp cận"
        },
        {
          "key": "D",
          "text": "allow",
          "translation": "Cho phép"
        }
      ],
      "answer_translation": "Cô ấy định xin việc, nhưng cuối cùng cô ấy đã đổi ý.",
      "simple_reason": "Thử từ “apply” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Cô ấy định xin việc, nhưng cuối cùng cô ấy đã đổi ý”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q07",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 7,
      "answer": "C",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The new road currently under _____ will solve the traffic problems in the town.",
      "question_translation": "Con đường mới đang ở dưới ___ sẽ giải quyết vấn đề giao thông trong thị trấn.",
      "options": [
        {
          "key": "A",
          "text": "design",
          "translation": "thiết kế"
        },
        {
          "key": "B",
          "text": "progress",
          "translation": "tiến hành"
        },
        {
          "key": "C",
          "text": "construction",
          "translation": "Xây dựng"
        },
        {
          "key": "D",
          "text": "work",
          "translation": "làm việc"
        }
      ],
      "answer_translation": "Con đường mới đang được xây dựng sẽ giải quyết vấn đề giao thông trong thị trấn.",
      "simple_reason": "Thử từ “construction” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Con đường mới đang được xây dựng sẽ giải quyết vấn đề giao thông trong thị trấn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q08",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 8,
      "answer": "C",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The coach treats him so unfairly that it's no _____ that he wants to play for another team.",
      "question_translation": "Huấn luyện viên đối xử không công bằng đến nỗi không ___ Rằng hắn muốn chơi cho một đội khác.",
      "options": [
        {
          "key": "A",
          "text": "matter",
          "translation": "quan trọng"
        },
        {
          "key": "B",
          "text": "trouble",
          "translation": "rắc rối"
        },
        {
          "key": "C",
          "text": "wonder",
          "translation": "tự hỏi"
        },
        {
          "key": "D",
          "text": "problem",
          "translation": "lỗi"
        }
      ],
      "answer_translation": "Huấn luyện viên đối xử không công bằng đến nỗi không có gì ngạc nhiên khi anh ấy muốn chơi cho một đội khác.",
      "simple_reason": "Thử từ “wonder” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Huấn luyện viên đối xử không công bằng đến nỗi không có gì ngạc nhiên khi anh ấy muốn chơi cho một đội khác”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q09",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 9,
      "answer": "B",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Terry has a bad _____ of always arriving late to class.",
      "question_translation": "Terry bị bệnh ___ luôn luôn đến lớp trễ.",
      "options": [
        {
          "key": "A",
          "text": "routine",
          "translation": "Chuẩn"
        },
        {
          "key": "B",
          "text": "habit",
          "translation": "thói quen"
        },
        {
          "key": "C",
          "text": "activity",
          "translation": "hoạt động"
        },
        {
          "key": "D",
          "text": "custom",
          "translation": "Tự chọn"
        }
      ],
      "answer_translation": "Terry có thói quen xấu là luôn đến lớp trễ.",
      "simple_reason": "Thử từ “habit” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Terry có thói quen xấu là luôn đến lớp trễ”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-VOC-Q10",
      "page": 55,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Từ vựng",
      "question": 10,
      "answer": "D",
      "reason": "drought, Biology, leave immediately, mix, confused, apply for, under construction, no wonder, bad habit, look ordinary.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Susan Boyle looks very _____, but she has an amazing voice.",
      "question_translation": "Susan Boyle trông rất... ___ Nhưng cô ấy có giọng rất hay.",
      "options": [
        {
          "key": "A",
          "text": "pretty",
          "translation": "đẹp quá"
        },
        {
          "key": "B",
          "text": "medium",
          "translation": "trung bình"
        },
        {
          "key": "C",
          "text": "common",
          "translation": "phổ biến"
        },
        {
          "key": "D",
          "text": "ordinary",
          "translation": "thường"
        }
      ],
      "answer_translation": "Susan Boyle trông rất bình thường, nhưng giọng cô ấy rất tuyệt.",
      "simple_reason": "Thử từ “ordinary” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Susan Boyle trông rất bình thường, nhưng giọng cô ấy rất tuyệt”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-READ-Q11",
      "page": 56,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "B",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the main purpose of the passage?",
      "question_translation": "Mục đích chính của đoạn này là gì?",
      "options": [
        {
          "key": "A",
          "text": "To explain the benefits of living in cities",
          "translation": "Để giải thích lợi ích của việc sống ở thành phố"
        },
        {
          "key": "B",
          "text": "To highlight problems of cities and offer a possible solution",
          "translation": "Để làm nổi bật vấn đề của thành phố và đưa ra một giải pháp có thể"
        },
        {
          "key": "C",
          "text": "To show what Rio de Janeiro learned from other cities",
          "translation": "Để cho thấy những gì Rio de Janeiro học được từ các thành phố khác"
        },
        {
          "key": "D",
          "text": "To mention why people in cities chose not to vote",
          "translation": "Để nói lý do tại sao người dân trong thành phố chọn không bỏ phiếu"
        }
      ],
      "answer_translation": "Để làm nổi bật vấn đề của thành phố và đưa ra một giải pháp có thể",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Để làm nổi bật vấn đề của thành phố và đưa ra một giải pháp có thể”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q12",
      "page": 56,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "D",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "When new buildings are constructed in cities, _____",
      "question_translation": "Khi những tòa nhà mới được xây dựng trong thành phố, ___ ",
      "options": [
        {
          "key": "A",
          "text": "the citizens have the better chance to make online friends.",
          "translation": "Người dân có cơ hội kết bạn trực tuyến tốt hơn."
        },
        {
          "key": "B",
          "text": "the citizens meet and talk to different people easily.",
          "translation": "công dân gặp gỡ và nói chuyện với những người khác nhau một cách dễ dàng."
        },
        {
          "key": "C",
          "text": "a close and happy community is created.",
          "translation": "Một cộng đồng gần gũi và hạnh phúc được tạo ra."
        },
        {
          "key": "D",
          "text": "many places for the public are destroyed.",
          "translation": "Nhiều nơi cho công chúng bị phá hủy."
        }
      ],
      "answer_translation": "Khi xây cất những tòa nhà mới ở thành phố, nhiều nơi cho công chúng bị phá hủy.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Khi xây cất những tòa nhà mới ở thành phố, nhiều nơi cho công chúng bị phá hủy”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT09-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q13",
      "page": 56,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "A",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Why did Orofino start an organization?",
      "question_translation": "Tại sao Orofino bắt đầu một tổ chức?",
      "options": [
        {
          "key": "A",
          "text": "To help involve Rio citizens in the running of their city",
          "translation": "Để giúp đỡ liên quan đến những công dân Rio đang điều hành thành phố của họ"
        },
        {
          "key": "B",
          "text": "To help Rio citizens understand the importance of voting",
          "translation": "Để giúp công dân Rio hiểu tầm quan trọng của việc bỏ phiếu"
        },
        {
          "key": "C",
          "text": "To help Rio citizens make their own decisions about the future of their city",
          "translation": "Để giúp người dân Rio tự quyết định tương lai của thành phố"
        },
        {
          "key": "D",
          "text": "To help Rio citizens perform better community service",
          "translation": "Để giúp người dân Rio thực hiện dịch vụ cộng đồng tốt hơn"
        }
      ],
      "answer_translation": "Để giúp đỡ liên quan đến những công dân Rio đang điều hành thành phố của họ",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Để giúp đỡ liên quan đến những công dân Rio đang điều hành thành phố của họ”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q14",
      "page": 56,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "A",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The word \"turnouts\" in paragraph 1 is closest in meaning to _____",
      "question_translation": "Từ \"trở lại\" trong đoạn 1 gần nhất có nghĩa là ___ ",
      "options": [
        {
          "key": "A",
          "text": "the numbers of people who go to an event",
          "translation": "Số người đi dự một sự kiện"
        },
        {
          "key": "B",
          "text": "the numbers of people who participate in a project",
          "translation": "số người tham gia vào một dự án"
        },
        {
          "key": "C",
          "text": "the rates at which people leave an organization and are replaced by others",
          "translation": "tỷ lệ người dân rời bỏ một tổ chức và được thay thế bởi những người khác"
        },
        {
          "key": "D",
          "text": "the rates at which people get fired",
          "translation": "tỷ lệ người bị sa thải"
        }
      ],
      "answer_translation": "Từ \"trở lại\" trong đoạn 1 là gần nhất trong ý nghĩa của các số người đi đến một sự kiện",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Từ \"trở lại\" trong đoạn 1 là gần nhất trong ý nghĩa của các số người đi đến một sự kiện”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT09-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q15",
      "page": 56,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "C",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "According to the passage, which of the following is NOT correct?",
      "question_translation": "Theo đoạn văn, đoạn nào sau đây là không đúng?",
      "options": [
        {
          "key": "A",
          "text": "People in Rio de Janeiro are required to vote by law.",
          "translation": "Người dân Rio de Janeiro bị buộc phải bầu theo luật pháp."
        },
        {
          "key": "B",
          "text": "Members of Meu Rio receive news updates via the Internet.",
          "translation": "Thành viên của Meu Rio nhận được tin tức cập nhật qua Internet."
        },
        {
          "key": "C",
          "text": "In cities around the world, election turnouts are increasing.",
          "translation": "Tại các thành phố trên thế giới, số người bầu cử đang gia tăng."
        },
        {
          "key": "D",
          "text": "Meu Rio has more than 200,000 members.",
          "translation": "Meu Rio có hơn 200.000 thành viên."
        }
      ],
      "answer_translation": "Tại các thành phố trên thế giới, số người bầu cử đang gia tăng.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Tại các thành phố trên thế giới, số người bầu cử đang gia tăng”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT09-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q16",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "C",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is NOT a function of a dress with built-in sensors?",
      "question_translation": "KHÔNG là chức năng của một chiếc váy với các cảm biến có sẵn?",
      "options": [
        {
          "key": "A",
          "text": "To keep track of your stress level",
          "translation": "Để theo dõi mức độ căng thẳng của bạn"
        },
        {
          "key": "B",
          "text": "To record your heart rate",
          "translation": "Để ghi lại nhịp tim của bạn"
        },
        {
          "key": "C",
          "text": "To help you feel relaxed",
          "translation": "Để giúp bạn cảm thấy thư giãn"
        },
        {
          "key": "D",
          "text": "To help you know your emotions thanks to the change of the colors",
          "translation": "Để giúp bạn biết cảm xúc của bạn nhờ vào sự thay đổi của các màu sắc"
        }
      ],
      "answer_translation": "Để giúp bạn cảm thấy thư giãn",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Để giúp bạn cảm thấy thư giãn”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q17",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "A",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which sentence would be the best ending for paragraph 2?",
      "question_translation": "Câu nào là kết thúc tốt nhất cho đoạn 2?",
      "options": [
        {
          "key": "A",
          "text": "Other people can tell right away whether it's a good idea to talk to you or not.",
          "translation": "Những người khác có thể nói ngay lập tức rằng nói chuyện với bạn có hay không là một ý hay."
        },
        {
          "key": "B",
          "text": "This could also be an important tool for nurses and caregivers.",
          "translation": "Đây cũng có thể là công cụ quan trọng cho y tá và người chăm sóc."
        },
        {
          "key": "C",
          "text": "They are visible reminders to exercise, take medications, or get a better night's sleep.",
          "translation": "Chúng là những nhắc nhở hiển nhiên để tập thể dục, uống thuốc hoặc ngủ ngon hơn."
        },
        {
          "key": "D",
          "text": "That's why we can communicate with people around us more easily.",
          "translation": "Đó là lý do tại sao chúng ta có thể giao tiếp với những người xung quanh dễ dàng hơn."
        }
      ],
      "answer_translation": "Những người khác có thể nói ngay lập tức rằng nói chuyện với bạn có hay không là một ý hay.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Những người khác có thể nói ngay lập tức rằng nói chuyện với bạn có hay không là một ý hay”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q18",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "D",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "According to the passage, an undershirt with a sensor would be great for _____",
      "question_translation": "Theo đoạn văn, áo lót có cảm biến sẽ rất tốt cho ___ ",
      "options": [
        {
          "key": "A",
          "text": "couples who want to get control of their partners",
          "translation": "Những cặp đôi muốn kiểm soát bạn tình"
        },
        {
          "key": "B",
          "text": "parents who desire to supervise their children's daily routines",
          "translation": "Cha mẹ muốn giám sát sinh hoạt hàng ngày của con cái"
        },
        {
          "key": "C",
          "text": "those who live far from their relatives",
          "translation": "những người sống xa họ hàng"
        },
        {
          "key": "D",
          "text": "those who want to stay in touch with their lovers being far away",
          "translation": "Những người muốn giữ liên lạc với những người yêu của họ ở rất xa"
        }
      ],
      "answer_translation": "Theo đoạn văn, một áo lót với một cảm biến sẽ là tốt cho những ai muốn giữ liên lạc với những người yêu của họ là xa",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Theo đoạn văn, một áo lót với một cảm biến sẽ là tốt cho những ai muốn giữ liên lạc với những người yêu của họ là xa”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT09-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q19",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "B",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following is the best description to an undershirt with a sensor?",
      "question_translation": "Cái nào là mô tả tốt nhất cho áo lót có cảm biến?",
      "options": [
        {
          "key": "A",
          "text": "Flashing lights indicate when you are feeling stressed",
          "translation": "Ánh sáng nhấp nháy cho thấy khi bạn cảm thấy căng thẳng"
        },
        {
          "key": "B",
          "text": "Sends your data to the Internet, and then to your partner",
          "translation": "Gửi dữ liệu của bạn lên Internet, rồi đến đối tác của bạn"
        },
        {
          "key": "C",
          "text": "Sends data to your phone and presents it in the form of a graph",
          "translation": "Gửi dữ liệu đến điện thoại của bạn và trình bày nó dưới dạng một đồ thị"
        },
        {
          "key": "D",
          "text": "Measures our mental state",
          "translation": "Đo lường trạng thái tinh thần của chúng ta"
        }
      ],
      "answer_translation": "Gửi dữ liệu của bạn lên Internet, rồi đến đối tác của bạn",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Gửi dữ liệu của bạn lên Internet, rồi đến đối tác của bạn”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT09-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT09-READ-Q20",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "A",
      "reason": "Meu Rio là giải pháp tăng sự tham gia của công dân; turnout là số người tham dự/bỏ phiếu. Ở bài trang phục cảm xúc, chiếc váy không làm người mặc thư giãn; cảm biến áo lót gửi dữ liệu qua Internet đến vòng cổ của người ở xa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "We need to become aware of emotions since it helps us _____",
      "question_translation": "Chúng ta cần ý thức về cảm xúc vì nó giúp chúng ta ___ ",
      "options": [
        {
          "key": "A",
          "text": "form better relationships with other people",
          "translation": "tạo mối quan hệ tốt hơn với người khác"
        },
        {
          "key": "B",
          "text": "come up with new ideas",
          "translation": "nảy ra ý tưởng mới"
        },
        {
          "key": "C",
          "text": "combine emotion and technology",
          "translation": "Kết hợp cảm xúc và công nghệ"
        },
        {
          "key": "D",
          "text": "reduce stress",
          "translation": "Giảm stress"
        }
      ],
      "answer_translation": "Chúng ta cần ý thức về cảm xúc vì nó giúp chúng ta hình thành mối quan hệ tốt hơn với người khác",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Chúng ta cần ý thức về cảm xúc vì nó giúp chúng ta hình thành mối quan hệ tốt hơn với người khác”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT09-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT09-GR-Q21",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "D",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “I only play baseball because my dad wants me to.” — “If you don't enjoy the game, you _____ do it.”",
      "question_translation": "— “Tôi chỉ chơi bóng chày vì cha tôi muốn tôi chơi. ___ Làm đi.",
      "options": [
        {
          "key": "A",
          "text": "can't",
          "translation": "không thể"
        },
        {
          "key": "B",
          "text": "won't",
          "translation": "sẽ không"
        },
        {
          "key": "C",
          "text": "wouldn't",
          "translation": "sẽ không"
        },
        {
          "key": "D",
          "text": "shouldn't",
          "translation": "không nên"
        }
      ],
      "answer_translation": "— “Con chỉ chơi bóng chày vì bố muốn con chơi.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “shouldn't” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “— “Con chỉ chơi bóng chày vì bố muốn con chơi”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn D — shouldn't vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q22",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "D",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "She didn't run _____ to catch the bus which had just left the bus stop.",
      "question_translation": "Cổ không chạy. ___ để đón chiếc xe buýt vừa rời bến xe buýt.",
      "options": [
        {
          "key": "A",
          "text": "so fast",
          "translation": "Nhanh quá"
        },
        {
          "key": "B",
          "text": "very fast",
          "translation": "Rất nhanh"
        },
        {
          "key": "C",
          "text": "too fast",
          "translation": "Nhanh quá"
        },
        {
          "key": "D",
          "text": "fast enough",
          "translation": "Đủ nhanh"
        }
      ],
      "answer_translation": "Cô ấy không chạy đủ nhanh để đón chiếc xe buýt vừa rời bến xe buýt.",
      "simple_reason": "Điền “fast enough” rồi đọc lại toàn câu: “Cô ấy không chạy đủ nhanh để đón chiếc xe buýt vừa rời bến xe buýt”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q23",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "D",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The vaccine is effective for 1 year, after _____ it loses its potency.",
      "question_translation": "vắc xin hiệu quả trong 1 năm sau ___ nó mất đi tính hiệu quả của nó.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "when",
          "translation": "khi"
        },
        {
          "key": "C",
          "text": "what",
          "translation": "Sao?"
        },
        {
          "key": "D",
          "text": "which",
          "translation": "mà"
        }
      ],
      "answer_translation": "vắc xin có hiệu quả trong 1 năm, sau đó nó sẽ mất hiệu quả.",
      "simple_reason": "Điền “which” rồi đọc lại toàn câu: “vắc xin có hiệu quả trong 1 năm, sau đó nó sẽ mất hiệu quả”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q24",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "C",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “I'm not interested in doing the tour.” — “_____.”",
      "question_translation": "- Tôi không hứng thú với chuyến đi. ___ .",
      "options": [
        {
          "key": "A",
          "text": "Neither did I",
          "translation": "Tôi cũng vậy."
        },
        {
          "key": "B",
          "text": "So do I",
          "translation": "Tôi cũng vậy."
        },
        {
          "key": "C",
          "text": "Neither am I",
          "translation": "Tôi cũng vậy."
        },
        {
          "key": "D",
          "text": "So am I",
          "translation": "Tôi cũng vậy."
        }
      ],
      "answer_translation": "- Tôi không hứng thú tham gia chuyến tham quan.",
      "simple_reason": "Điền “Neither am I” rồi đọc lại toàn câu: “- Tôi không hứng thú tham gia chuyến tham quan”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q25",
      "page": 57,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "D",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “What are we going to do about keeping the accounts for the club?”\n— “Paul Wintel, _____ is an investment specialist, has volunteered to do it.”",
      "question_translation": "— “Chúng ta sẽ làm gì để giữ các tài khoản cho câu lạc bộ?\n— “Paul Wintel, ___ là một chuyên gia đầu tư, đã tình nguyện làm việc đó.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "the man",
          "translation": "người đàn ông"
        },
        {
          "key": "C",
          "text": "he",
          "translation": "he"
        },
        {
          "key": "D",
          "text": "who",
          "translation": "Ai"
        }
      ],
      "answer_translation": "— “Chúng ta sẽ làm gì để giữ các tài khoản cho câu lạc bộ?\n“ Paul Wintel, chuyên gia đầu tư, tình nguyện làm việc đó.",
      "simple_reason": "Điền “who” rồi đọc lại toàn câu: “— “Chúng ta sẽ làm gì để giữ các tài khoản cho câu lạc bộ?\n“ Paul Wintel, chuyên gia đầu tư, tình nguyện làm việc đó”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q26",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "B",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "He is considered to be an outstanding artist but I consider _____ to be quite mediocre.",
      "question_translation": "Anh ấy được xem là một nghệ sĩ xuất sắc. ___ khá tầm thường.",
      "options": [
        {
          "key": "A",
          "text": "he works",
          "translation": "Anh ta làm việc"
        },
        {
          "key": "B",
          "text": "his work",
          "translation": "Công việc của ông"
        },
        {
          "key": "C",
          "text": "him work",
          "translation": "Hắn làm việc"
        },
        {
          "key": "D",
          "text": "him working",
          "translation": "Anh ta làm việc"
        }
      ],
      "answer_translation": "Ông được xem là một nghệ sĩ xuất sắc nhưng tôi xem công trình của ông là khá tầm thường.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “his work” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Ông được xem là một nghệ sĩ xuất sắc nhưng tôi xem công trình của ông là khá tầm thường”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — his work vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q27",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "D",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I should like to familiarize myself with the _____ teaching methods.",
      "question_translation": "Tôi muốn làm quen với ___ Cách dạy học.",
      "options": [
        {
          "key": "A",
          "text": "late",
          "translation": "trễ"
        },
        {
          "key": "B",
          "text": "last",
          "translation": "cuối"
        },
        {
          "key": "C",
          "text": "latter",
          "translation": "Sau"
        },
        {
          "key": "D",
          "text": "latest",
          "translation": "Mới nhất"
        }
      ],
      "answer_translation": "Tôi muốn làm quen với phương pháp giảng dạy mới nhất.",
      "simple_reason": "Điền “latest” rồi đọc lại toàn câu: “Tôi muốn làm quen với phương pháp giảng dạy mới nhất”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q28",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "A",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I _____ join the sports club in the summer but I haven't decided yet.",
      "question_translation": "I ___ Tham gia câu lạc bộ thể thao vào mùa hè nhưng tôi vẫn chưa quyết định.",
      "options": [
        {
          "key": "A",
          "text": "might",
          "translation": "có thể"
        },
        {
          "key": "B",
          "text": "must",
          "translation": "Phải"
        },
        {
          "key": "C",
          "text": "should",
          "translation": "nên"
        },
        {
          "key": "D",
          "text": "will",
          "translation": "Will"
        }
      ],
      "answer_translation": "Tôi có thể tham gia câu lạc bộ thể thao vào mùa hè nhưng tôi vẫn chưa quyết định.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “might” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Tôi có thể tham gia câu lạc bộ thể thao vào mùa hè nhưng tôi vẫn chưa quyết định”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn A — might vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q29",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "C",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Peter's still not here. I expect he _____ about the meeting. We should start without him.",
      "question_translation": "Peter vẫn chưa đến. Chắc là hắn. ___ về cuộc họp. Chúng ta nên bắt đầu mà không có anh ta.",
      "options": [
        {
          "key": "A",
          "text": "forgets",
          "translation": "quên"
        },
        {
          "key": "B",
          "text": "is forgetting",
          "translation": "Là quên"
        },
        {
          "key": "C",
          "text": "has forgotten",
          "translation": "đã quên"
        },
        {
          "key": "D",
          "text": "was forgetting",
          "translation": "đã quên."
        }
      ],
      "answer_translation": "Peter vẫn chưa đến. Tôi nghĩ ông ấy đã quên cuộc họp. Chúng ta nên bắt đầu mà không có anh ta.",
      "simple_reason": "Điền “has forgotten” rồi đọc lại toàn câu: “Peter vẫn chưa đến. Tôi nghĩ ông ấy đã quên cuộc họp. Chúng ta nên bắt đầu mà không có anh ta”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q30",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "B",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "She is traveling to work by train today because her car _____.",
      "question_translation": "Hôm nay cổ đi làm bằng xe lửa vì xe hơi. ___ .",
      "options": [
        {
          "key": "A",
          "text": "is serviced",
          "translation": "được dịch vụ"
        },
        {
          "key": "B",
          "text": "is being serviced",
          "translation": "đang được phục vụ"
        },
        {
          "key": "C",
          "text": "has been serviced",
          "translation": "đã được dịch vụ"
        },
        {
          "key": "D",
          "text": "will be serviced",
          "translation": "sẽ được phục vụ"
        }
      ],
      "answer_translation": "Hôm nay cô ấy đi làm bằng xe lửa vì xe cô ấy đang được phục vụ.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “is being serviced” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Hôm nay cô ấy đi làm bằng xe lửa vì xe cô ấy đang được phục vụ”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — is being serviced vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q31",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "B",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Isn't it time you _____ down to some serious work before the examination?",
      "question_translation": "Không phải là thời gian của bạn ___ đi làm một số việc quan trọng trước khi kiểm tra?",
      "options": [
        {
          "key": "A",
          "text": "get",
          "translation": "Lấy"
        },
        {
          "key": "B",
          "text": "got",
          "translation": "có"
        },
        {
          "key": "C",
          "text": "are getting",
          "translation": "đang nhận được"
        },
        {
          "key": "D",
          "text": "will get",
          "translation": "sẽ nhận được"
        }
      ],
      "answer_translation": "Không phải đã đến lúc anh phải làm việc nghiêm túc trước khi thi sao?",
      "simple_reason": "Điền “got” rồi đọc lại toàn câu: “Không phải đã đến lúc anh phải làm việc nghiêm túc trước khi thi sao”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q32",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "B",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I fell on the ice, _____ my arm.",
      "question_translation": "Tôi ngã xuống băng, ___ Tay tôi.",
      "options": [
        {
          "key": "A",
          "text": "injured",
          "translation": "Bị thương"
        },
        {
          "key": "B",
          "text": "injuring",
          "translation": "Làm tổn thương"
        },
        {
          "key": "C",
          "text": "having injured",
          "translation": "bị thương"
        },
        {
          "key": "D",
          "text": "being injured",
          "translation": "bị thương"
        }
      ],
      "answer_translation": "Tôi ngã xuống băng, tay bị thương.",
      "simple_reason": "Điền “injuring” rồi đọc lại toàn câu: “Tôi ngã xuống băng, tay bị thương”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q33",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "A",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "— “Is there any news about my promotion?” — “I regret _____ you that we have chosen someone else for the job.”",
      "question_translation": "— “Có tin gì về sự thăng chức của tôi không? ” —“ Tôi hối tiếc ___ Anh đã chọn được người khác cho công việc này.",
      "options": [
        {
          "key": "A",
          "text": "to tell",
          "translation": "để nói"
        },
        {
          "key": "B",
          "text": "to have told",
          "translation": "phải có nói"
        },
        {
          "key": "C",
          "text": "telling",
          "translation": "nói"
        },
        {
          "key": "D",
          "text": "having told",
          "translation": "đã nói"
        }
      ],
      "answer_translation": "— “Có tin tức gì về việc thăng chức của tôi không? —“ Tôi rất tiếc phải nói với anh là chúng tôi đã chọn người khác cho công việc này.",
      "simple_reason": "Điền “to tell” rồi đọc lại toàn câu: “— “Có tin tức gì về việc thăng chức của tôi không? —“ Tôi rất tiếc phải nói với anh là chúng tôi đã chọn người khác cho công việc này”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q34",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "C",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "In the old days most of our coal _____ by sea.",
      "question_translation": "Ngày xưa, than đá của chúng ta ___ đi biển.",
      "options": [
        {
          "key": "A",
          "text": "used to transport",
          "translation": "dùng để di chuyển"
        },
        {
          "key": "B",
          "text": "was used to transporting",
          "translation": "được dùng để vận chuyển"
        },
        {
          "key": "C",
          "text": "used to be transported",
          "translation": "dùng để vận chuyển"
        },
        {
          "key": "D",
          "text": "was used to being transported",
          "translation": "được sử dụng để vận chuyển"
        }
      ],
      "answer_translation": "Ngày xưa, hầu hết than đá được vận chuyển bằng đường biển.",
      "simple_reason": "Điền “used to be transported” rồi đọc lại toàn câu: “Ngày xưa, hầu hết than đá được vận chuyển bằng đường biển”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-GR-Q35",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "A",
      "reason": "shouldn't, fast enough, after which, Neither am I, non-defining who, consider his work, latest, might, present perfect cho kết quả hiện tại, present continuous passive, It's time + past, participle chỉ kết quả, regret to tell, used to be transported, run into.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You'll never guess who I _____ into the other day.",
      "question_translation": "Anh sẽ không bao giờ đoán được tôi là ai. ___ vào một ngày khác.",
      "options": [
        {
          "key": "A",
          "text": "ran",
          "translation": "Chạy"
        },
        {
          "key": "B",
          "text": "has run",
          "translation": "đã chạy"
        },
        {
          "key": "C",
          "text": "will run",
          "translation": "sẽ chạy"
        },
        {
          "key": "D",
          "text": "would run",
          "translation": "chạy"
        }
      ],
      "answer_translation": "Anh sẽ không bao giờ đoán được hôm trước tôi gặp ai đâu.",
      "simple_reason": "Điền “ran” rồi đọc lại toàn câu: “Anh sẽ không bao giờ đoán được hôm trước tôi gặp ai đâu”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-CLOZE-Q36",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 36,
      "answer": "B",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "customs",
          "translation": "Phong tục"
        },
        {
          "key": "B",
          "text": "habits",
          "translation": "Thói quen"
        },
        {
          "key": "C",
          "text": "manners",
          "translation": "lịch sự"
        },
        {
          "key": "D",
          "text": "means",
          "translation": "có nghĩa là"
        }
      ],
      "answer_translation": "Thói quen",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Thói quen” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-CLOZE-Q37",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 37,
      "answer": "D",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "with",
          "translation": "có"
        },
        {
          "key": "B",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "C",
          "text": "like",
          "translation": "như"
        },
        {
          "key": "D",
          "text": "as",
          "translation": "dạng"
        }
      ],
      "answer_translation": "dạng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “dạng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-CLOZE-Q38",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 38,
      "answer": "A",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "good",
          "translation": "Tốt"
        },
        {
          "key": "B",
          "text": "well",
          "translation": "Được rồi"
        },
        {
          "key": "C",
          "text": "better",
          "translation": "Tốt hơn"
        },
        {
          "key": "D",
          "text": "best",
          "translation": "tốt nhất"
        }
      ],
      "answer_translation": "Tốt",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “Tốt” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-CLOZE-Q39",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 39,
      "answer": "D",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (39) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "create",
          "translation": "tạo"
        },
        {
          "key": "B",
          "text": "produce",
          "translation": "sản xuất"
        },
        {
          "key": "C",
          "text": "cause",
          "translation": "Nguyên nhân"
        },
        {
          "key": "D",
          "text": "develop",
          "translation": "phát triển"
        }
      ],
      "answer_translation": "phát triển",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “phát triển” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-CLOZE-Q40",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 40,
      "answer": "B",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "give",
          "translation": "cho"
        },
        {
          "key": "B",
          "text": "to give",
          "translation": "để cho"
        },
        {
          "key": "C",
          "text": "giving",
          "translation": "cho"
        },
        {
          "key": "D",
          "text": "for giving",
          "translation": "vì đã cho"
        }
      ],
      "answer_translation": "để cho",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “để cho” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-CLOZE-Q41",
      "page": 58,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 41,
      "answer": "B",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "so as",
          "translation": "vì vậy"
        },
        {
          "key": "B",
          "text": "such as",
          "translation": "như"
        },
        {
          "key": "C",
          "text": "for example",
          "translation": "Ví dụ"
        },
        {
          "key": "D",
          "text": "for instance",
          "translation": "Ví dụ"
        }
      ],
      "answer_translation": "như",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “như” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-VOC-Q01",
      "page": 59,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 1,
      "answer": "B",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The government hopes to _____ its plans for introducing cable TV.",
      "question_translation": "Chính phủ hy vọng ___ kế hoạch giới thiệu truyền hình cáp.",
      "options": [
        {
          "key": "A",
          "text": "turn out",
          "translation": "Hóa ra"
        },
        {
          "key": "B",
          "text": "carry out",
          "translation": "thực hiện"
        },
        {
          "key": "C",
          "text": "bring up",
          "translation": "Đưa lên"
        },
        {
          "key": "D",
          "text": "keep on",
          "translation": "Tiếp tục"
        }
      ],
      "answer_translation": "Chính phủ hy vọng sẽ thực hiện kế hoạch giới thiệu truyền hình cáp.",
      "simple_reason": "Thử từ “carry out” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Chính phủ hy vọng sẽ thực hiện kế hoạch giới thiệu truyền hình cáp”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q02",
      "page": 59,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 2,
      "answer": "C",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The businessman called the airline to _____ his flight to Tokyo this morning.",
      "question_translation": "Người doanh nhân gọi cho hãng hàng không ___ Anh ta đã bay đến Tokyo sáng nay.",
      "options": [
        {
          "key": "A",
          "text": "approve",
          "translation": "Chấp nhận"
        },
        {
          "key": "B",
          "text": "guarantee",
          "translation": "bảo đảm"
        },
        {
          "key": "C",
          "text": "confirm",
          "translation": "xác nhận"
        },
        {
          "key": "D",
          "text": "insure",
          "translation": "Đảm bảo"
        }
      ],
      "answer_translation": "thương nhân đã gọi cho hãng hàng không để xác nhận chuyến bay đến Tokyo sáng nay.",
      "simple_reason": "Thử từ “confirm” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “thương nhân đã gọi cho hãng hàng không để xác nhận chuyến bay đến Tokyo sáng nay”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "ocr-projection",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q03",
      "page": 59,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 3,
      "answer": "D",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "They had hoped to _____ $1000 for charity, but they fell short of that amount.",
      "question_translation": "Họ đã hy vọng ___ 1.000 đô cho quỹ từ thiện, nhưng họ đã mất số tiền đó.",
      "options": [
        {
          "key": "A",
          "text": "cause",
          "translation": "Nguyên nhân"
        },
        {
          "key": "B",
          "text": "gain",
          "translation": "Tăng"
        },
        {
          "key": "C",
          "text": "seek",
          "translation": "Tìm kiếm"
        },
        {
          "key": "D",
          "text": "raise",
          "translation": "nâng lên"
        }
      ],
      "answer_translation": "Họ đã hy vọng sẽ quyên góp 1000 đô cho tổ chức từ thiện, nhưng họ đã mất đi số tiền đó.",
      "simple_reason": "Thử từ “raise” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Họ đã hy vọng sẽ quyên góp 1000 đô cho tổ chức từ thiện, nhưng họ đã mất đi số tiền đó”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-CLOZE-Q42",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 42,
      "answer": "C",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "food",
          "translation": "thức ăn"
        },
        {
          "key": "B",
          "text": "foods",
          "translation": "Thức ăn"
        },
        {
          "key": "C",
          "text": "the food",
          "translation": "thức ăn"
        },
        {
          "key": "D",
          "text": "the foods",
          "translation": "thức ăn"
        }
      ],
      "answer_translation": "thức ăn",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “thức ăn” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-CLOZE-Q43",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 43,
      "answer": "A",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ hoặc cụm từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "can",
          "translation": "có thể"
        },
        {
          "key": "B",
          "text": "should",
          "translation": "nên"
        },
        {
          "key": "C",
          "text": "must",
          "translation": "Phải"
        },
        {
          "key": "D",
          "text": "have to",
          "translation": "Phải"
        }
      ],
      "answer_translation": "có thể",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “có thể” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-CLOZE-Q44",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 44,
      "answer": "A",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "hand",
          "translation": "tay"
        },
        {
          "key": "B",
          "text": "face",
          "translation": "khuôn mặt"
        },
        {
          "key": "C",
          "text": "way",
          "translation": "Cách"
        },
        {
          "key": "D",
          "text": "case",
          "translation": "chữ hoa/ thường"
        }
      ],
      "answer_translation": "tay",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “tay” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-CLOZE-Q45",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Điền từ",
      "question": 45,
      "answer": "C",
      "reason": "eating habits, the same way as, taste good, develop habits, advise someone to give, such as, the food, vegetables can prevent disease, on the other hand, cause disease.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word or phrase for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ hay cụm từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "create",
          "translation": "tạo"
        },
        {
          "key": "B",
          "text": "produce",
          "translation": "sản xuất"
        },
        {
          "key": "C",
          "text": "cause",
          "translation": "Nguyên nhân"
        },
        {
          "key": "D",
          "text": "develop",
          "translation": "phát triển"
        }
      ],
      "answer_translation": "Nguyên nhân",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “Nguyên nhân” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT09-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT09-ST-Q46",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "Unless you know what is happening to you, I can't help you.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "I can't help you if you don't know what is happening to you.\nUnless _____.",
      "question_translation": "Tôi không thể giúp cô nếu cô không biết chuyện gì đang xảy ra.\nViết lại câu, bắt đầu bằng: Unless _____.",
      "options": [],
      "answer_translation": "Trừ khi anh biết chuyện gì đang xảy ra với anh, tôi không thể giúp anh.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-ST-Q47",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "It was not until 1891 that zippers were invented by W. L. Judson.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Zippers were invented by W. L. Judson in 1891.\nIt was not _____.",
      "question_translation": "Zippers được W. L. J. Jedson phát minh năm 1890.\nViết lại câu, bắt đầu bằng: It was not _____.",
      "options": [],
      "answer_translation": "Mãi đến năm 1890, W.L. J. Jedson mới phát minh ra khóa kéo.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-ST-Q48",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "The teacher told his students not to talk while he was explaining the lesson.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "“Don't talk while I am explaining the lesson,” the teacher said to his students.\nThe teacher told _____.",
      "question_translation": "“ Đừng nói khi tôi đang giải thích bài học, giáo viên đã nói với học sinh của mình.\nViết lại câu, bắt đầu bằng: The teacher told _____.",
      "options": [],
      "answer_translation": "Thầy giáo bảo các học trò không được nói trong lúc anh giải thích bài học.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-ST-Q49",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "Miranda doesn't play tennis as well as Jennifer does.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Jennifer plays tennis better than Miranda.\nMiranda doesn't _____.",
      "question_translation": "Jennifer chơi tennis giỏi hơn Miranda.\nViết lại câu, bắt đầu bằng: Miranda doesn't _____.",
      "options": [],
      "answer_translation": "Miranda không chơi tennis như Jennifer.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT09-ST-Q50",
      "page": 59,
      "page_range": [
        55,
        59
      ],
      "kind": "practice-test",
      "unit": "Practice Test 9",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "Paul asked Betty if he could borrow her laptop for a moment.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "“Can I borrow your laptop for a moment, Betty?” asked Paul.\nPaul asked _____.",
      "question_translation": "“ Tôi có thể mượn laptop của cô một chút không, Betty?\nViết lại câu, bắt đầu bằng: Paul asked _____.",
      "options": [],
      "answer_translation": "Paul hỏi Betty có thể mượn máy tính xách tay của cô ấy một chút không.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q04",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 4,
      "answer": "B",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Note to new students: all _____ must be paid no later than one week before the commencement of the course.",
      "question_translation": "Lưu ý học sinh mới: tất cả ___ Phải trả tiền trễ hơn một tuần trước khi bắt đầu khóa học.",
      "options": [
        {
          "key": "A",
          "text": "fares",
          "translation": "giá trị"
        },
        {
          "key": "B",
          "text": "fees",
          "translation": "Chi phí"
        },
        {
          "key": "C",
          "text": "charges",
          "translation": "buộc"
        },
        {
          "key": "D",
          "text": "costs",
          "translation": "chi phí"
        }
      ],
      "answer_translation": "Hãy lưu ý đến những học sinh mới: Không trễ hơn một tuần trước khi bắt đầu khóa học.",
      "simple_reason": "Thử từ “fees” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Hãy lưu ý đến những học sinh mới: Không trễ hơn một tuần trước khi bắt đầu khóa học”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q05",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 5,
      "answer": "A",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "More than 300 travelers were _____ to make it back to Los Angeles International Airport after the tropical storm turned hotels upside down.",
      "question_translation": "Hơn 300 du khách ___ để trở về sân bay quốc tế Los Angeles sau khi cơn bão nhiệt đới đảo lộn khách sạn.",
      "options": [
        {
          "key": "A",
          "text": "relieved",
          "translation": "nhẹ nhõm"
        },
        {
          "key": "B",
          "text": "released",
          "translation": "đã phát hành"
        },
        {
          "key": "C",
          "text": "removed",
          "translation": "xóa"
        },
        {
          "key": "D",
          "text": "repressed",
          "translation": "Bị đàn áp"
        }
      ],
      "answer_translation": "Hơn 300 du khách được nhẹ nhõm khi trở về sân bay quốc tế Los Angeles sau khi cơn bão nhiệt đới làm đảo lộn khách sạn.",
      "simple_reason": "Thử từ “relieved” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Hơn 300 du khách được nhẹ nhõm khi trở về sân bay quốc tế Los Angeles sau khi cơn bão nhiệt đới làm đảo lộn khách sạn”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q06",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 6,
      "answer": "C",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The Post Office has changed its name and _____ off thousands of workers.",
      "question_translation": "Bưu điện đã đổi tên và ___ hàng ngàn công nhân.",
      "options": [
        {
          "key": "A",
          "text": "let",
          "translation": "Let"
        },
        {
          "key": "B",
          "text": "set",
          "translation": "đặt"
        },
        {
          "key": "C",
          "text": "laid",
          "translation": "đã đặt"
        },
        {
          "key": "D",
          "text": "put",
          "translation": "đặt"
        }
      ],
      "answer_translation": "Bưu điện đã đổi tên và đuổi hàng ngàn công nhân.",
      "simple_reason": "Thử từ “laid” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Bưu điện đã đổi tên và đuổi hàng ngàn công nhân”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q07",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 7,
      "answer": "A",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Doctors often _____ drugs that induce sleep.",
      "question_translation": "Bác sĩ thường xuyên ___ Thuốc kích thích giấc ngủ.",
      "options": [
        {
          "key": "A",
          "text": "prescribe",
          "translation": "Chỉ định"
        },
        {
          "key": "B",
          "text": "subscribe",
          "translation": "dài hạn"
        },
        {
          "key": "C",
          "text": "inscribe",
          "translation": "Ghi rõ"
        },
        {
          "key": "D",
          "text": "describe",
          "translation": "Mô tả"
        }
      ],
      "answer_translation": "Các bác sĩ thường kê đơn thuốc làm ngủ.",
      "simple_reason": "Thử từ “prescribe” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Các bác sĩ thường kê đơn thuốc làm ngủ”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn A vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q08",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 8,
      "answer": "D",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Thomas was feeling sleepy because he _____ up late doing his homework.",
      "question_translation": "Thomas cảm thấy buồn ngủ vì ___ Thức khuya làm bài tập về nhà.",
      "options": [
        {
          "key": "A",
          "text": "put",
          "translation": "đặt"
        },
        {
          "key": "B",
          "text": "showed",
          "translation": "hiện"
        },
        {
          "key": "C",
          "text": "turned",
          "translation": "Quay"
        },
        {
          "key": "D",
          "text": "stayed",
          "translation": "Ở lại"
        }
      ],
      "answer_translation": "Thomas cảm thấy buồn ngủ vì anh ấy thức khuya làm bài tập về nhà.",
      "simple_reason": "Thử từ “stayed” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Thomas cảm thấy buồn ngủ vì anh ấy thức khuya làm bài tập về nhà”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn D vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q09",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 9,
      "answer": "C",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Young children often _____ what they see others doing.",
      "question_translation": "Trẻ em thường xuyên ___ những gì họ thấy người khác làm.",
      "options": [
        {
          "key": "A",
          "text": "regard",
          "translation": "Tôn trọng"
        },
        {
          "key": "B",
          "text": "indicate",
          "translation": "chỉ ra"
        },
        {
          "key": "C",
          "text": "imitate",
          "translation": "bắt chước"
        },
        {
          "key": "D",
          "text": "relate",
          "translation": "liên kết"
        }
      ],
      "answer_translation": "Trẻ em thường bắt chước những gì chúng thấy người khác làm.",
      "simple_reason": "Thử từ “imitate” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Trẻ em thường bắt chước những gì chúng thấy người khác làm”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn C vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-VOC-Q10",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Từ vựng",
      "question": 10,
      "answer": "B",
      "reason": "carry out a plan, confirm a flight, raise money, course fees, be relieved, lay off, prescribe, stay up, imitate, contain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "This canned soup _____ a lot of salt.",
      "question_translation": "Món súp hộp này ___ Rất nhiều muối.",
      "options": [
        {
          "key": "A",
          "text": "remains",
          "translation": "còn lại"
        },
        {
          "key": "B",
          "text": "contains",
          "translation": "chứa"
        },
        {
          "key": "C",
          "text": "holds",
          "translation": "giữ"
        },
        {
          "key": "D",
          "text": "involves",
          "translation": "liên quan"
        }
      ],
      "answer_translation": "Món súp hộp này chứa rất nhiều muối.",
      "simple_reason": "Thử từ “contains” vào chỗ trống rồi đọc cả câu. Câu hoàn chỉnh có nghĩa “Món súp hộp này chứa rất nhiều muối”, nên từ này vừa đúng nghĩa vừa đi tự nhiên với các từ xung quanh.",
      "solution_steps": [
        "Đọc nghĩa chung của cả câu.",
        "Thử từng từ vào chỗ trống.",
        "Chọn B vì câu hoàn chỉnh tự nhiên và đúng ngữ cảnh."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-READ-Q11",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 11,
      "answer": "D",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer trying to do in the text?",
      "question_translation": "Tác giả cố gắng làm gì trong văn bản?",
      "options": [
        {
          "key": "A",
          "text": "Explain how people can protect animals.",
          "translation": "Hãy giải thích làm thế nào con người có thể bảo vệ động vật."
        },
        {
          "key": "B",
          "text": "Give an account of one day in his life.",
          "translation": "Hãy kể lại một ngày trong đời ông."
        },
        {
          "key": "C",
          "text": "Describe some of the people he works with.",
          "translation": "Hãy mô tả một số người làm việc cùng ông."
        },
        {
          "key": "D",
          "text": "Encourage people to have a career with wild life.",
          "translation": "Khuyến khích người ta có sự nghiệp với đời sống hoang dã."
        }
      ],
      "answer_translation": "Khuyến khích người ta có sự nghiệp với đời sống hoang dã.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Khuyến khích người ta có sự nghiệp với đời sống hoang dã”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT10-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q12",
      "page": 60,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 12,
      "answer": "C",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What can a reader find out from the text?",
      "question_translation": "Độc giả có thể tìm thấy điều gì trong câu Kinh Thánh này?",
      "options": [
        {
          "key": "A",
          "text": "What qualifications you need to go to university.",
          "translation": "Những gì bạn cần để đi đến đại học."
        },
        {
          "key": "B",
          "text": "How many hours a day Mark has to work.",
          "translation": "Mỗi ngày Mark phải làm bao nhiêu giờ."
        },
        {
          "key": "C",
          "text": "How long Mark has been keen on animals.",
          "translation": "Mark quan tâm đến động vật bao lâu rồi."
        },
        {
          "key": "D",
          "text": "Where you can find the best sea-life centres.",
          "translation": "Nơi bạn có thể tìm thấy những trung tâm biển tốt nhất."
        }
      ],
      "answer_translation": "Mark quan tâm đến động vật bao lâu rồi.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Mark quan tâm đến động vật bao lâu rồi”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q13",
      "page": 61,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 13,
      "answer": "A",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What does Mark say about his current job?",
      "question_translation": "Mark nói gì về công việc hiện tại của anh ấy?",
      "options": [
        {
          "key": "A",
          "text": "It allows him to do a variety of things.",
          "translation": "Nó cho phép hắn làm nhiều thứ khác nhau."
        },
        {
          "key": "B",
          "text": "It was quite difficult to get.",
          "translation": "Rất khó để có được."
        },
        {
          "key": "C",
          "text": "It is better paid than his last job.",
          "translation": "Nó được trả lương cao hơn việc trước."
        },
        {
          "key": "D",
          "text": "It gives him time off work to go diving.",
          "translation": "Nó cho nó nghỉ làm để đi lặn."
        }
      ],
      "answer_translation": "Nó cho phép hắn làm nhiều thứ khác nhau.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Nó cho phép hắn làm nhiều thứ khác nhau”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT10-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q14",
      "page": 61,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 14,
      "answer": "B",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "How does Mark feel about visitors to the zoo?",
      "question_translation": "Mark cảm thấy thế nào về việc du khách đến sở thú?",
      "options": [
        {
          "key": "A",
          "text": "Nervous that a fish might hurt them.",
          "translation": "Lo lắng rằng một con cá có thể làm hại họ."
        },
        {
          "key": "B",
          "text": "Annoyed when they don't behave well.",
          "translation": "Phiền phức khi họ cư xử không tốt."
        },
        {
          "key": "C",
          "text": "Upset when they take the fish out of the water.",
          "translation": "Điên lên khi họ lấy cá ra khỏi nước."
        },
        {
          "key": "D",
          "text": "Sad when they don't ask questions.",
          "translation": "Buồn khi họ không hỏi."
        }
      ],
      "answer_translation": "Phiền phức khi họ cư xử không tốt.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “Phiền phức khi họ cư xử không tốt”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT10-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q15",
      "page": 61,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 15,
      "answer": "C",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What might Mark write in his diary today?",
      "question_translation": "Mark có thể viết gì trong nhật ký hôm nay?",
      "options": [
        {
          "key": "A",
          "text": "Today, I performed an operation on a sick fish which had eaten a sweet wrapper.",
          "translation": "Hôm nay, tôi đã thực hiện một cuộc phẫu thuật trên một con cá bị bệnh ăn một gói kẹo."
        },
        {
          "key": "B",
          "text": "I spent all day in the research laboratory again today doing boring experiments.",
          "translation": "Hôm nay tôi đã dành cả ngày trong phòng nghiên cứu để làm những thí nghiệm nhàm chán."
        },
        {
          "key": "C",
          "text": "I gave a talk to a group of schoolchildren about looking after animals.",
          "translation": "Tôi nói chuyện với một nhóm học sinh về việc chăm sóc động vật."
        },
        {
          "key": "D",
          "text": "Today I watched my boss go swimming with sharks — I wish I was allowed to do that too!",
          "translation": "Hôm nay, tôi nhìn ông chủ bơi lội với cá mập, ước gì tôi cũng được phép bơi!"
        }
      ],
      "answer_translation": "Tôi nói chuyện với một nhóm học sinh về việc chăm sóc động vật.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Tôi nói chuyện với một nhóm học sinh về việc chăm sóc động vật”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-READ-FIRST-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q16",
      "page": 61,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 16,
      "answer": "D",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What is the writer trying to do in the text?",
      "question_translation": "Tác giả cố gắng làm gì trong văn bản?",
      "options": [
        {
          "key": "A",
          "text": "Advertise the Activity Centre.",
          "translation": "Quảng cáo Trung tâm hoạt động."
        },
        {
          "key": "B",
          "text": "Describe some people she met.",
          "translation": "Mô tả một số người cô ấy gặp."
        },
        {
          "key": "C",
          "text": "Explain how to do some outdoor sports.",
          "translation": "Giải thích làm thế nào để làm một số thể thao ngoài trời."
        },
        {
          "key": "D",
          "text": "Say how she spent some free time.",
          "translation": "Nói xem cô ấy dành thời gian rảnh thế nào."
        }
      ],
      "answer_translation": "Nói xem cô ấy dành thời gian rảnh thế nào.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án D nghĩa là “Nói xem cô ấy dành thời gian rảnh thế nào”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn D vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT10-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q17",
      "page": 61,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 17,
      "answer": "C",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What can the reader learn from the text?",
      "question_translation": "Người đọc có thể học được gì từ câu Kinh Thánh này?",
      "options": [
        {
          "key": "A",
          "text": "When to depend on other people at the Centre.",
          "translation": "Khi để phụ thuộc vào những người khác tại Trung tâm."
        },
        {
          "key": "B",
          "text": "How to apply for a place at the Centre.",
          "translation": "Làm thế nào để nộp đơn xin một chỗ ở Trung tâm."
        },
        {
          "key": "C",
          "text": "What sorts of activities you can experience at the Centre.",
          "translation": "Bạn có thể trải nghiệm những hoạt động gì ở Trung tâm."
        },
        {
          "key": "D",
          "text": "Which time of the year is best to attend the Centre.",
          "translation": "Thời gian nào trong năm là tốt nhất để tham dự Trung tâm."
        }
      ],
      "answer_translation": "Bạn có thể trải nghiệm những hoạt động gì ở Trung tâm.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Bạn có thể trải nghiệm những hoạt động gì ở Trung tâm”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT10-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q18",
      "page": 61,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 18,
      "answer": "A",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "How do you think the writer might describe the weekend?",
      "question_translation": "Anh nghĩ tác giả sẽ miêu tả thế nào vào cuối tuần?",
      "options": [
        {
          "key": "A",
          "text": "Interesting.",
          "translation": "Thú vị đấy."
        },
        {
          "key": "B",
          "text": "Relaxing.",
          "translation": "Thư giãn."
        },
        {
          "key": "C",
          "text": "Frightening.",
          "translation": "Thật đáng sợ."
        },
        {
          "key": "D",
          "text": "Unpleasant.",
          "translation": "Không dễ chịu."
        }
      ],
      "answer_translation": "Thú vị đấy.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án A nghĩa là “Thú vị đấy”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn A vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q19",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 19,
      "answer": "C",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "What do we learn about the group?",
      "question_translation": "Chúng ta học được gì về nhóm này?",
      "options": [
        {
          "key": "A",
          "text": "Some of them had been there before.",
          "translation": "Vài người trong số họ đã từng ở đó."
        },
        {
          "key": "B",
          "text": "They had already chosen their preferred activities.",
          "translation": "Họ đã chọn những hoạt động mà họ thích."
        },
        {
          "key": "C",
          "text": "Some of them already know each other.",
          "translation": "Một số đã biết nhau."
        },
        {
          "key": "D",
          "text": "They came from the same city.",
          "translation": "Chúng đến từ cùng một thành phố."
        }
      ],
      "answer_translation": "Một số đã biết nhau.",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án C nghĩa là “Một số đã biết nhau”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn C vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "ocr-projection",
      "context_id": "T8-PT10-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT10-READ-Q20",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Đọc hiểu",
      "question": 20,
      "answer": "B",
      "reason": "người giữ thú mô tả nghề để khuyến khích làm việc với động vật; công việc có nhiều hoạt động nhưng khách thiếu ý thức làm anh tức giận. Trung tâm hoạt động cung cấp chỗ ở, làm theo nhóm và cho người tham gia thử các hoạt động ngoài trời mới.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Which of the following advertisements describe the Activity Centre?",
      "question_translation": "Quảng cáo nào sau đây miêu tả Trung tâm hoạt động?",
      "options": [
        {
          "key": "A",
          "text": "ACTIVITY CENTRE. Set in beautiful countryside. Make up your own timetable — choose from a variety of activities (horse-riding, fishing, hill-walking, sailing, mountain biking).",
          "translation": "- Trung tâm nghiên cứu. Đặt ở vùng quê xinh đẹp. Tự sắp xếp thời gian biểu của mình - lựa chọn từ nhiều hoạt động khác nhau -- đua ngựa, câu cá, đi bộ trên đồi, chèo thuyền, đạp xe."
        },
        {
          "key": "B",
          "text": "ACTIVITY CENTRE. Set in beautiful countryside. Accommodation provided. Work with a group — we show you a range of outdoor activities that you didn't realise you could do!",
          "translation": "- Trung tâm nghiên cứu. Đặt ở vùng quê xinh đẹp. Đã kết nối. Làm việc với một nhóm — chúng tôi cho bạn thấy một loạt các hoạt động ngoài trời mà bạn không nhận ra bạn có thể làm!"
        },
        {
          "key": "C",
          "text": "ACTIVITY CENTRE. Set in beautiful countryside. Enjoy the luxury of our accommodation — each room has its own bathroom. Work with a group, or have individual teaching.",
          "translation": "- Trung tâm nghiên cứu. Đặt ở vùng quê xinh đẹp. Hãy tận hưởng những tiện nghi xa xỉ — mỗi phòng đều có phòng tắm riêng. Làm việc với một nhóm, hoặc có sự dạy dỗ cá nhân."
        },
        {
          "key": "D",
          "text": "ACTIVITY CENTRE. Set in beautiful countryside. You can spend the day doing outdoor activities and we will find you accommodation with a local family.",
          "translation": "- Trung tâm nghiên cứu. Đặt ở vùng quê xinh đẹp. Anh có thể dành cả ngày ra ngoài chơi và chúng tôi sẽ tìm cho anh một chỗ ở với một gia đình địa phương."
        }
      ],
      "answer_translation": "- Trung tâm nghiên cứu. Đặt ở vùng quê xinh đẹp. Đã kết nối. Làm việc với một nhóm — chúng tôi cho bạn thấy một loạt các hoạt động ngoài trời mà bạn không nhận ra bạn có thể làm!",
      "simple_reason": "Câu hỏi đang hỏi đúng một thông tin trong bài đọc. Phương án B nghĩa là “- Trung tâm nghiên cứu. Đặt ở vùng quê xinh đẹp. Đã kết nối. Làm việc với một nhóm — chúng tôi cho bạn thấy một loạt các hoạt động ngoài trời mà bạn không nhận ra bạn có thể làm”; đây là lựa chọn khớp với chi tiết hoặc mục đích được nêu trong đoạn văn.",
      "solution_steps": [
        "Dịch từ để hỏi: what = gì, where = ở đâu, which = lựa chọn nào.",
        "Gạch từ khóa trong câu hỏi.",
        "Đối chiếu từng lựa chọn; chọn B vì đúng ý đoạn văn, không chỉ vì có từ giống bài."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-READ-SECOND-PASSAGE"
    },
    {
      "id": "T8-PT10-GR-Q21",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "C",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The bell _____ the end of the class rang, _____ our heated discussion.",
      "question_translation": "♪ Tiếng chuông ___ Kết thúc khóa học reo lên, ___ cuộc thảo luận sôi nổi của chúng ta.",
      "options": [
        {
          "key": "A",
          "text": "indicated, interrupting",
          "translation": "chỉ ra, gián đoạn"
        },
        {
          "key": "B",
          "text": "indicated, interrupted",
          "translation": "chỉ ra, bị ngắt"
        },
        {
          "key": "C",
          "text": "indicating, interrupting",
          "translation": "Cho thấy, gián đoạn"
        },
        {
          "key": "D",
          "text": "indicating, interrupted",
          "translation": "ngụ ý, bị ngắt"
        }
      ],
      "answer_translation": "Tiếng chuông chỉ ra, gián đoạn kết thúc khóa học reo lên, cuộc thảo luận nóng bỏng của chúng ta.",
      "simple_reason": "Điền “indicating, interrupting” rồi đọc lại toàn câu: “Tiếng chuông chỉ ra, gián đoạn kết thúc khóa học reo lên, cuộc thảo luận nóng bỏng của chúng ta”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q22",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "B",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "You _____ have brought your camera. They all had theirs with them.",
      "question_translation": "Ngươi ___ Tôi mang theo máy ảnh của anh. Tất cả họ đều mang theo.",
      "options": [
        {
          "key": "A",
          "text": "couldn't",
          "translation": "không thể"
        },
        {
          "key": "B",
          "text": "needn't",
          "translation": "Không cần"
        },
        {
          "key": "C",
          "text": "wouldn't",
          "translation": "sẽ không"
        },
        {
          "key": "D",
          "text": "mustn't",
          "translation": "Không được"
        }
      ],
      "answer_translation": "Anh không cần mang theo máy quay. Tất cả họ đều mang theo.",
      "simple_reason": "Điền “needn't” rồi đọc lại toàn câu: “Anh không cần mang theo máy quay. Tất cả họ đều mang theo”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q23",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "A",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Without electricity, human life _____ quite different today.",
      "question_translation": "Không có điện, cuộc sống con người ___ Hôm nay thì khác.",
      "options": [
        {
          "key": "A",
          "text": "would be",
          "translation": "sẽ là"
        },
        {
          "key": "B",
          "text": "will be",
          "translation": "Sẽ là"
        },
        {
          "key": "C",
          "text": "would have been",
          "translation": "sẽ là"
        },
        {
          "key": "D",
          "text": "is",
          "translation": "là"
        }
      ],
      "answer_translation": "Không có điện, ngày nay đời sống con người sẽ khác hẳn.",
      "simple_reason": "Điền “would be” rồi đọc lại toàn câu: “Không có điện, ngày nay đời sống con người sẽ khác hẳn”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q24",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "D",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "It's known by everyone that _____ horse is _____ useful animal.",
      "question_translation": "Mọi người đều biết ___ Ngựa là ___ Động vật hữu ích.",
      "options": [
        {
          "key": "A",
          "text": "a/an",
          "translation": "dùng “a” / dùng “an”"
        },
        {
          "key": "B",
          "text": "the/the",
          "translation": "dùng “the” / dùng “the”"
        },
        {
          "key": "C",
          "text": "0/a",
          "translation": "không dùng mạo từ / dùng “a”"
        },
        {
          "key": "D",
          "text": "a/a",
          "translation": "dùng “a” / dùng “a”"
        }
      ],
      "answer_translation": "Ai cũng biết ngựa là một con vật hữu dụng.",
      "simple_reason": "Đây là câu kiểm tra mạo từ ở nhiều vị trí. Phương án D cho đúng thứ tự: dùng “a” / dùng “a”.",
      "solution_steps": [
        "Xét riêng từng chỗ trống.",
        "Kiểm tra danh từ đang nói chung hay xác định.",
        "Đọc lại cả câu sau khi điền đủ các vị trí."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q25",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "C",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ your name. Could you tell me again?",
      "question_translation": " ___ Tên anh. Nói lại lần nữa được không?",
      "options": [
        {
          "key": "A",
          "text": "I am forgetting",
          "translation": "Tôi quên mất."
        },
        {
          "key": "B",
          "text": "I've been forgetting",
          "translation": "Tôi quên mất"
        },
        {
          "key": "C",
          "text": "I've forgotten",
          "translation": "Tôi quên mất"
        },
        {
          "key": "D",
          "text": "I was forgetting",
          "translation": "Tôi quên mất"
        }
      ],
      "answer_translation": "Tôi quên mất tên anh rồi. Nói lại lần nữa được không?",
      "simple_reason": "Điền “I've forgotten” rồi đọc lại toàn câu: “Tôi quên mất tên anh rồi. Nói lại lần nữa được không”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q26",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "A",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "I'm looking for a _____ for my bedside table.",
      "question_translation": "Tôi đang tìm một ___ cho cái bàn bên giường bệnh.",
      "options": [
        {
          "key": "A",
          "text": "cheap white Taiwanese clock radio",
          "translation": "Name"
        },
        {
          "key": "B",
          "text": "white cheap Taiwanese clock radio",
          "translation": "radio đồng hồ Đài Loan rẻ tiền"
        },
        {
          "key": "C",
          "text": "Taiwanese cheap white clock radio",
          "translation": "Name"
        },
        {
          "key": "D",
          "text": "Taiwanese white cheap clock radio",
          "translation": "Name"
        }
      ],
      "answer_translation": "Tôi đang tìm một cái radio đồng hồ Đài Loan rẻ tiền cho cái bàn bên cạnh giường.",
      "simple_reason": "Điền “cheap white Taiwanese clock radio” rồi đọc lại toàn câu: “Tôi đang tìm một cái radio đồng hồ Đài Loan rẻ tiền cho cái bàn bên cạnh giường”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q27",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "A",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Human beings of various races are as likely to reproduce in one environment as in _____.",
      "question_translation": "Những người thuộc các chủng tộc khác nhau có khả năng sinh sản trong một môi trường như trong ___ .",
      "options": [
        {
          "key": "A",
          "text": "another",
          "translation": "khác"
        },
        {
          "key": "B",
          "text": "other",
          "translation": "khác"
        },
        {
          "key": "C",
          "text": "the other",
          "translation": "cái kia"
        },
        {
          "key": "D",
          "text": "the others",
          "translation": "Còn lại"
        }
      ],
      "answer_translation": "Những người thuộc nhiều chủng tộc khác nhau có khả năng sinh sản trong một môi trường khác.",
      "simple_reason": "Điền “another” rồi đọc lại toàn câu: “Những người thuộc nhiều chủng tộc khác nhau có khả năng sinh sản trong một môi trường khác”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q28",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "D",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "_____ but I can read it as well.",
      "question_translation": " ___ Nhưng tôi cũng có thể đọc nó.",
      "options": [
        {
          "key": "A",
          "text": "I can not only speak Chinese",
          "translation": "Tôi không chỉ biết nói tiếng Trung"
        },
        {
          "key": "B",
          "text": "I not only can speak Chinese",
          "translation": "Tôi không chỉ có thể nói tiếng Trung Quốc"
        },
        {
          "key": "C",
          "text": "Not only I can speak Chinese",
          "translation": "Không chỉ tôi có thể nói tiếng Trung Quốc"
        },
        {
          "key": "D",
          "text": "Not only can I speak Chinese",
          "translation": "Tôi không chỉ có thể nói tiếng Trung Quốc"
        }
      ],
      "answer_translation": "Tôi không chỉ biết nói tiếng Trung mà còn biết đọc nữa.",
      "simple_reason": "Trước và sau chỗ trống là hai ý cần nối. Đáp án “Not only can I speak Chinese” diễn tả đúng quan hệ giữa hai ý; câu hoàn chỉnh nghĩa là “Tôi không chỉ biết nói tiếng Trung mà còn biết đọc nữa”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn D — Not only can I speak Chinese vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q29",
      "page": 62,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "B",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "There were just _____ people waiting, and I took out my wallet to find the receipt for my case.",
      "question_translation": "Chỉ là... ___ Những người đang chờ đợi, và tôi lấy ví ra để tìm hóa đơn cho vụ án của tôi.",
      "options": [
        {
          "key": "A",
          "text": "few",
          "translation": "ít"
        },
        {
          "key": "B",
          "text": "a few",
          "translation": "một vài"
        },
        {
          "key": "C",
          "text": "very few",
          "translation": "rất ít"
        },
        {
          "key": "D",
          "text": "so few",
          "translation": "Quá ít"
        }
      ],
      "answer_translation": "Chỉ có vài người đang đợi, và tôi lấy ví ra để tìm hóa đơn cho vụ án của mình.",
      "simple_reason": "Điền “a few” rồi đọc lại toàn câu: “Chỉ có vài người đang đợi, và tôi lấy ví ra để tìm hóa đơn cho vụ án của mình”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q30",
      "page": 63,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "A",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "The woman _____ doesn't know he's a lady-killer.",
      "question_translation": "Người phụ nữ ___ Không biết anh ta là sát thủ nữ.",
      "options": [
        {
          "key": "A",
          "text": "Pete's in love with",
          "translation": "Pete đang yêu"
        },
        {
          "key": "B",
          "text": "Pete's in love with who",
          "translation": "Pete yêu ai"
        },
        {
          "key": "C",
          "text": "Pete's in love with whom",
          "translation": "Pete đang yêu ai"
        },
        {
          "key": "D",
          "text": "Pete's in love with her",
          "translation": "Pete yêu cô ấy"
        }
      ],
      "answer_translation": "Người phụ nữ Pete yêu không biết anh ta là kẻ giết phụ nữ.",
      "simple_reason": "Điền “Pete's in love with” rồi đọc lại toàn câu: “Người phụ nữ Pete yêu không biết anh ta là kẻ giết phụ nữ”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q31",
      "page": 63,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "D",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Without all this unnecessary packaging, food _____ cheaper.",
      "question_translation": "Không có tất cả các bao bì không cần thiết, thức ăn ___ rẻ hơn.",
      "options": [
        {
          "key": "A",
          "text": "is",
          "translation": "là"
        },
        {
          "key": "B",
          "text": "were",
          "translation": "đã"
        },
        {
          "key": "C",
          "text": "will be",
          "translation": "Sẽ là"
        },
        {
          "key": "D",
          "text": "would be",
          "translation": "sẽ là"
        }
      ],
      "answer_translation": "Không có bao bì không cần thiết, thức ăn sẽ rẻ hơn.",
      "simple_reason": "Điền “would be” rồi đọc lại toàn câu: “Không có bao bì không cần thiết, thức ăn sẽ rẻ hơn”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q32",
      "page": 63,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "B",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Judith won't leave until she _____ the whole film by the famous director.",
      "question_translation": "Judith sẽ không đi cho đến khi cô ấy ___ Toàn bộ phim của đạo diễn nổi tiếng.",
      "options": [
        {
          "key": "A",
          "text": "watches",
          "translation": "Đồng hồ"
        },
        {
          "key": "B",
          "text": "has watched",
          "translation": "đã xem"
        },
        {
          "key": "C",
          "text": "watched",
          "translation": "Xem"
        },
        {
          "key": "D",
          "text": "had watched",
          "translation": "đã xem"
        }
      ],
      "answer_translation": "Judith sẽ không đi cho đến khi cô ấy xem toàn bộ phim của đạo diễn nổi tiếng.",
      "simple_reason": "Điền “has watched” rồi đọc lại toàn câu: “Judith sẽ không đi cho đến khi cô ấy xem toàn bộ phim của đạo diễn nổi tiếng”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q33",
      "page": 63,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "C",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "George always carries a dictionary _____ he finds a word he does not know.",
      "question_translation": "George luôn mang theo từ điển ___ Hắn tìm thấy một từ hắn không biết.",
      "options": [
        {
          "key": "A",
          "text": "if",
          "translation": "nếu"
        },
        {
          "key": "B",
          "text": "supposing",
          "translation": "Giả sử"
        },
        {
          "key": "C",
          "text": "in case",
          "translation": "Trong trường hợp"
        },
        {
          "key": "D",
          "text": "whether",
          "translation": "Cho dù"
        }
      ],
      "answer_translation": "George luôn mang một cuốn từ điển trong trường hợp anh ấy tìm thấy một từ mà anh ấy không biết.",
      "simple_reason": "Điền “in case” rồi đọc lại toàn câu: “George luôn mang một cuốn từ điển trong trường hợp anh ấy tìm thấy một từ mà anh ấy không biết”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q34",
      "page": 63,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "C",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Our decision is that the school remains _____.",
      "question_translation": "Quyết định của chúng ta là ngôi trường vẫn còn ___ .",
      "options": [
        {
          "key": "A",
          "text": "close",
          "translation": "Đóng"
        },
        {
          "key": "B",
          "text": "closing",
          "translation": "đóng"
        },
        {
          "key": "C",
          "text": "closed",
          "translation": "đóng"
        },
        {
          "key": "D",
          "text": "closely",
          "translation": "Gần"
        }
      ],
      "answer_translation": "Chúng tôi quyết định là trường vẫn đóng cửa.",
      "simple_reason": "Điền “closed” rồi đọc lại toàn câu: “Chúng tôi quyết định là trường vẫn đóng cửa”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-GR-Q35",
      "page": 63,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "A",
      "reason": "participial phrase indicating... và kết quả interrupting...; needn't have; unreal present would be; a horse/a useful animal; I've forgotten; thứ tự tính từ; another; đảo ngữ Not only can I...; a few; relative object có thể lược; would be; present perfect sau until; in case; remain closed; risk losing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "If I give you the information, I risk _____ my job!",
      "question_translation": "Nếu tôi cho anh thông tin, tôi sẽ mạo hiểm. ___ Công việc của tôi!",
      "options": [
        {
          "key": "A",
          "text": "losing",
          "translation": "thua"
        },
        {
          "key": "B",
          "text": "to lose",
          "translation": "thua"
        },
        {
          "key": "C",
          "text": "having lost",
          "translation": "đã mất"
        },
        {
          "key": "D",
          "text": "to have lost",
          "translation": "đã thua"
        }
      ],
      "answer_translation": "Nếu tôi cung cấp thông tin, tôi sẽ mất việc!",
      "simple_reason": "Điền “losing” rồi đọc lại toàn câu: “Nếu tôi cung cấp thông tin, tôi sẽ mất việc”. Đáp án này làm câu đủ ý và đúng cấu trúc; các lựa chọn khác làm thiếu thành phần hoặc sai quan hệ nghĩa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-CLOZE-Q36",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 36,
      "answer": "B",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (36) in the passage below: _____",
      "question_translation": "Chọn từ trống (36) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "advances",
          "translation": "tiến bộ"
        },
        {
          "key": "B",
          "text": "advantages",
          "translation": "Lợi thế"
        },
        {
          "key": "C",
          "text": "benefits",
          "translation": "lợi ích"
        },
        {
          "key": "D",
          "text": "conveniences",
          "translation": "tiện"
        }
      ],
      "answer_translation": "Lợi thế",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Lợi thế” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q37",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 37,
      "answer": "C",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (37) in the passage below: _____",
      "question_translation": "Chọn từ rỗng (37) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "In effect",
          "translation": "Thực tế là"
        },
        {
          "key": "B",
          "text": "However",
          "translation": "Tuy nhiên"
        },
        {
          "key": "C",
          "text": "As a result",
          "translation": "Kết quả là"
        },
        {
          "key": "D",
          "text": "Although",
          "translation": "Mặc dù"
        }
      ],
      "answer_translation": "Kết quả là",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “Kết quả là” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q38",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 38,
      "answer": "A",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (38) in the passage below: _____",
      "question_translation": "Chọn từ rỗng (38) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "pursue",
          "translation": "đuổi"
        },
        {
          "key": "B",
          "text": "support",
          "translation": "hỗ trợ"
        },
        {
          "key": "C",
          "text": "promote",
          "translation": "cổ vũ"
        },
        {
          "key": "D",
          "text": "stimulate",
          "translation": "Kích hoạt"
        }
      ],
      "answer_translation": "đuổi",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “đuổi” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q39",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 39,
      "answer": "B",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (39) in the passage below: _____",
      "question_translation": "Hãy chọn chữ trống (39) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "powerful",
          "translation": "mạnh"
        },
        {
          "key": "B",
          "text": "competent",
          "translation": "Có thẩm quyền"
        },
        {
          "key": "C",
          "text": "ambitious",
          "translation": "Tham vọng"
        },
        {
          "key": "D",
          "text": "attentive",
          "translation": "Chú ý"
        }
      ],
      "answer_translation": "Có thẩm quyền",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án B tạo ra ý “Có thẩm quyền” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án B, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q40",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 40,
      "answer": "C",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (40) in the passage below: _____",
      "question_translation": "Chọn từ trống (40) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "obstacles",
          "translation": "chướng ngại vật"
        },
        {
          "key": "B",
          "text": "disputes",
          "translation": "tranh chấp"
        },
        {
          "key": "C",
          "text": "issues",
          "translation": "vấn đề"
        },
        {
          "key": "D",
          "text": "problems",
          "translation": "vấn đề"
        }
      ],
      "answer_translation": "vấn đề",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “vấn đề” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q41",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 41,
      "answer": "C",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (41) in the passage below: _____",
      "question_translation": "Chọn từ trống (41) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "equality",
          "translation": "bình đẳng"
        },
        {
          "key": "B",
          "text": "stability",
          "translation": "Ổn định"
        },
        {
          "key": "C",
          "text": "balance",
          "translation": "thăng bằng"
        },
        {
          "key": "D",
          "text": "steadiness",
          "translation": "Thay thế"
        }
      ],
      "answer_translation": "thăng bằng",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “thăng bằng” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q42",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 42,
      "answer": "A",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (42) in the passage below: _____",
      "question_translation": "Chọn từ trống (42) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "predict",
          "translation": "dự đoán"
        },
        {
          "key": "B",
          "text": "suggest",
          "translation": "gợi ý"
        },
        {
          "key": "C",
          "text": "announce",
          "translation": "Thông báo"
        },
        {
          "key": "D",
          "text": "recommend",
          "translation": "đề nghị"
        }
      ],
      "answer_translation": "dự đoán",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án A tạo ra ý “dự đoán” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án A, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q43",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 43,
      "answer": "C",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (43) in the passage below: _____",
      "question_translation": "Chọn từ trống (43) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "done",
          "translation": "xong"
        },
        {
          "key": "B",
          "text": "caught",
          "translation": "đã bắt"
        },
        {
          "key": "C",
          "text": "taken",
          "translation": "chụp"
        },
        {
          "key": "D",
          "text": "kept",
          "translation": "giữ"
        }
      ],
      "answer_translation": "chụp",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “chụp” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q44",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 44,
      "answer": "C",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (44) in the passage below: _____",
      "question_translation": "Chọn từ rỗng (44) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "even",
          "translation": "thậm chí"
        },
        {
          "key": "B",
          "text": "even if",
          "translation": "Ngay cả khi"
        },
        {
          "key": "C",
          "text": "even though",
          "translation": "Mặc dù"
        },
        {
          "key": "D",
          "text": "even so",
          "translation": "Thậm chí như vậy"
        }
      ],
      "answer_translation": "Mặc dù",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án C tạo ra ý “Mặc dù” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án C, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-CLOZE-Q45",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Điền từ",
      "question": 45,
      "answer": "D",
      "reason": "more advantages; as a result; pursue interests; be competent at; have their issues; work–family balance; predict; positions taken by women; even though; cannot neglect the family role.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "section",
      "source_updated": "2026-08-25",
      "question_text": "Choose the word for blank (45) in the passage below: _____",
      "question_translation": "Chọn từ trống (45) trong đoạn dưới đây: ___ ",
      "options": [
        {
          "key": "A",
          "text": "dismiss",
          "translation": "& Bỏ qua"
        },
        {
          "key": "B",
          "text": "deny",
          "translation": "Từ chối"
        },
        {
          "key": "C",
          "text": "reject",
          "translation": "từ chối"
        },
        {
          "key": "D",
          "text": "neglect",
          "translation": "Bỏ qua"
        }
      ],
      "answer_translation": "Bỏ qua",
      "simple_reason": "Chỗ trống nằm trong một đoạn văn, nên phải đọc cả câu trước và câu sau. Phương án D tạo ra ý “Bỏ qua” và nối mạch đoạn văn phù hợp nhất.",
      "solution_steps": [
        "Đọc trọn câu chứa chỗ trống.",
        "Nhìn thêm câu trước và câu sau để xác định mạch ý.",
        "Thử phương án D, rồi kiểm tra lại cả nghĩa lẫn cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": "T8-PT10-CLOZE-PASSAGE"
    },
    {
      "id": "T8-PT10-ST-Q46",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Biến đổi câu",
      "question": 46,
      "answer": "The lions are fed by the keeper at 3 p.m. every day.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "The keeper feed the lions at 3 p.m. every day.\nThe lions _____.",
      "question_translation": "Người giữ ngựa cho sư tử ăn vào 3 giờ chiều mỗi ngày.\nViết lại câu, bắt đầu bằng: The lions _____.",
      "options": [],
      "answer_translation": "Những con sư tử được cho ăn vào lúc 3 giờ chiều mỗi ngày.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-ST-Q47",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Biến đổi câu",
      "question": 47,
      "answer": "Mrs. Green asked me where the station car park was.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "“Where is the station car park?” Mrs. Green asked me.\nMrs. Green asked me _____.",
      "question_translation": "“ Bãi đỗ xe ở đâu?\nViết lại câu, bắt đầu bằng: Mrs. Green asked me _____.",
      "options": [],
      "answer_translation": "Bà Green hỏi tôi bãi đỗ xe ở đâu.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-ST-Q48",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Biến đổi câu",
      "question": 48,
      "answer": "He acted well enough to move the audience to tears.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "He acted so well that the audience was moved to tears.\nHe acted well _____.",
      "question_translation": "Anh làm tốt đến nỗi cử tọa rơi lệ.\nViết lại câu, bắt đầu bằng: He acted well _____.",
      "options": [],
      "answer_translation": "Ông đã hành động đủ tốt để khiến cử tọa rơi lệ.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-ST-Q49",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Biến đổi câu",
      "question": 49,
      "answer": "It's easy to boil an egg.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Boiling an egg is not difficult.\nIt's _____.",
      "question_translation": "Không khó để đẻ trứng.\nViết lại câu, bắt đầu bằng: It's _____.",
      "options": [],
      "answer_translation": "Rất dễ để nấu trứng.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-PT10-ST-Q50",
      "page": 64,
      "page_range": [
        59,
        64
      ],
      "kind": "practice-test",
      "unit": "Practice Test 10",
      "section": "Biến đổi câu",
      "question": 50,
      "answer": "The school requires students to wear uniforms at all times.",
      "reason": "",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "answer-only",
      "source_updated": "2026-08-25",
      "question_text": "Students are required to wear uniforms at all times.\nThe school _____ at all time.",
      "question_translation": "Học sinh phải mặc đồng phục mọi lúc.\nViết lại câu, bắt đầu bằng: The school _____ at all time.",
      "options": [],
      "answer_translation": "Trường đòi hỏi học sinh phải mặc đồng phục mọi lúc.",
      "simple_reason": "Hai câu phải giữ nguyên ý. Hãy nhìn từ gợi ý ở dòng thứ hai, đổi cấu trúc nhưng không đổi thời gian và quan hệ ý nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q01",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 1,
      "answer": "D. or",
      "reason": "Hai independent clauses; or mang nghĩa “nếu không”.",
      "detail": "Run 07 phần 02 00:00:24–00:01:42; dấu trên bản D.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I had better go to the bank now _____ I won't have any money left for the weekend.",
      "question_translation": "Tôi phải đến ngân hàng ngay. ___ Tôi sẽ không còn tiền cho cuối tuần.",
      "options": [
        {
          "key": "A",
          "text": "and",
          "translation": "và"
        },
        {
          "key": "B",
          "text": "but",
          "translation": "Nhưng"
        },
        {
          "key": "C",
          "text": "so",
          "translation": "Vậy"
        },
        {
          "key": "D",
          "text": "or",
          "translation": "hay"
        }
      ],
      "answer_translation": "Tôi phải đến ngân hàng ngay nếu không tôi sẽ không còn tiền cho cuối tuần.",
      "simple_reason": "Hai hai vế đều có chủ ngữ và động từ chính; or mang nghĩa “nếu không”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn D — or vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q02",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 2,
      "answer": "A. watching",
      "reason": "Reduced active relative: “someone who watches...”.",
      "detail": "Phần 02 00:01:46–00:02:06; dấu A.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "A spectator is someone _____ a game or an event.",
      "question_translation": "Khán giả là ai đó ___ một trò chơi hoặc một sự kiện.",
      "options": [
        {
          "key": "A",
          "text": "watching",
          "translation": "Xem"
        },
        {
          "key": "B",
          "text": "watched",
          "translation": "Xem"
        },
        {
          "key": "C",
          "text": "watches",
          "translation": "Đồng hồ"
        },
        {
          "key": "D",
          "text": "watch",
          "translation": "Xem"
        }
      ],
      "answer_translation": "Khán giả đang xem một trò chơi hoặc một sự kiện.",
      "simple_reason": "Mệnh đề quan hệ rút gọn chủ động (người/vật tự làm hành động): “someone who watches...”.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q03",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 3,
      "answer": "A. because",
      "reason": "Clause sau nêu nguyên nhân động vật thoát ra.",
      "detail": "Phần 02 00:02:14–00:02:44; dấu A.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The zoo animals escaped _____ someone left the cage open.",
      "question_translation": "Động vật trong sở thú đã trốn thoát. ___ Có ai đó để cửa chuồng mở.",
      "options": [
        {
          "key": "A",
          "text": "because",
          "translation": "bởi vì"
        },
        {
          "key": "B",
          "text": "while",
          "translation": "trong khi"
        },
        {
          "key": "C",
          "text": "and",
          "translation": "và"
        },
        {
          "key": "D",
          "text": "but",
          "translation": "Nhưng"
        }
      ],
      "answer_translation": "Động vật trong sở thú đã trốn thoát vì có ai đó để cửa chuồng mở.",
      "simple_reason": "Vế câu sau nêu nguyên nhân động vật thoát ra.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn A — because vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q04",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 4,
      "answer": "C. by appearing",
      "reason": "fool ... by + V-ing: cách thức khiến kẻ thù tưởng đã chết.",
      "detail": "Phần 02 00:02:54–00:03:09; dấu C.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "A few animals sometimes fool their enemies _____ to be dead.",
      "question_translation": "Một vài con thú đôi khi lừa được kẻ thù của chúng ___ đã chết.",
      "options": [
        {
          "key": "A",
          "text": "appear",
          "translation": "xuất hiện"
        },
        {
          "key": "B",
          "text": "to appear",
          "translation": "xuất hiện"
        },
        {
          "key": "C",
          "text": "by appearing",
          "translation": "bằng cách xuất hiện"
        },
        {
          "key": "D",
          "text": "to be appearing",
          "translation": "sẽ xuất hiện"
        }
      ],
      "answer_translation": "Một vài con thú đôi khi đánh lừa kẻ thù bằng cách tỏ vẻ đã chết.",
      "simple_reason": "Fool ... by + V-ing: cách thức khiến kẻ thù tưởng đã chết.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q05",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 5,
      "answer": "B. invited",
      "reason": "Reduced passive relative: people “who were invited”.",
      "detail": "Phần 02 00:03:13–00:03:43; dấu B.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Some of the people _____ to the party can't come.",
      "question_translation": "Một số người ___ không thể đến dự tiệc.",
      "options": [
        {
          "key": "A",
          "text": "inviting",
          "translation": "mời"
        },
        {
          "key": "B",
          "text": "invited",
          "translation": "Mời"
        },
        {
          "key": "C",
          "text": "who invited",
          "translation": "Ai mời"
        },
        {
          "key": "D",
          "text": "were invited",
          "translation": "được mời"
        }
      ],
      "answer_translation": "Một số người mời đến dự tiệc không thể đến.",
      "simple_reason": "Mệnh đề quan hệ rút gọn bị động (người/vật nhận hành động): people “who were invited”.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q06",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 6,
      "answer": "B. Water",
      "reason": "Cần noun phrase làm subject cho finite verb is.",
      "detail": "Phần 02 00:06:40–00:06:52; dấu B.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ is one of the few substances that expand upon freezing.",
      "question_translation": " ___ là một trong số ít chất mở rộng khi bị đóng băng.",
      "options": [
        {
          "key": "A",
          "text": "It is water",
          "translation": "Đó là nước."
        },
        {
          "key": "B",
          "text": "Water",
          "translation": "Thủy."
        },
        {
          "key": "C",
          "text": "That water",
          "translation": "Nước đó."
        },
        {
          "key": "D",
          "text": "Though water",
          "translation": "Dù là nước"
        }
      ],
      "answer_translation": "Nước là một trong số ít những chất mở rộng khi đông lạnh.",
      "simple_reason": "Cần cụm danh từ làm chủ ngữ cho động từ chính đã chia theo thì is.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q07",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 7,
      "answer": "C. I",
      "reason": "but đã nối hai clauses; trước nó cần clause hoàn chỉnh I want....",
      "detail": "Phần 02 00:06:56–00:07:00; dấu C.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ want to take a train trip across western Canada, but my traveling companion wants to fly to Mexico City for our vacation.",
      "question_translation": " ___ Tôi muốn đi tàu qua miền tây Canada, nhưng bạn đồng hành của tôi muốn bay tới Mexico City để nghỉ hè.",
      "options": [
        {
          "key": "A",
          "text": "Although I",
          "translation": "Mặc dù"
        },
        {
          "key": "B",
          "text": "Even if I",
          "translation": "Ngay cả khi tôi"
        },
        {
          "key": "C",
          "text": "I",
          "translation": "I"
        },
        {
          "key": "D",
          "text": "Nevertheless I",
          "translation": "Tuy nhiên, tôi"
        }
      ],
      "answer_translation": "Tôi muốn đi xe lửa xuyên qua miền tây Canada, nhưng bạn đồng hành của tôi muốn bay tới Mexico City cho kỳ nghỉ của chúng tôi.",
      "simple_reason": "But đã nối hai vế câu; trước nó cần vế câu hoàn chỉnh I want....",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — I vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q08",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 8,
      "answer": "B. nobody",
      "reason": "Although... là subordinate clause; main clause cần subject trực tiếp, không thêm conjunction/adverb sai dấu câu.",
      "detail": "Phần 02 00:07:00–00:07:06; dấu B.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Although most citizens desire extensive services from their government, _____ is willing to pay higher taxes.",
      "question_translation": "Mặc dù hầu hết công dân muốn phục vụ rộng rãi từ chính phủ của họ, ___ sẵn sàng đóng thuế cao hơn.",
      "options": [
        {
          "key": "A",
          "text": "but nobody",
          "translation": "nhưng không có ai"
        },
        {
          "key": "B",
          "text": "nobody",
          "translation": "không có"
        },
        {
          "key": "C",
          "text": "however, nobody",
          "translation": "Tuy nhiên, không có ai"
        },
        {
          "key": "D",
          "text": "so nobody",
          "translation": "vì vậy không ai"
        }
      ],
      "answer_translation": "Mặc dù đa số công dân mong muốn được chính phủ phục vụ rộng rãi, nhưng không ai sẵn sàng đóng thuế cao hơn.",
      "simple_reason": "Although... là vế phụ; vế chính cần chủ ngữ trực tiếp, không thêm conjunction/adverb sai dấu câu.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — nobody vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q09",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 9,
      "answer": "B. yet",
      "reason": "Hai clauses tương phản: xa cách 30 năm nhưng nhận ra nhau ngay.",
      "detail": "Phần 02 00:07:08–00:07:17; dấu B.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "She hadn't seen her brother for thirty years _____ they recognized each other instantly.",
      "question_translation": "Cô ấy đã không gặp anh trai 30 năm rồi. ___ Họ nhận ra nhau ngay lập tức.",
      "options": [
        {
          "key": "A",
          "text": "so",
          "translation": "Vậy"
        },
        {
          "key": "B",
          "text": "yet",
          "translation": "Chưa"
        },
        {
          "key": "C",
          "text": "despite",
          "translation": "Mặc kệ"
        },
        {
          "key": "D",
          "text": "also",
          "translation": "cũng"
        }
      ],
      "answer_translation": "Cô ấy đã không gặp anh trai mình suốt 30 năm nhưng họ nhận ra nhau ngay lập tức.",
      "simple_reason": "Hai vế câu tương phản: xa cách 30 năm nhưng nhận ra nhau ngay.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — yet vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q10",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 10,
      "answer": "A. In spite of",
      "reason": "Sau chỗ trống là noun phrase the bad weather; although/even though cần clause.",
      "detail": "Phần 02 00:07:17–00:07:53; dấu A.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ the bad weather, the football match went ahead.",
      "question_translation": " ___ Thời tiết xấu quá, trận bóng bắt đầu.",
      "options": [
        {
          "key": "A",
          "text": "In spite of",
          "translation": "Mặc dù"
        },
        {
          "key": "B",
          "text": "Even though",
          "translation": "Mặc dù"
        },
        {
          "key": "C",
          "text": "However",
          "translation": "Tuy nhiên"
        },
        {
          "key": "D",
          "text": "Although",
          "translation": "Mặc dù"
        }
      ],
      "answer_translation": "Bất chấp thời tiết xấu, trận bóng vẫn tiếp tục.",
      "simple_reason": "Sau chỗ trống là cụm danh từ the bad weather; although/even though cần vế câu.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q11",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 11,
      "answer": "B. but",
      "reason": "Hai independent clauses tương phản: hứa viết nhưng không liên lạc.",
      "detail": "Run 07 phần 04 00:19:07–00:19:36; dấu B.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "They promised to write _____ we never heard from them again.",
      "question_translation": "Họ hứa sẽ viết ___ Chúng tôi không bao giờ nghe tin gì từ họ nữa.",
      "options": [
        {
          "key": "A",
          "text": "except",
          "translation": "Ngoại trừ"
        },
        {
          "key": "B",
          "text": "but",
          "translation": "Nhưng"
        },
        {
          "key": "C",
          "text": "although",
          "translation": "Mặc dù"
        },
        {
          "key": "D",
          "text": "because",
          "translation": "bởi vì"
        }
      ],
      "answer_translation": "Họ hứa sẽ viết thư nhưng chúng tôi không bao giờ nghe tin tức gì về họ nữa.",
      "simple_reason": "Hai hai vế đều có chủ ngữ và động từ chính tương phản: hứa viết nhưng không liên lạc.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — but vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q12",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 12,
      "answer": "A. taking",
      "reason": "Người thi là người tham gia; reduced active relative từ “someone who takes part”. taken tạo nghĩa bị động sai.",
      "detail": "Phần 04 00:19:36–00:20:31; lời thầy dẫn tới A nhưng dấu trên bản là B.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "A competitor is someone _____ part in a competition.",
      "question_translation": "Đối thủ là ai đó ___ một phần trong cuộc thi.",
      "options": [
        {
          "key": "A",
          "text": "taking",
          "translation": "lấy"
        },
        {
          "key": "B",
          "text": "taken",
          "translation": "chụp"
        },
        {
          "key": "C",
          "text": "takes",
          "translation": "Lấy"
        },
        {
          "key": "D",
          "text": "took",
          "translation": "chụp"
        }
      ],
      "answer_translation": "Đối thủ cạnh tranh là người tham gia vào cuộc thi.",
      "simple_reason": "Người thi là người tham gia; mệnh đề quan hệ rút gọn chủ động (người/vật tự làm hành động) từ “someone who takes part”. taken tạo nghĩa bị động sai.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q13",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 13,
      "answer": "C. when",
      "reason": "was walking là nền đang diễn ra; saw là sự kiện ngắn xen vào.",
      "detail": "Phần 04 00:20:35–00:21:25; dấu C.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I was walking down the street _____ I saw the accident.",
      "question_translation": "Tôi đang đi bộ trên phố ___ Tôi đã thấy tai nạn.",
      "options": [
        {
          "key": "A",
          "text": "while",
          "translation": "trong khi"
        },
        {
          "key": "B",
          "text": "then",
          "translation": "Vậy"
        },
        {
          "key": "C",
          "text": "when",
          "translation": "khi"
        },
        {
          "key": "D",
          "text": "before",
          "translation": "trước"
        }
      ],
      "answer_translation": "Tôi đang đi bộ trên đường thì thấy tai nạn.",
      "simple_reason": "Was walking là nền đang diễn ra; saw là sự kiện ngắn xen vào.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — when vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q14",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 14,
      "answer": "A. during",
      "reason": "during + noun phrase: during the summer vacation.",
      "detail": "Phần 04 00:21:27–00:22:19; dấu A.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "We're planning to go camping _____ the summer vacation.",
      "question_translation": "Chúng tôi định đi cắm trại. ___ kỳ nghỉ hè.",
      "options": [
        {
          "key": "A",
          "text": "during",
          "translation": "trong suốt"
        },
        {
          "key": "B",
          "text": "while",
          "translation": "trong khi"
        },
        {
          "key": "C",
          "text": "when",
          "translation": "khi"
        },
        {
          "key": "D",
          "text": "since",
          "translation": "kể từ"
        }
      ],
      "answer_translation": "Chúng tôi định đi cắm trại trong kỳ nghỉ hè.",
      "simple_reason": "During + cụm danh từ: during the summer vacation.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q15",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 15,
      "answer": "C. either",
      "reason": "Cặp tương liên either ... or.",
      "detail": "Phần 04 00:22:19–00:22:42; dấu C.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Endive can be used _____ as a salad green or as a cooking vegetable.",
      "question_translation": "Có thể dùng tính quyết định ___ như món salad xanh lá cây hay rau củ.",
      "options": [
        {
          "key": "A",
          "text": "such",
          "translation": "như vậy"
        },
        {
          "key": "B",
          "text": "both",
          "translation": "cả hai"
        },
        {
          "key": "C",
          "text": "either",
          "translation": "cũng không"
        },
        {
          "key": "D",
          "text": "neither",
          "translation": "cũng không"
        }
      ],
      "answer_translation": "Nó có thể được dùng làm rau trộn xanh hoặc rau củ.",
      "simple_reason": "Cặp tương liên either ... or.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P65-GR1-Q16",
      "page": 65,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 16,
      "answer": "A. demanded",
      "reason": "Subject abolitionists cần finite predicate quá khứ; các lựa chọn khác tạo clause thừa/sai cấu trúc.",
      "detail": "Phần 04 00:22:56–00:23:58; dấu A ở đầu trang 66.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Unlike moderate antislavery advocates, abolitionists _____ an immediate end to slavery.",
      "question_translation": "Khác với những người chống chế độ nô lệ trung bình ủng hộ chủ nghĩa bãi bỏ quyền lợi ___ ngay lập tức kết thúc chế độ nô lệ.",
      "options": [
        {
          "key": "A",
          "text": "demanded",
          "translation": "yêu cầu"
        },
        {
          "key": "B",
          "text": "they demand",
          "translation": "Họ yêu cầu"
        },
        {
          "key": "C",
          "text": "that they demanded",
          "translation": "rằng họ yêu cầu"
        },
        {
          "key": "D",
          "text": "in that they demand",
          "translation": "theo yêu cầu của họ"
        }
      ],
      "answer_translation": "Khác với những người ủng hộ chống chế độ nô lệ, những người chống chính quyền đòi hỏi phải chấm dứt chế độ nô lệ ngay lập tức.",
      "simple_reason": "Chủ ngữ abolitionists cần động từ chính đã chia theo thì quá khứ; các lựa chọn khác tạo vế câu thừa/sai cấu trúc.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR1-Q17",
      "page": 66,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 17,
      "answer": "B. for",
      "reason": "Hai independent clauses; for là coordinating conjunction nêu lý do.",
      "detail": "Phần 04 00:23:59–00:24:28; dấu B.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The agreement was signed at last, _____ both sides had grown weary of the dispute.",
      "question_translation": "Hợp đồng cuối cùng đã được ký. ___ Cả hai bên đều chán phải tranh cãi.",
      "options": [
        {
          "key": "A",
          "text": "if",
          "translation": "nếu"
        },
        {
          "key": "B",
          "text": "for",
          "translation": "Vì"
        },
        {
          "key": "C",
          "text": "in case",
          "translation": "Trong trường hợp"
        },
        {
          "key": "D",
          "text": "and",
          "translation": "và"
        }
      ],
      "answer_translation": "Cuối cùng, thỏa thuận đã được ký, vì cả hai bên đều mệt mỏi vì cuộc tranh cãi.",
      "simple_reason": "Hai hai vế đều có chủ ngữ và động từ chính; for là từ nối hai vế ngang hàng nêu lý do.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — for vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR1-Q18",
      "page": 66,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 18,
      "answer": "C. Although",
      "reason": "Clause đầu nhượng bộ đối lập với niềm tin ở main clause.",
      "detail": "Phần 04 00:24:28–00:25:11; dấu C.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ no conclusive evidence exists, many experts believe that the wheel was invented only once and then diffused to the rest of the world.",
      "question_translation": " ___ Không có bằng chứng xác minh, nhiều chuyên gia tin rằng bánh xe chỉ được phát minh một lần và rồi lan rộng ra toàn thế giới.",
      "options": [
        {
          "key": "A",
          "text": "Even",
          "translation": "Ngay cả"
        },
        {
          "key": "B",
          "text": "But",
          "translation": "Nhưng..."
        },
        {
          "key": "C",
          "text": "Although",
          "translation": "Mặc dù"
        },
        {
          "key": "D",
          "text": "So",
          "translation": "Vậy"
        }
      ],
      "answer_translation": "Mặc dù không có bằng chứng xác định, nhiều chuyên gia tin rằng bánh xe chỉ được phát minh một lần và rồi tản ra khắp thế giới.",
      "simple_reason": "Vế câu đầu nhượng bộ đối lập với niềm tin ở vế chính.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR1-Q19",
      "page": 66,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 19,
      "answer": "C. If",
      "reason": "If bacteria ... are killed mở conditional clause; as they are... là clause chen giữa.",
      "detail": "Phần 04 00:25:11–00:27:46; dấu C.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ bacteria in foods are killed, as they are during baking or stewing, decay is slowed down.",
      "question_translation": " ___ Vi khuẩn trong thức ăn bị giết, vì trong lúc nướng bánh hoặc hầm, phân rã bị chậm lại.",
      "options": [
        {
          "key": "A",
          "text": "What",
          "translation": "Sao?"
        },
        {
          "key": "B",
          "text": "The",
          "translation": "Hạt"
        },
        {
          "key": "C",
          "text": "If",
          "translation": "Nếu"
        },
        {
          "key": "D",
          "text": "Many",
          "translation": "Nhiều"
        }
      ],
      "answer_translation": "Nếu người ta giết vi khuẩn trong thực phẩm, giống như trong lúc nướng bánh hoặc nấu hầm, sự phân rã sẽ chậm lại.",
      "simple_reason": "If bacteria ... are killed mở vế điều kiện; as they are... là vế câu chen giữa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR1-Q20",
      "page": 66,
      "page_range": [
        65,
        66
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 1",
      "section": "Ngữ pháp",
      "question": 20,
      "answer": "A. making",
      "reason": "Present-participial result phrase bổ nghĩa cho cả clause trước; không thêm finite verb mới.",
      "detail": "Phần 04 00:27:57–00:28:42; dấu A.",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "With age, the mineral content of human bones decreases, _____ them more fragile.",
      "question_translation": "Với tuổi tác, chất khoáng của xương người giảm dần, ___ chúng mỏng manh hơn.",
      "options": [
        {
          "key": "A",
          "text": "making",
          "translation": "làm"
        },
        {
          "key": "B",
          "text": "and make",
          "translation": "♪ Và làm ♪"
        },
        {
          "key": "C",
          "text": "makes",
          "translation": "làm"
        },
        {
          "key": "D",
          "text": "which it makes",
          "translation": "mà nó tạo ra"
        }
      ],
      "answer_translation": "Với thời gian, chất khoáng của xương người giảm dần, làm chúng mỏng manh hơn.",
      "simple_reason": "Present-participial result phrase bổ nghĩa cho cả vế câu trước; không thêm động từ chính đã chia theo thì mới.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q01",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 1,
      "answer": "C. is",
      "reason": "Nantucket đã là subject; cần finite predicate.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Nantucket _____ a little island miles off Cape Cod, Massachusetts.",
      "question_translation": "Nantucket ___ một hòn đảo nhỏ cách Cape Cod, Massachusetts.",
      "options": [
        {
          "key": "A",
          "text": "which is",
          "translation": "Mà là"
        },
        {
          "key": "B",
          "text": "where",
          "translation": "nơi"
        },
        {
          "key": "C",
          "text": "is",
          "translation": "là"
        },
        {
          "key": "D",
          "text": "it is",
          "translation": "Đúng vậy."
        }
      ],
      "answer_translation": "Nantucket là một hòn đảo nhỏ cách Cape Cod, Massachusetts.",
      "simple_reason": "Nantucket đã là chủ ngữ; cần động từ chính đã chia theo thì.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q02",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 2,
      "answer": "C. it",
      "reason": "Although đã mở subordinate clause; main clause cần subject it.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Although topology is the youngest branch of geometry, _____ is considered the most sophisticated.",
      "question_translation": "Mặc dù địa chất học là nhánh nhỏ nhất của hình học, ___ được coi là tinh vi nhất.",
      "options": [
        {
          "key": "A",
          "text": "but it",
          "translation": "nhưng nó"
        },
        {
          "key": "B",
          "text": "so it",
          "translation": "Vì vậy, nó"
        },
        {
          "key": "C",
          "text": "it",
          "translation": "nó"
        },
        {
          "key": "D",
          "text": "however it",
          "translation": "Tuy nhiên"
        }
      ],
      "answer_translation": "Mặc dù địa chất học là nhánh nhỏ nhất của hình học, nhưng nó được xem là phức tạp nhất.",
      "simple_reason": "Although đã mở vế phụ; vế chính cần chủ ngữ it.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — it vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q03",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 3,
      "answer": "A. Harvard University has",
      "reason": "Cần subject + finite verb cho main clause.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ two major art museums, the Fogg and the Sadler.",
      "question_translation": " ___ hai bảo tàng nghệ thuật lớn, Fogg và Sadler.",
      "options": [
        {
          "key": "A",
          "text": "Harvard University has",
          "translation": "Đại học Harvard"
        },
        {
          "key": "B",
          "text": "At Harvard University",
          "translation": "Tại đại học Harvard"
        },
        {
          "key": "C",
          "text": "Harvard University, with its",
          "translation": "Đại học Harvard, với"
        },
        {
          "key": "D",
          "text": "There at Harvard University",
          "translation": "Tại đại học Harvard"
        }
      ],
      "answer_translation": "Đại học Harvard có hai bảo tàng nghệ thuật lớn, Fogg và Sadler.",
      "simple_reason": "Cần chủ ngữ + động từ chính đã chia theo thì cho vế chính.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q04",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 4,
      "answer": "A. have no",
      "reason": "Subject số nhiều Many gases cần finite predicate; cụm including... chỉ chen giữa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Many gases, including the nitrogen and oxygen in air, _____ color or odor.",
      "question_translation": "Rất nhiều khí, kể cả ni-tơ và oxy trong không khí, ___ Màu sắc hay mùi.",
      "options": [
        {
          "key": "A",
          "text": "have no",
          "translation": "không có"
        },
        {
          "key": "B",
          "text": "which have no",
          "translation": "Mà không có"
        },
        {
          "key": "C",
          "text": "not having",
          "translation": "không có"
        },
        {
          "key": "D",
          "text": "they do not have",
          "translation": "Họ không có"
        }
      ],
      "answer_translation": "Nhiều khí, kể cả ni - tơ và oxy trong không khí, không có màu sắc hoặc mùi.",
      "simple_reason": "Chủ ngữ số nhiều Many gases cần động từ chính đã chia theo thì; cụm including... chỉ chen giữa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q05",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 5,
      "answer": "C. but",
      "reason": "Hai independent clauses tương phản.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Most crustaceans live in the sea, _____ some live in fresh water and a few have ventured onto land.",
      "question_translation": "Hầu hết loài giáp xác sống dưới biển, ___ Một số sống trong nước ngọt và một số đã liều lĩnh đáp xuống đất.",
      "options": [
        {
          "key": "A",
          "text": "both",
          "translation": "cả hai"
        },
        {
          "key": "B",
          "text": "also",
          "translation": "cũng"
        },
        {
          "key": "C",
          "text": "but",
          "translation": "Nhưng"
        },
        {
          "key": "D",
          "text": "however",
          "translation": "Tuy nhiên"
        }
      ],
      "answer_translation": "Hầu hết những người giáp xác sống dưới biển, nhưng một số sống trong nước ngọt và một số đã mạo hiểm xuống đất liền.",
      "simple_reason": "Hai hai vế đều có chủ ngữ và động từ chính tương phản.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn C — but vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q06",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 6,
      "answer": "B. where",
      "reason": "where mở relative clause chỉ nơi chốn; clause sau đã có subject và verb.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The trail led over sandhills _____ thin grasses and thorny bushes grew.",
      "question_translation": "Con đường mòn dẫn qua đồi cát ___ cỏ xanh và bụi gai mọc lên.",
      "options": [
        {
          "key": "A",
          "text": "where there were",
          "translation": "Nơi đã có"
        },
        {
          "key": "B",
          "text": "where",
          "translation": "nơi"
        },
        {
          "key": "C",
          "text": "that were",
          "translation": "Đó là"
        },
        {
          "key": "D",
          "text": "that",
          "translation": "đó"
        }
      ],
      "answer_translation": "Con đường mòn dẫn qua những đồi cát, nơi cỏ mỏng và bụi gai mọc lên.",
      "simple_reason": "Where mở mệnh đề quan hệ (vế đứng sau để mô tả danh từ) chỉ nơi chốn; vế câu sau đã có chủ ngữ và động từ.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q07",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 7,
      "answer": "B. attending",
      "reason": "Reduced active relative bổ nghĩa pupils; finite verb chính là received.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The pupils _____ that school received a good education.",
      "question_translation": "Đồng tử ___ trường đó được giáo dục tốt.",
      "options": [
        {
          "key": "A",
          "text": "attend",
          "translation": "Tham dự"
        },
        {
          "key": "B",
          "text": "attending",
          "translation": "có mặt"
        },
        {
          "key": "C",
          "text": "to attend",
          "translation": "để tham dự"
        },
        {
          "key": "D",
          "text": "attended",
          "translation": "có"
        }
      ],
      "answer_translation": "Các học sinh tham dự trường đó được giáo dục tốt.",
      "simple_reason": "Mệnh đề quan hệ rút gọn chủ động (người/vật tự làm hành động) bổ nghĩa pupils; động từ chính đã chia theo thì chính là received.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q08",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 8,
      "answer": "B. for",
      "reason": "Hai clauses; for là coordinating conjunction chỉ nguyên nhân.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I couldn't use the pay phone _____ I didn't have any coins with me.",
      "question_translation": "Tôi không thể dùng điện thoại công cộng ___ Tôi không có đồng xu nào.",
      "options": [
        {
          "key": "A",
          "text": "yet",
          "translation": "Chưa"
        },
        {
          "key": "B",
          "text": "for",
          "translation": "Vì"
        },
        {
          "key": "C",
          "text": "despite",
          "translation": "Mặc kệ"
        },
        {
          "key": "D",
          "text": "even though",
          "translation": "Mặc dù"
        }
      ],
      "answer_translation": "Tôi không thể dùng điện thoại công cộng vì tôi không có đồng xu nào.",
      "simple_reason": "Hai vế câu; for là từ nối hai vế ngang hàng chỉ nguyên nhân.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — for vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q09",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 9,
      "answer": "A. seen",
      "reason": "Người đàn ông “được nhìn thấy”; past participle mở reduced passive relative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "\"What did they find out about the intruder?\" \"The man _____ going through the files is one of our competitors.\"",
      "question_translation": "\"Họ đã tìm ra gì về kẻ xâm nhập?\" \"Người đàn ông ___ Xem qua hồ sơ là một trong những đối thủ cạnh tranh của chúng tôi.\"",
      "options": [
        {
          "key": "A",
          "text": "seen",
          "translation": "xem"
        },
        {
          "key": "B",
          "text": "seeing",
          "translation": "Xem"
        },
        {
          "key": "C",
          "text": "was seen",
          "translation": "được nhìn thấy"
        },
        {
          "key": "D",
          "text": "to see",
          "translation": "để xem"
        }
      ],
      "answer_translation": "\"Họ đã tìm ra gì về kẻ xâm nhập?\" \"Người đàn ông đã xem qua hồ sơ là một trong những đối thủ cạnh tranh của chúng ta.\"",
      "simple_reason": "Người đàn ông “được nhìn thấy”; phân từ hai, thường mang nghĩa bị động mở mệnh đề quan hệ rút gọn bị động (người/vật nhận hành động).",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q10",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 10,
      "answer": "B. provides",
      "reason": "Compressed air cần finite predicate số ít.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Compressed air _____ the power to drive pneumatic tools.",
      "question_translation": "Không khí nén ___ sức mạnh điều khiển các công cụ khí nén.",
      "options": [
        {
          "key": "A",
          "text": "by providing",
          "translation": "bằng cách cung cấp"
        },
        {
          "key": "B",
          "text": "provides",
          "translation": "cung cấp"
        },
        {
          "key": "C",
          "text": "that provides",
          "translation": "cung cấp"
        },
        {
          "key": "D",
          "text": "the provision of",
          "translation": "sắp xếp"
        }
      ],
      "answer_translation": "Không khí nén tạo năng lượng để điều khiển các dụng cụ hơi nước.",
      "simple_reason": "Compressed air cần động từ chính đã chia theo thì số ít.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q11",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 11,
      "answer": "A. The Earth is constantly bombarded",
      "reason": "Cần một passive clause hoàn chỉnh trước by cosmic rays.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ by cosmic rays.",
      "question_translation": " ___ bởi ánh sáng vũ trụ.",
      "options": [
        {
          "key": "A",
          "text": "The Earth is constantly bombarded",
          "translation": "Trái Đất liên tục bị dội bom."
        },
        {
          "key": "B",
          "text": "Bombarded constantly, the Earth",
          "translation": "Bom dội liên tục, trái đất"
        },
        {
          "key": "C",
          "text": "Bombarding the Earth constantly",
          "translation": "Đánh bom trái đất liên tục"
        },
        {
          "key": "D",
          "text": "The Earth's constant bombardment",
          "translation": "Trái đất liên tục dội bom."
        }
      ],
      "answer_translation": "Trái đất liên tục bị tấn công bởi ánh sáng vũ trụ.",
      "simple_reason": "Cần một bị động vế câu hoàn chỉnh trước by cosmic rays.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P66-GR2-Q12",
      "page": 66,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 12,
      "answer": "A. first played",
      "reason": "Supplementary reduced passive clause: games “which were first played...”.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The Olympic Games, _____ in 776 B.C., did not include women participants until 1912.",
      "question_translation": "Thế vận hội, ___ vào năm 776 TCN, phụ nữ mới tham gia vào cuộc thi này cho đến năm 1912.",
      "options": [
        {
          "key": "A",
          "text": "first played",
          "translation": "Phát đầu"
        },
        {
          "key": "B",
          "text": "were first played",
          "translation": "được chơi đầu tiên"
        },
        {
          "key": "C",
          "text": "which first played",
          "translation": "mà chơi đầu tiên"
        },
        {
          "key": "D",
          "text": "they were first played",
          "translation": "Họ đã được chơi đầu tiên"
        }
      ],
      "answer_translation": "Thế vận hội, lần đầu tiên được chơi vào năm 776 TCN, không bao gồm phụ nữ tham gia cho đến năm 1912.",
      "simple_reason": "Vế rút gọn bị động dùng để bổ sung thông tin: games “which were first played...”.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q13",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 13,
      "answer": "B. Even though",
      "reason": "Theo sau là finite clause; quan hệ nhượng bộ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ they are tropical birds, parrots can live in temperate or even cold climates.",
      "question_translation": " ___ Chúng là loài chim nhiệt đới, vẹt có thể sống trong môi trường ôn hòa hoặc thậm chí lạnh giá.",
      "options": [
        {
          "key": "A",
          "text": "Despite",
          "translation": "Mặc dù"
        },
        {
          "key": "B",
          "text": "Even though",
          "translation": "Mặc dù"
        },
        {
          "key": "C",
          "text": "Nevertheless",
          "translation": "Tuy nhiên"
        },
        {
          "key": "D",
          "text": "Even",
          "translation": "Ngay cả"
        }
      ],
      "answer_translation": "Dù chúng là loài chim nhiệt đới, nhưng vẹt có thể sống trong môi trường ôn hòa hoặc ngay cả khí hậu lạnh.",
      "simple_reason": "Theo sau là vế có động từ chính đã chia theo thì; quan hệ nhượng bộ.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q14",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 14,
      "answer": "B. As a wave rolls",
      "reason": "Cần subordinate clause chỉ thời gian/quá trình trước main clause.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ toward shore, its shape is changed by its collision with the shallow sea bottom.",
      "question_translation": " ___ Về phía bờ, hình dạng của nó được thay đổi khi nó va chạm với đáy biển cạn.",
      "options": [
        {
          "key": "A",
          "text": "During a wave rolls",
          "translation": "♪ Trong cơn sóng cuộn tròn ♪"
        },
        {
          "key": "B",
          "text": "As a wave rolls",
          "translation": "Khi sóng cuộn"
        },
        {
          "key": "C",
          "text": "A wave rolls",
          "translation": "Name"
        },
        {
          "key": "D",
          "text": "A wave's rolling",
          "translation": "Name"
        }
      ],
      "answer_translation": "Khi sóng cuốn về phía bờ, hình dạng của nó thay đổi khi nó va chạm với đáy biển cạn.",
      "simple_reason": "Cần vế phụ chỉ thời gian/quá trình trước vế chính.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q15",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 15,
      "answer": "C. in spite of the availability of",
      "reason": "in spite of + noun phrase; ba lựa chọn còn lại sai cấu trúc.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Natural silk is still highly prized _____ similar artificial fabrics.",
      "question_translation": "Tơ lụa tự nhiên vẫn được đánh giá cao ___ loại vải nhân tạo tương tự.",
      "options": [
        {
          "key": "A",
          "text": "although is available",
          "translation": "Mặc dù có sẵn"
        },
        {
          "key": "B",
          "text": "despite there are available",
          "translation": "Cho dù có thể"
        },
        {
          "key": "C",
          "text": "in spite of the availability of",
          "translation": "Mặc dù có sẵn"
        },
        {
          "key": "D",
          "text": "even though an availability of",
          "translation": "Mặc dù có sẵn"
        }
      ],
      "answer_translation": "lụa tự nhiên vẫn được đánh giá cao mặc dù có sẵn những loại vải nhân tạo tương tự.",
      "simple_reason": "In spite of + cụm danh từ; ba lựa chọn còn lại sai cấu trúc.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q16",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 16,
      "answer": "B. everywhere",
      "reason": "Collocation tự nhiên: almost everywhere in Utah.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Cattles ranches are found almost _____ in Utah.",
      "question_translation": "Nông trại mèo hầu như được tìm thấy ___ ở Utah.",
      "options": [
        {
          "key": "A",
          "text": "wherever",
          "translation": "nơi nào"
        },
        {
          "key": "B",
          "text": "everywhere",
          "translation": "Khắp nơi"
        },
        {
          "key": "C",
          "text": "overall",
          "translation": "tổng"
        },
        {
          "key": "D",
          "text": "somewhere",
          "translation": "nơi nào đó"
        }
      ],
      "answer_translation": "Nông trại Cattles được tìm thấy ở hầu hết mọi nơi ở Utah.",
      "simple_reason": "Collocation tự nhiên: almost everywhere in Utah.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q17",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 17,
      "answer": "D. Although",
      "reason": "Hai ý đối lập; sau chỗ trống là clause hoàn chỉnh.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ most people think of freezing as a relatively modern method of food preservation, it is actually one of the oldest.",
      "question_translation": " ___ Hầu hết mọi người nghĩ rằng đóng băng như một phương pháp bảo tồn thực phẩm tương đối hiện đại, nó thực sự là một trong những phương pháp lâu đời nhất.",
      "options": [
        {
          "key": "A",
          "text": "Even if",
          "translation": "Ngay cả khi"
        },
        {
          "key": "B",
          "text": "As though",
          "translation": "Như thể"
        },
        {
          "key": "C",
          "text": "However",
          "translation": "Tuy nhiên"
        },
        {
          "key": "D",
          "text": "Although",
          "translation": "Mặc dù"
        }
      ],
      "answer_translation": "Mặc dù phần đông người ta nghĩ rằng đóng băng là một phương pháp bảo tồn thực phẩm tương đối hiện đại, nhưng thực ra nó là một trong những phương pháp lâu đời nhất.",
      "simple_reason": "Hai ý đối lập; sau chỗ trống là vế câu hoàn chỉnh.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q18",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 18,
      "answer": "D. became famous",
      "reason": "Subject đã có; cần finite predicate.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "American actress and director Margaret Webster _____ for her production of Shakespearean plays.",
      "question_translation": "Diễn viên Mỹ và đạo diễn Margaret Webster ___ cho vở kịch của Shakespeare.",
      "options": [
        {
          "key": "A",
          "text": "who became famous",
          "translation": "người nổi tiếng"
        },
        {
          "key": "B",
          "text": "famous as she became",
          "translation": "nổi tiếng từ khi cô ấy trở thành"
        },
        {
          "key": "C",
          "text": "becoming famous",
          "translation": "Trở nên nổi tiếng"
        },
        {
          "key": "D",
          "text": "became famous",
          "translation": "Trở nên nổi tiếng"
        }
      ],
      "answer_translation": "Nữ diễn viên và đạo diễn người Mỹ Margaret Webster trở nên nổi tiếng với vở kịch của Shakespeare.",
      "simple_reason": "Chủ ngữ đã có; cần động từ chính đã chia theo thì.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q19",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 19,
      "answer": "D. introduced",
      "reason": "Tulips bị đưa vào Holland; reduced passive relative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Tulips, _____ into Holland in 1954, were quickly and highly valued and soon became the object of wild financial speculation in Europe.",
      "question_translation": "lips, ___ đến Hà Lan vào năm 1954, được nhanh chóng và có giá trị cao và chẳng bao lâu trở thành đối tượng của sự suy đoán tài chính hoang dã ở Âu Châu.",
      "options": [
        {
          "key": "A",
          "text": "which introduced",
          "translation": "đã giới thiệu"
        },
        {
          "key": "B",
          "text": "that they were introduced",
          "translation": "rằng họ đã được giới thiệu"
        },
        {
          "key": "C",
          "text": "which introduced them",
          "translation": "Mà giới thiệu họ"
        },
        {
          "key": "D",
          "text": "introduced",
          "translation": "đã giới thiệu"
        }
      ],
      "answer_translation": "Tulips, được giới thiệu ở Hà Lan vào năm 1954, đã nhanh chóng và có giá trị cao và chẳng bao lâu trở thành đối tượng của sự suy đoán tài chính hoang dã ở Âu Châu.",
      "simple_reason": "Tulips bị đưa vào Holland; mệnh đề quan hệ rút gọn bị động (người/vật nhận hành động).",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q20",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 20,
      "answer": "D. whose",
      "reason": "whose designs biểu thị sở hữu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Stevenson is an architect _____ designs have won international praise.",
      "question_translation": "Steven là kiến trúc sư ___ Thiết kế đã giành được lời khen quốc tế.",
      "options": [
        {
          "key": "A",
          "text": "who",
          "translation": "Ai"
        },
        {
          "key": "B",
          "text": "whom",
          "translation": "Ai"
        },
        {
          "key": "C",
          "text": "of whom",
          "translation": "của họ"
        },
        {
          "key": "D",
          "text": "whose",
          "translation": "của ai"
        }
      ],
      "answer_translation": "Stevenson là một kiến trúc sư có thiết kế đã giành được lời khen quốc tế.",
      "simple_reason": "Whose designs biểu thị sở hữu.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q21",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "D. it",
      "reason": "occurs đã là finite verb; cần subject pronoun.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Our feeling for beauty is inspired by the harmonious arrangement of order and disorder as _____ occurs in nature.",
      "question_translation": "Cảm giác của chúng ta về cái đẹp được truyền cảm hứng bởi sự sắp đặt hòa hợp của trật tự và rối loạn ___ xảy ra trong tự nhiên.",
      "options": [
        {
          "key": "A",
          "text": "it is",
          "translation": "Đúng vậy."
        },
        {
          "key": "B",
          "text": "there",
          "translation": "có"
        },
        {
          "key": "C",
          "text": "there is",
          "translation": "Có"
        },
        {
          "key": "D",
          "text": "it",
          "translation": "nó"
        }
      ],
      "answer_translation": "Cảm xúc của chúng ta về cái đẹp được soi dẫn bởi sự sắp đặt hòa hợp của trật tự và sự rối loạn trong thiên nhiên.",
      "simple_reason": "Occurs đã là động từ chính đã chia theo thì; cần đại từ làm chủ ngữ.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q22",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "A. the cotton textile industry is",
      "reason": "Sau Today cần clause có subject + finite verb.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Today _____ the single largest organized industry in India.",
      "question_translation": "Hôm nay ___ một ngành công nghiệp có tổ chức lớn nhất Ấn Độ.",
      "options": [
        {
          "key": "A",
          "text": "the cotton textile industry is",
          "translation": "Công nghiệp dệt bông là"
        },
        {
          "key": "B",
          "text": "it is the cotton textile industry",
          "translation": "Đó là ngành dệt vải bông."
        },
        {
          "key": "C",
          "text": "the cotton textile industry",
          "translation": "ngành dệt bông"
        },
        {
          "key": "D",
          "text": "there is the cotton textile industry",
          "translation": "Đó là ngành dệt vải bông."
        }
      ],
      "answer_translation": "Ngày nay ngành công nghiệp dệt bông là ngành công nghiệp có tổ chức lớn nhất Ấn Độ.",
      "simple_reason": "Sau Today cần vế câu có chủ ngữ + động từ chính đã chia theo thì.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q23",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "D. is called the Tar Heel State",
      "reason": "Subject North Carolina cần passive finite predicate.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "North Carolina _____ because of its production of tar, turpentine, and pitch.",
      "question_translation": "Bắc Carolina ___ Bởi vì nó sản xuất nhựa đường, nhựa thông, và nhựa thông.",
      "options": [
        {
          "key": "A",
          "text": "called the Tar Heel State",
          "translation": "được gọi là nhà nước Tar Heel"
        },
        {
          "key": "B",
          "text": "it is called the Tar Heel State",
          "translation": "Nó được gọi là nhà nước Tar Heel"
        },
        {
          "key": "C",
          "text": "which the Tar Heel State is called",
          "translation": "Mà nhà nước ta gọi là"
        },
        {
          "key": "D",
          "text": "is called the Tar Heel State",
          "translation": "được gọi là nhà nước Tar Heel"
        }
      ],
      "answer_translation": "Bắc Carolina được gọi là bang Tar Heel vì nó sản xuất nhựa đường, nhựa thông và đường ném.",
      "simple_reason": "Chủ ngữ North Carolina cần bị động động từ chính đã chia theo thì.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn D — is called the Tar Heel State vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q24",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "B. who",
      "reason": "Non-defining relative chỉ người; pronoun làm subject của traveled.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Marco Polo, _____ traveled to the Orient with his father and uncle, wrote a book about his travels.",
      "question_translation": "Marco Polo, ___ đã viết một cuốn sách về chuyến đi của ông.",
      "options": [
        {
          "key": "A",
          "text": "he",
          "translation": "he"
        },
        {
          "key": "B",
          "text": "who",
          "translation": "Ai"
        },
        {
          "key": "C",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "D",
          "text": "whom",
          "translation": "Ai"
        }
      ],
      "answer_translation": "Marco Polo, người đã cùng cha và chú đến phương Đông, viết một cuốn sách về chuyến đi của ông.",
      "simple_reason": "Mệnh đề quan hệ thêm thông tin chỉ người; pronoun làm chủ ngữ của traveled.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q25",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "C. caused",
      "reason": "Embedded subject an over-supply of blood cần finite verb quá khứ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Early settlers in America believed that an over-supply of blood _____ some diseases.",
      "question_translation": "Những người định cư đầu tiên ở Mỹ tin rằng một lượng máu quá cao ___ Vài căn bệnh.",
      "options": [
        {
          "key": "A",
          "text": "cause",
          "translation": "Nguyên nhân"
        },
        {
          "key": "B",
          "text": "it caused",
          "translation": "Nó gây ra"
        },
        {
          "key": "C",
          "text": "caused",
          "translation": "đã tạo"
        },
        {
          "key": "D",
          "text": "causing",
          "translation": "gây ra"
        }
      ],
      "answer_translation": "Những người định cư đầu tiên ở Mỹ tin rằng một lượng máu quá cao gây ra một số bệnh.",
      "simple_reason": "Embedded chủ ngữ an over-supply of blood cần động từ chính đã chia theo thì quá khứ.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q26",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "A. The compass",
      "reason": "Relative clause chen giữa; main clause cần noun phrase subject.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____, which had been brought to Europe from China in the 15th Century, helped seamen to navigate.",
      "question_translation": " ___ Từ Trung Quốc đến châu Âu vào thế kỷ 15 đã giúp các thủy thủ định hướng.",
      "options": [
        {
          "key": "A",
          "text": "The compass",
          "translation": "La bàn"
        },
        {
          "key": "B",
          "text": "It is the compass",
          "translation": "Đó là la bàn"
        },
        {
          "key": "C",
          "text": "With the compass",
          "translation": "♪ Với cái la bàn ♪"
        },
        {
          "key": "D",
          "text": "That the compass",
          "translation": "Đó là la bàn"
        }
      ],
      "answer_translation": "Chiếc la bàn được mang đến Châu Âu từ Trung Quốc vào thế kỷ 15, giúp các thủy thủ định hướng.",
      "simple_reason": "Mệnh đề quan hệ (vế đứng sau để mô tả danh từ) chen giữa; vế chính cần cụm danh từ chủ ngữ.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P67-GR2-Q27",
      "page": 67,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "A. responsible for",
      "reason": "Adjective phrase bổ nghĩa people; finite verb chính là have demanded.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The people _____ the kidnapping have demanded a million dollars in small bills.",
      "question_translation": "Người dân ___ Vụ bắt cóc đã đòi một triệu đô la trong những hóa đơn nhỏ.",
      "options": [
        {
          "key": "A",
          "text": "responsible for",
          "translation": "chịu trách nhiệm"
        },
        {
          "key": "B",
          "text": "that responsible for",
          "translation": "đó chịu trách nhiệm cho"
        },
        {
          "key": "C",
          "text": "are responsible for",
          "translation": "chịu trách nhiệm"
        },
        {
          "key": "D",
          "text": "who responsible for",
          "translation": "Ai chịu trách nhiệm"
        }
      ],
      "answer_translation": "Những người chịu trách nhiệm về vụ bắt cóc đã đòi hỏi một triệu đô la bằng những hóa đơn nhỏ.",
      "simple_reason": "Adjective phrase bổ nghĩa people; động từ chính đã chia theo thì chính là have demanded.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q28",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "A. are",
      "reason": "Subject số nhiều Sea foods cần finite predicate.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Sea foods _____ higher in sodium than fish from fresh water.",
      "question_translation": "Thức ăn biển ___ Lượng Natri cao hơn cá từ nước ngọt.",
      "options": [
        {
          "key": "A",
          "text": "are",
          "translation": "phải"
        },
        {
          "key": "B",
          "text": "which are",
          "translation": "là"
        },
        {
          "key": "C",
          "text": "that are",
          "translation": "Đó là"
        },
        {
          "key": "D",
          "text": "they are",
          "translation": "Họ là"
        }
      ],
      "answer_translation": "Thức ăn biển có lượng Natri cao hơn cá uống nước ngọt.",
      "simple_reason": "Chủ ngữ số nhiều Sea foods cần động từ chính đã chia theo thì.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q29",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "C. in which case",
      "reason": "Fixed connector quy chiếu toàn bộ tình huống trước: nếu thang máy hỏng thì dùng cầu thang.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The elevators may not be working, _____ you must use the stairs.",
      "question_translation": "Thang máy có thể không hoạt động. ___ Anh phải dùng cầu thang.",
      "options": [
        {
          "key": "A",
          "text": "in which",
          "translation": "trong đó"
        },
        {
          "key": "B",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "C",
          "text": "in which case",
          "translation": "Trong trường hợp đó"
        },
        {
          "key": "D",
          "text": "in that case",
          "translation": "Trong trường hợp đó"
        }
      ],
      "answer_translation": "Thang máy có thể không hoạt động, trong trường hợp đó bạn phải dùng cầu thang.",
      "simple_reason": "Fixed từ nối quy chiếu toàn bộ tình huống trước: nếu thang máy hỏng thì dùng cầu thang.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q30",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "B. where",
      "reason": "Relative adverb chỉ nơi chốn; where = in which.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Have you ever lived in a country _____ you couldn't speak the language?",
      "question_translation": "Bạn đã từng sống ở một đất nước ___ Anh không nói được tiếng Anh sao?",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "where",
          "translation": "nơi"
        },
        {
          "key": "C",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "D",
          "text": "in where",
          "translation": "trong đó"
        }
      ],
      "answer_translation": "Anh đã từng sống ở một đất nước mà anh không thể nói ngôn ngữ đó chưa?",
      "simple_reason": "Từ quan hệ chỉ nơi chốn/thời gian chỉ nơi chốn; where = in which.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q31",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "D. is one method",
      "reason": "Crop rotation cần finite predicate.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Crop rotation _____ of preserving soil fertility.",
      "question_translation": "Cắt Quay ___ của việc bảo tồn sự sinh sản đất đai.",
      "options": [
        {
          "key": "A",
          "text": "it is one method",
          "translation": "Nó là một phương pháp"
        },
        {
          "key": "B",
          "text": "one method",
          "translation": "một phương pháp"
        },
        {
          "key": "C",
          "text": "a method is one",
          "translation": "phương pháp là một"
        },
        {
          "key": "D",
          "text": "is one method",
          "translation": "là một phương pháp"
        }
      ],
      "answer_translation": "Thay phiên nhau là một phương pháp bảo tồn sự sinh sản của đất.",
      "simple_reason": "Crop rotation cần động từ chính đã chia theo thì.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q32",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "A. during",
      "reason": "during + noun phrase: exercise/weather.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Sweating increases _____ vigorous exercise or hot weather.",
      "question_translation": "Tăng mồ hôi ___ Tập thể dục mạnh hoặc thời tiết nóng.",
      "options": [
        {
          "key": "A",
          "text": "during",
          "translation": "trong suốt"
        },
        {
          "key": "B",
          "text": "when",
          "translation": "khi"
        },
        {
          "key": "C",
          "text": "at the time",
          "translation": "Lúc đó"
        },
        {
          "key": "D",
          "text": "for",
          "translation": "Vì"
        }
      ],
      "answer_translation": "Mồ hôi gia tăng trong thời tiết nóng hoặc vận động.",
      "simple_reason": "During + cụm danh từ: exercise/weather.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q33",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "D. in which",
      "reason": "Themes được ghi trong notebooks; preposition + relative pronoun.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "There is no doubt that Beethoven belongs to the constructive type of composers, for we have the notebooks _____ he put the themes down.",
      "question_translation": "Không còn nghi ngờ gì nữa Beethoven thuộc về những nhà soạn nhạc mang tính xây dựng, vì chúng ta có những cuốn sổ tay ___ Anh ta bỏ chủ đề xuống.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "in that",
          "translation": "trong đó"
        },
        {
          "key": "C",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "D",
          "text": "in which",
          "translation": "trong đó"
        }
      ],
      "answer_translation": "Không còn nghi ngờ gì nữa rằng Beethoven thuộc về các nhà soạn nhạc có tính xây dựng, vì chúng ta có những cuốn sổ ghi chép mà ông đặt các chủ đề xuống.",
      "simple_reason": "Themes được ghi trong notebooks; preposition + từ quan hệ.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q34",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "A. knowing",
      "reason": "Supplementary participial clause; main finite verb là decided.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The manager, _____ his factory's products were poor in quality, decided to give his workers further training.",
      "question_translation": "Người quản lý, ___ Sản phẩm của nhà máy của ông ấy rất kém chất lượng, quyết định huấn luyện thêm cho công nhân.",
      "options": [
        {
          "key": "A",
          "text": "knowing",
          "translation": "biết"
        },
        {
          "key": "B",
          "text": "known",
          "translation": "đã biết"
        },
        {
          "key": "C",
          "text": "to know",
          "translation": "để biết"
        },
        {
          "key": "D",
          "text": "knew",
          "translation": "biết"
        }
      ],
      "answer_translation": "Người quản lý, biết rằng sản phẩm của nhà máy của mình là kém chất lượng, quyết định cho nhân viên của mình đào tạo thêm.",
      "simple_reason": "Supplementary vế rút gọn bằng V-ing hoặc phân từ hai; main động từ chính đã chia theo thì là decided.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q35",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "C. During",
      "reason": "Theo sau là noun phrase the twenty-five years....",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ the twenty-five years of their marriage, the couple never argued.",
      "question_translation": " ___ Hai mươi lăm năm trong cuộc hôn nhân của họ, hai vợ chồng không bao giờ cãi nhau.",
      "options": [
        {
          "key": "A",
          "text": "Since",
          "translation": "Từ khi"
        },
        {
          "key": "B",
          "text": "Until",
          "translation": "Cho đến"
        },
        {
          "key": "C",
          "text": "During",
          "translation": "Trong suốt"
        },
        {
          "key": "D",
          "text": "While",
          "translation": "Trong khi"
        }
      ],
      "answer_translation": "Suốt 25 năm chung sống, hai vợ chồng không bao giờ cãi nhau.",
      "simple_reason": "Theo sau là cụm danh từ the twenty-five years....",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q36",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 36,
      "answer": "B. Even though",
      "reason": "Clause nhượng bộ đối lập với việc vẫn đọc được.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ there was no electricity, I was able to read because I had a candle.",
      "question_translation": " ___ Không có điện, tôi có thể đọc vì tôi có một cây nến.",
      "options": [
        {
          "key": "A",
          "text": "Unless",
          "translation": "Trừ khi"
        },
        {
          "key": "B",
          "text": "Even though",
          "translation": "Mặc dù"
        },
        {
          "key": "C",
          "text": "Even",
          "translation": "Ngay cả"
        },
        {
          "key": "D",
          "text": "Only if",
          "translation": "Chỉ khi"
        }
      ],
      "answer_translation": "Dù không có điện, nhưng tôi vẫn biết đọc vì có một cây nến.",
      "simple_reason": "Vế câu nhượng bộ đối lập với việc vẫn đọc được.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — Even though vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q38",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 38,
      "answer": "D. but",
      "reason": "Hai clauses tương phản; anyway củng cố nghĩa nhượng bộ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Jack insisted that he didn't need any help, _____ I helped him anyway.",
      "question_translation": "Jack nhất định không cần giúp đỡ. ___ Dù sao tôi cũng đã giúp anh ta.",
      "options": [
        {
          "key": "A",
          "text": "and",
          "translation": "và"
        },
        {
          "key": "B",
          "text": "besides",
          "translation": "Hơn nữa"
        },
        {
          "key": "C",
          "text": "so",
          "translation": "Vậy"
        },
        {
          "key": "D",
          "text": "but",
          "translation": "Nhưng"
        }
      ],
      "answer_translation": "Jack cứ khăng khăng là anh ấy không cần giúp, nhưng tôi vẫn giúp anh ấy.",
      "simple_reason": "Hai vế câu tương phản; anyway củng cố nghĩa nhượng bộ.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn D — but vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q39",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 39,
      "answer": "B. not being",
      "reason": "Despite + V-ing; “không giàu nhưng hào phóng”.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Despite _____ very rich, Lan is often generous to the poor.",
      "question_translation": "Mặc dù ___ Rất giàu, Lan thường rộng rãi với người nghèo.",
      "options": [
        {
          "key": "A",
          "text": "she is not",
          "translation": "Cô ấy không phải"
        },
        {
          "key": "B",
          "text": "not being",
          "translation": "không phải là"
        },
        {
          "key": "C",
          "text": "not to be",
          "translation": "không phải là"
        },
        {
          "key": "D",
          "text": "being",
          "translation": "đang"
        }
      ],
      "answer_translation": "Dù không giàu, Lan vẫn thường rộng rãi với người nghèo.",
      "simple_reason": "Despite + V-ing; “không giàu nhưng hào phóng”.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — not being vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR2-Q40",
      "page": 68,
      "page_range": [
        66,
        68
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 2",
      "section": "Ngữ pháp",
      "question": 40,
      "answer": "B. in that",
      "reason": "Fixed connector nghĩa “ở chỗ/rằng”, nêu phương diện khác biệt.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Computers differ from human brains _____ computers can't think.",
      "question_translation": "Máy tính khác với bộ não con người ___ Máy tính không thể suy nghĩ.",
      "options": [
        {
          "key": "A",
          "text": "in which",
          "translation": "trong đó"
        },
        {
          "key": "B",
          "text": "in that",
          "translation": "trong đó"
        },
        {
          "key": "C",
          "text": "because that",
          "translation": "bởi vì đó"
        },
        {
          "key": "D",
          "text": "for that",
          "translation": "Vì điều đó"
        }
      ],
      "answer_translation": "Máy tính khác với não người trong máy tính không thể suy nghĩ.",
      "simple_reason": "Fixed từ nối nghĩa “ở chỗ/rằng”, nêu phương diện khác biệt.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR3-Q01",
      "page": 68,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 1,
      "answer": "D. that",
      "reason": "Relative pronoun làm subject của are used.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Fish have nostrils _____ are used for smelling, not for breathing.",
      "question_translation": "Cá có lỗ mũi ___ được dùng để ngửi chứ không phải để thở.",
      "options": [
        {
          "key": "A",
          "text": "they",
          "translation": "họ"
        },
        {
          "key": "B",
          "text": "what",
          "translation": "Sao?"
        },
        {
          "key": "C",
          "text": "that they",
          "translation": "rằng họ"
        },
        {
          "key": "D",
          "text": "that",
          "translation": "đó"
        }
      ],
      "answer_translation": "Cá có lỗ mũi để ngửi chứ không phải để thở.",
      "simple_reason": "Từ quan hệ làm chủ ngữ của are used.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR3-Q02",
      "page": 68,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 2,
      "answer": "B. The hedgehogs",
      "reason": "found in New Zealand là reduced passive modifier; cần noun phrase subject.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ found in New Zealand were brought there by homesick immigrants.",
      "question_translation": " ___ Ở New Zealand, những người nhập cư nhớ nhà mang đến đó.",
      "options": [
        {
          "key": "A",
          "text": "The hedgehogs which",
          "translation": "Name"
        },
        {
          "key": "B",
          "text": "The hedgehogs",
          "translation": "Name"
        },
        {
          "key": "C",
          "text": "Where the hedgehogs",
          "translation": "Nơi những con nhím"
        },
        {
          "key": "D",
          "text": "The hedgehogs are",
          "translation": "Những con nhím là"
        }
      ],
      "answer_translation": "Những con nhím tìm thấy ở New Zealand được những người nhập cư nhớ nhà mang đến đó.",
      "simple_reason": "Found in New Zealand là cụm rút gọn bị động bổ nghĩa cho danh từ; cần cụm danh từ chủ ngữ.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR3-Q03",
      "page": 68,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 3,
      "answer": "B. forced",
      "reason": "Cherokee Indians bị ép đi về phía tây; reduced passive clause.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The Cherokee Indians, _____ west on the Trail of Tears in the late 1830s, were originally from the Appalachian Mountains.",
      "question_translation": "Người da đỏ người sói, ___ Về phía tây trên Con Đường Nước Mắt vào cuối những năm 1890, lúc đầu là từ Núi Áp - bi - ga.",
      "options": [
        {
          "key": "A",
          "text": "forcing",
          "translation": "Buộc"
        },
        {
          "key": "B",
          "text": "forced",
          "translation": "ép buộc"
        },
        {
          "key": "C",
          "text": "had forced",
          "translation": "Đã bắt buộc"
        },
        {
          "key": "D",
          "text": "are forced",
          "translation": "bị ép buộc"
        }
      ],
      "answer_translation": "Những người da đỏ thuộc dòng nước mắt thuộc miền tây vào cuối những năm 1890, gốc từ dãy núi Áp - bi - ga.",
      "simple_reason": "Cherokee Indians bị ép đi về phía tây; mệnh đề rút gọn bị động.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR3-Q04",
      "page": 68,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 4,
      "answer": "A. there is no",
      "reason": "Sau trạng ngữ On the Moon cần existential clause hoàn chỉnh.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "On the Moon, _____ air because the Moon's gravitational field is too weak to retain an atmosphere.",
      "question_translation": "Trên Mặt Trăng, ___ Không khí vì trọng trường của Mặt Trăng quá yếu để giữ lại bầu khí quyển.",
      "options": [
        {
          "key": "A",
          "text": "there is no",
          "translation": "Không có"
        },
        {
          "key": "B",
          "text": "where no",
          "translation": "nơi không có"
        },
        {
          "key": "C",
          "text": "no",
          "translation": "không"
        },
        {
          "key": "D",
          "text": "is no",
          "translation": "là không"
        }
      ],
      "answer_translation": "Trên Mặt Trăng, không có không khí vì trọng trường của Mặt Trăng quá yếu để giữ lại bầu khí quyển.",
      "simple_reason": "Sau trạng ngữ On the Moon cần existential vế câu hoàn chỉnh.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn A — there is no vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P68-GR3-Q05",
      "page": 68,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 5,
      "answer": "A. that Anna Winlock",
      "reason": "Cleft construction It was ... that ....",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It was in 1875 _____ joined the staff of the astronomical observatory at Harvard University.",
      "question_translation": "Đó là vào năm 1875 ___ Tham gia đội quan sát thiên văn học tại Đại học Harvard.",
      "options": [
        {
          "key": "A",
          "text": "that Anna Winlock",
          "translation": "Anna Winlock"
        },
        {
          "key": "B",
          "text": "Anna Winlock, who",
          "translation": "Anna Winlock, người"
        },
        {
          "key": "C",
          "text": "as Anna Winlock",
          "translation": "Anna Winlock"
        },
        {
          "key": "D",
          "text": "Anna Winlock then",
          "translation": "Anna Winlock"
        }
      ],
      "answer_translation": "Năm 1875 Anna Winlock gia nhập đội quan sát thiên văn tại Đại học Harvard.",
      "simple_reason": "Cleft construction It was ... that ....",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q06",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 6,
      "answer": "A. Until they have been cooked",
      "reason": "Seeds còn độc cho tới khi được nấu; subordinate passive clause.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____, the seeds of the Kentucky coffee plant are poisonous.",
      "question_translation": " ___ Hạt giống của nhà máy cà phê Kentucky có độc.",
      "options": [
        {
          "key": "A",
          "text": "Until they have been cooked",
          "translation": "Cho đến khi họ bị nấu chín."
        },
        {
          "key": "B",
          "text": "Cooking them",
          "translation": "Nấu nướng chúng."
        },
        {
          "key": "C",
          "text": "They have been cooked",
          "translation": "Họ đã bị nấu chín."
        },
        {
          "key": "D",
          "text": "Cooked until",
          "translation": "Nấu cho đến"
        }
      ],
      "answer_translation": "Cho đến khi nấu chín hạt giống của nhà máy cà phê Kentucky vẫn độc hại.",
      "simple_reason": "Seeds còn độc cho tới khi được nấu; subordinate bị động vế câu.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q07",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 7,
      "answer": "D. whose",
      "reason": "whose banks biểu thị sở hữu của river.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The river _____ banks used to be covered with fruit trees and flowers is now seriously polluted.",
      "question_translation": "Dòng sông ___ Các ngân hàng trước đây được bao phủ bởi cây ăn trái và hoa quả nay bị ô nhiễm trầm trọng.",
      "options": [
        {
          "key": "A",
          "text": "along which",
          "translation": "trên đó"
        },
        {
          "key": "B",
          "text": "where",
          "translation": "nơi"
        },
        {
          "key": "C",
          "text": "of which",
          "translation": "trong số đó"
        },
        {
          "key": "D",
          "text": "whose",
          "translation": "của ai"
        }
      ],
      "answer_translation": "Con sông mà các bờ sông từng được bao phủ bởi cây ăn trái và hoa quả giờ đây bị ô nhiễm trầm trọng.",
      "simple_reason": "Whose banks biểu thị sở hữu của river.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q08",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 8,
      "answer": "D. because of",
      "reason": "Theo sau là noun phrase all the exercise I take.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I'm much fitter now, _____ all the exercise I take.",
      "question_translation": "Bây giờ tôi khỏe hơn nhiều rồi. ___ Tất cả bài tập của tôi.",
      "options": [
        {
          "key": "A",
          "text": "since",
          "translation": "kể từ"
        },
        {
          "key": "B",
          "text": "because",
          "translation": "bởi vì"
        },
        {
          "key": "C",
          "text": "ever since",
          "translation": "kể từ khi"
        },
        {
          "key": "D",
          "text": "because of",
          "translation": "bởi vì"
        }
      ],
      "answer_translation": "Bây giờ tôi đã khỏe hơn nhiều, bởi vì tất cả những gì tôi làm.",
      "simple_reason": "Theo sau là cụm danh từ all the exercise I take.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q09",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 9,
      "answer": "D. that workers found",
      "reason": "Object relative; không lặp object bằng them/they.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Relics _____ accidentally while constructing a new subway line in Mexico City yielded new information about previous civilizations in the area.",
      "question_translation": "Trực tiếp ___ Trong khi xây dựng một đường tàu điện ngầm mới ở Thành phố Mexico cung cấp thông tin mới về những nền văn minh trước đó trong khu vực.",
      "options": [
        {
          "key": "A",
          "text": "that workers found them",
          "translation": "Mà công nhân tìm thấy họ"
        },
        {
          "key": "B",
          "text": "which workers they found",
          "translation": "Mà công nhân họ tìm thấy"
        },
        {
          "key": "C",
          "text": "that they were found by workers",
          "translation": "mà công nhân tìm thấy"
        },
        {
          "key": "D",
          "text": "that workers found",
          "translation": "mà công nhân tìm thấy"
        }
      ],
      "answer_translation": "Trong khi xây dựng đường tàu điện ngầm mới ở Thành Phố Mexico, công nhân tình cờ nhận được tin tức mới về những nền văn minh trước đó.",
      "simple_reason": "Mệnh đề quan hệ có từ quan hệ làm tân ngữ; không lặp object bằng them/they.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q10",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 10,
      "answer": "B. having",
      "reason": "Reduced active relative bổ nghĩa graduate students.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The advanced course in astrophysics will be open only to those graduate students _____ a grade point average of 3.8 or above.",
      "question_translation": "Khóa học nâng cao về vật lý thiên văn sẽ chỉ mở cho các sinh viên tốt nghiệp ___ điểm trung bình là 3.8 hoặc cao hơn.",
      "options": [
        {
          "key": "A",
          "text": "have",
          "translation": "có"
        },
        {
          "key": "B",
          "text": "having",
          "translation": "có"
        },
        {
          "key": "C",
          "text": "they will have",
          "translation": "Họ sẽ có"
        },
        {
          "key": "D",
          "text": "whom have",
          "translation": "ai có"
        }
      ],
      "answer_translation": "Khóa học nâng cao về vật lý thiên văn sẽ chỉ mở cho những sinh viên tốt nghiệp có điểm trung bình là 3.8 hoặc cao hơn.",
      "simple_reason": "Mệnh đề quan hệ rút gọn chủ động (người/vật tự làm hành động) bổ nghĩa graduate students.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q11",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 11,
      "answer": "C. some of which are",
      "reason": "Quantifier + of which mở relative clause đủ finite verb.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Cork, the second largest city in Ireland, is the site of many industries, _____ automobile manufacturing and whiskey distilling.",
      "question_translation": "Cork, thành phố lớn thứ hai ở Ireland, là khu vực của nhiều ngành công nghiệp, ___ Sản xuất xe hơi và chưng cất rượu.",
      "options": [
        {
          "key": "A",
          "text": "some of them are",
          "translation": "Một số"
        },
        {
          "key": "B",
          "text": "which some are",
          "translation": "mà một số là"
        },
        {
          "key": "C",
          "text": "some of which are",
          "translation": "Một số trong đó là"
        },
        {
          "key": "D",
          "text": "of which are some",
          "translation": "Trong số đó có một số"
        }
      ],
      "answer_translation": "Cork, thành phố lớn thứ hai ở Ireland, là địa điểm của nhiều ngành công nghiệp, một số là sản xuất xe hơi và chưng cất rượu whiskey.",
      "simple_reason": "Từ chỉ số lượng + of which mở mệnh đề quan hệ (vế đứng sau để mô tả danh từ) đủ động từ chính đã chia theo thì.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q12",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 12,
      "answer": "D. of which",
      "reason": "Chỉ phần nhìn thấy của icebergs: “one-ninth of which”.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Ships travelling in the North Atlantic during the winter must be constantly vigilant to avoid icebergs, large masses of ice _____ only one-ninth is visible above water.",
      "question_translation": "Những con tàu đi du lịch ở Bắc Đại Tây Dương trong mùa đông phải luôn luôn cảnh giác để tránh những tảng băng khổng lồ ___ Chỉ có một đêm nhìn thấy trên mặt nước.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "of that",
          "translation": "của điều đó"
        },
        {
          "key": "C",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "D",
          "text": "of which",
          "translation": "trong số đó"
        }
      ],
      "answer_translation": "Những con tàu di chuyển ở Bắc Đại Tây Dương trong mùa đông phải luôn luôn cảnh giác để tránh những tảng băng trôi, khối băng lớn mà chỉ có thể nhìn thấy được trên mặt nước.",
      "simple_reason": "Chỉ phần nhìn thấy của icebergs: “one-ninth of which”.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q13",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 13,
      "answer": "A. which they knew nothing about",
      "reason": "Object relative; preposition stranded cuối clause, không lặp it.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The Mikado, a warm-hearted spoof of a country _____ is one of the best loved works of the English operetta composers Gilbert and Sullivan.",
      "question_translation": "Mikado, một kẻ lừa đảo nhiệt tình của một đất nước. ___ là một trong những tác phẩm được yêu thích nhất của các nhạc sĩ người Anh Gilbert và Sullivan.",
      "options": [
        {
          "key": "A",
          "text": "which they knew nothing about",
          "translation": "Mà họ không biết gì về"
        },
        {
          "key": "B",
          "text": "that they knew nothing about it",
          "translation": "Rằng họ không biết gì về nó"
        },
        {
          "key": "C",
          "text": "about that they knew nothing",
          "translation": "Về điều đó họ không biết gì"
        },
        {
          "key": "D",
          "text": "they know nothing about it",
          "translation": "Họ không biết gì về nó."
        }
      ],
      "answer_translation": "Người Mikado, một kẻ lừa đảo nhiệt tình của một đất nước mà họ không hề biết đến là một trong những tác phẩm yêu thích nhất của nhà soạn nhạc người Anh Gilbert và Sullivan.",
      "simple_reason": "Mệnh đề quan hệ có từ quan hệ làm tân ngữ; preposition stranded cuối vế câu, không lặp it.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q14",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 14,
      "answer": "C. is best known",
      "reason": "Main subject Pearl Buck cần finite predicate sau relative clause chen giữa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Pearl Buck, who was the first American woman to win a Nobel prize for literature, _____ for her novel The Good Earth.",
      "question_translation": "Pearl Buck, người phụ nữ Mỹ đầu tiên giành giải Nobel cho văn học, ___ Cho cuốn tiểu thuyết \"Địa cầu tốt đẹp\".",
      "options": [
        {
          "key": "A",
          "text": "who is best known",
          "translation": "Ai nổi tiếng nhất?"
        },
        {
          "key": "B",
          "text": "she is best known",
          "translation": "Cô ấy nổi tiếng nhất"
        },
        {
          "key": "C",
          "text": "is best known",
          "translation": "là tốt nhất"
        },
        {
          "key": "D",
          "text": "best known",
          "translation": "nổi bật nhất"
        }
      ],
      "answer_translation": "Pearl Buck, người phụ nữ Mỹ đầu tiên giành giải Nobel cho văn học, được biết đến nhiều nhất bởi cuốn tiểu thuyết \"Địa cầu tốt đẹp\".",
      "simple_reason": "Chủ ngữ của câu chính Pearl Buck cần động từ chính đã chia theo thì sau mệnh đề quan hệ (vế đứng sau để mô tả danh từ) chen giữa.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q15",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 15,
      "answer": "D. starring",
      "reason": "Present participle bổ sung cast; finite predicate chính là is playing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Gigantic, _____ Ronaldo Di Caprio and Kit Winslow, is playing at a theater near you.",
      "question_translation": "Gigantic, ___ Ronaldo Di Caprio và Kit hộp đêm, đang chơi ở một rạp hát gần anh.",
      "options": [
        {
          "key": "A",
          "text": "which starring",
          "translation": "sao"
        },
        {
          "key": "B",
          "text": "that starring",
          "translation": "ngôi sao"
        },
        {
          "key": "C",
          "text": "in which starring",
          "translation": "trong đó sao"
        },
        {
          "key": "D",
          "text": "starring",
          "translation": "ngôi sao"
        }
      ],
      "answer_translation": "Gigantic, diễn viên nhạc starroo Di Caprio và Kit hộp, đang chơi ở một rạp hát gần anh.",
      "simple_reason": "Động từ thêm -ing, thường mang nghĩa chủ động bổ sung cast; động từ chính đã chia theo thì chính là is playing.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q16",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 16,
      "answer": "A. The compass",
      "reason": "Relative clause chen giữa; cần subject cho helped.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____, which had been brought to Europe from China in the 15th Century, helped seamen to navigate.",
      "question_translation": " ___ Từ Trung Quốc đến châu Âu vào thế kỷ 15 đã giúp các thủy thủ định hướng.",
      "options": [
        {
          "key": "A",
          "text": "The compass",
          "translation": "La bàn"
        },
        {
          "key": "B",
          "text": "It is the compass",
          "translation": "Đó là la bàn"
        },
        {
          "key": "C",
          "text": "With the compass",
          "translation": "♪ Với cái la bàn ♪"
        },
        {
          "key": "D",
          "text": "That the compass",
          "translation": "Đó là la bàn"
        }
      ],
      "answer_translation": "Chiếc la bàn được mang đến Châu Âu từ Trung Quốc vào thế kỷ 15, giúp các thủy thủ định hướng.",
      "simple_reason": "Mệnh đề quan hệ (vế đứng sau để mô tả danh từ) chen giữa; cần chủ ngữ cho helped.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q17",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 17,
      "answer": "A. when",
      "reason": "Relative adverb chỉ thời gian cho the day.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Giselle has fond memories of the day _____ she met her husband.",
      "question_translation": "Giselle có những kỷ niệm đẹp trong ngày. ___ Cô ấy đã gặp chồng mình.",
      "options": [
        {
          "key": "A",
          "text": "when",
          "translation": "khi"
        },
        {
          "key": "B",
          "text": "where",
          "translation": "nơi"
        },
        {
          "key": "C",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "D",
          "text": "whom",
          "translation": "Ai"
        }
      ],
      "answer_translation": "Giselle có những kỷ niệm đẹp về ngày cô ấy gặp chồng.",
      "simple_reason": "Từ quan hệ chỉ nơi chốn/thời gian chỉ thời gian cho the day.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn A — when vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q18",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 18,
      "answer": "C. that have not slipped",
      "reason": "Relative pronoun làm subject; antecedent số nhiều fault lines.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Researchers may be able to find and monitor San Andreas earthquake fault lines _____ since 1857 or earlier.",
      "question_translation": "Các nhà nghiên cứu có thể tìm thấy và theo dõi các dòng tắc nghẽn động đất San Andreas ___ Từ năm 1857 hoặc sớm hơn.",
      "options": [
        {
          "key": "A",
          "text": "where have not slipped",
          "translation": "nơi đã không trượt"
        },
        {
          "key": "B",
          "text": "have not slipped",
          "translation": "đã không trượt"
        },
        {
          "key": "C",
          "text": "that have not slipped",
          "translation": "mà đã không trượt"
        },
        {
          "key": "D",
          "text": "have not been slipped",
          "translation": "đã không bị trượt"
        }
      ],
      "answer_translation": "Các nhà nghiên cứu có thể tìm thấy và theo dõi các đường phay động đất ở San Andreas từ năm 1857 hoặc sớm hơn.",
      "simple_reason": "Từ quan hệ làm chủ ngữ; danh từ đứng trước mà từ quan hệ thay thế số nhiều fault lines.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P69-GR3-Q19",
      "page": 69,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 19,
      "answer": "A. the famous endangered snail darter",
      "reason": "Noun phrase đồng vị giải thích a little fish.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "After 116 million dollars had been spent, the Supreme Court stopped construction of the dam because of a little fish, _____.",
      "question_translation": "Sau khi 116 triệu đô la đã được chi tiêu, Tòa án Tối cao đã ngừng xây đập vì một con cá nhỏ, ___ .",
      "options": [
        {
          "key": "A",
          "text": "the famous endangered snail darter",
          "translation": "Người phi tiêu có nguy cơ tuyệt chủng"
        },
        {
          "key": "B",
          "text": "it was the famous endangered snail darter",
          "translation": "Đó là phi tiêu có nguy cơ tuyệt chủng."
        },
        {
          "key": "C",
          "text": "that is the famous endangered snail darter",
          "translation": "Đó là phi tiêu có nguy cơ tuyệt chủng"
        },
        {
          "key": "D",
          "text": "which the famous endangered snail darter",
          "translation": "Mà phi tiêu ốc sên đang gặp nguy hiểm"
        }
      ],
      "answer_translation": "Sau khi đã chi 116 triệu đô la, Tối cao Pháp viện ngưng xây đập vì một con cá nhỏ, con ốc sên nổi tiếng đang bị đe dọa.",
      "simple_reason": "Cụm danh từ đồng vị giải thích a little fish.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn A — the famous endangered snail darter vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q20",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 20,
      "answer": "D. surviving in industrial areas",
      "reason": "Reduced active relative; finite predicate chính là have ... become.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The black moths _____ have genetically become more tolerant of pollution.",
      "question_translation": "Con bướm đêm đen ___ di truyền trở nên khoan dung hơn với sự ô nhiễm.",
      "options": [
        {
          "key": "A",
          "text": "survive in industrial areas",
          "translation": "sống sót trong khu công nghiệp"
        },
        {
          "key": "B",
          "text": "survived in industrial areas",
          "translation": "Sống sót trong khu công nghiệp"
        },
        {
          "key": "C",
          "text": "survival in industrial areas",
          "translation": "Sống sót trong khu công nghiệp"
        },
        {
          "key": "D",
          "text": "surviving in industrial areas",
          "translation": "Sống sót trong khu công nghiệp"
        }
      ],
      "answer_translation": "Những con bướm đêm đen sống sót trong khu vực công nghiệp đã trở nên dễ chịu hơn về mặt di truyền.",
      "simple_reason": "Mệnh đề quan hệ rút gọn chủ động (người/vật tự làm hành động); động từ chính đã chia theo thì chính là have ... become.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q21",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 21,
      "answer": "C. which had disintegrated",
      "reason": "Non-defining relative chỉ vật; hành động xảy ra trước were displayed.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The king's burial shoes, _____ except for some decorative strips of gold, were displayed on a clay model.",
      "question_translation": "Giày mai táng của nhà vua, ___ Ngoại trừ một số mảnh vàng trang trí, được trưng bày trên một mẫu đất sét.",
      "options": [
        {
          "key": "A",
          "text": "who was disintegrating",
          "translation": "người đã tan rã"
        },
        {
          "key": "B",
          "text": "when disintegrating",
          "translation": "khi tan rã"
        },
        {
          "key": "C",
          "text": "which had disintegrated",
          "translation": "Mà đã bị phân hủy"
        },
        {
          "key": "D",
          "text": "that had disintegrated",
          "translation": "đã phân hủy"
        }
      ],
      "answer_translation": "Đôi giày mai táng của nhà vua, đã bị phân hủy ngoại trừ một số mảnh vàng trang trí, được trưng bày trên một mô hình đất sét.",
      "simple_reason": "Mệnh đề quan hệ thêm thông tin chỉ vật; hành động xảy ra trước were displayed.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q22",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 22,
      "answer": "D. which grows",
      "reason": "Full non-defining relative bổ nghĩa the cork oak. C growing cũng có thể đọc như reduced/supplementary clause.",
      "detail": "",
      "label": "Tạm thời",
      "status": "provisional",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The commercial bottle cork is obtained from the cork oak, _____ in the Mediterranean region.",
      "question_translation": "Cái nút chai thương mại được lấy từ cây sồi nút chai, ___ Ở Địa Trung Hải.",
      "options": [
        {
          "key": "A",
          "text": "who grows",
          "translation": "Ai phát triển"
        },
        {
          "key": "B",
          "text": "is growing",
          "translation": "đang phát triển"
        },
        {
          "key": "C",
          "text": "growing",
          "translation": "Đang tăng"
        },
        {
          "key": "D",
          "text": "which grows",
          "translation": "mà phát triển"
        }
      ],
      "answer_translation": "Cái nút chai thương mại được lấy từ cây sồi nút chai mọc ở vùng Địa Trung Hải.",
      "simple_reason": "Mệnh đề quan hệ đầy đủ, chỉ thêm thông tin bổ nghĩa the cork oak. C growing cũng có thể đọc như vế rút gọn dùng để bổ sung thông tin.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q23",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 23,
      "answer": "C. which",
      "reason": "Relative pronoun làm subject của must be kept moist, antecedent là skin.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Earthworms breathe through their skin _____ must be kept moist.",
      "question_translation": "Sâu đất thở qua làn da của chúng ___ Phải giữ ẩm ướt.",
      "options": [
        {
          "key": "A",
          "text": "and which",
          "translation": "và"
        },
        {
          "key": "B",
          "text": "they",
          "translation": "họ"
        },
        {
          "key": "C",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "D",
          "text": "who",
          "translation": "Ai"
        }
      ],
      "answer_translation": "Giun đất thở qua làn da phải giữ ẩm.",
      "simple_reason": "Từ quan hệ làm chủ ngữ của must be kept moist, danh từ đứng trước mà từ quan hệ thay thế là skin.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q24",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 24,
      "answer": "B. neither",
      "reason": "Cặp neither ... nor.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Blindfish, which spend their whole lives in caves, have _____ eyes nor body pigments.",
      "question_translation": "Cá mù, chúng sống cả đời trong hang động, ___ Mắt hay sắc tố cơ thể.",
      "options": [
        {
          "key": "A",
          "text": "not any",
          "translation": "không phải"
        },
        {
          "key": "B",
          "text": "neither",
          "translation": "cũng không"
        },
        {
          "key": "C",
          "text": "nor",
          "translation": "cũng không"
        },
        {
          "key": "D",
          "text": "without",
          "translation": "không có"
        }
      ],
      "answer_translation": "Cá mù, cả đời sống trong hang động, không có mắt hay sắc tố.",
      "simple_reason": "Cặp neither ... nor.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án B, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q25",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 25,
      "answer": "C. whose life was dedicated",
      "reason": "Non-defining relative chỉ sở hữu; passive was dedicated to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Concepts of modern nursing were founded by Florence Nightingale, an English nurse _____ to the care of the sick and the war-wounded.",
      "question_translation": "Ý tưởng y tá hiện đại được thành lập bởi Florence Nightingale, một y tá người Anh ___ để chăm sóc cho người bệnh và người bị chiến tranh tàn phá.",
      "options": [
        {
          "key": "A",
          "text": "that she dedicated her life",
          "translation": "rằng cô đã dâng hiến cuộc đời mình"
        },
        {
          "key": "B",
          "text": "which life she dedicated",
          "translation": "cuộc sống mà cô ấy dâng hiến"
        },
        {
          "key": "C",
          "text": "whose life was dedicated",
          "translation": "có cuộc sống được hiến dâng"
        },
        {
          "key": "D",
          "text": "whose life she dedicated it",
          "translation": "♪ Cuộc sống đã dâng hiến nó ♪"
        }
      ],
      "answer_translation": "Những nhận xét của y tá hiện đại được thành lập bởi Florence Nightingale, một y tá người Anh, người đã cống hiến cả cuộc đời mình cho sự chăm sóc của những người bệnh hoạn và chiến tranh.",
      "simple_reason": "Mệnh đề quan hệ thêm thông tin chỉ sở hữu; bị động was dedicated to.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q26",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 26,
      "answer": "C. all of which",
      "reason": "Quantifier + relative pronoun làm subject của absorb.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Noise in a room may be reduced by carpeting, draperies, and upholstered furniture, _____ absorb sound.",
      "question_translation": "Tiếng ồn trong một căn phòng có thể được giảm bớt bởi thảm trải thảm, vải bạt, và đồ đạc nhàu, ___ hấp thụ âm thanh.",
      "options": [
        {
          "key": "A",
          "text": "which they all",
          "translation": "Mà tất cả"
        },
        {
          "key": "B",
          "text": "of them all",
          "translation": "của tất cả"
        },
        {
          "key": "C",
          "text": "all of which",
          "translation": "tất cả"
        },
        {
          "key": "D",
          "text": "of all which",
          "translation": "của tất cả"
        }
      ],
      "answer_translation": "Tiếng ồn trong phòng có thể được giảm đi bởi thảm trải thảm, vải bạt, và đồ đạc nhà cửa, tất cả đều hấp thụ âm thanh.",
      "simple_reason": "Từ chỉ số lượng + từ quan hệ làm chủ ngữ của absorb.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q27",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 27,
      "answer": "D. it produces",
      "reason": "Object relative bỏ that: “the energy [that] it produces by burning...”.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Few visitors to Disney World are aware that much of its electrical power comes from the energy _____ by burning its own garbage.",
      "question_translation": "Ít du khách đến Disney World nhận thức được rằng phần lớn điện năng của nó đến từ năng lượng ___ Bằng cách đốt rác của chính nó.",
      "options": [
        {
          "key": "A",
          "text": "is produced",
          "translation": "được sản xuất"
        },
        {
          "key": "B",
          "text": "producing",
          "translation": "sản xuất"
        },
        {
          "key": "C",
          "text": "which it is produced",
          "translation": "Mà nó được sản xuất"
        },
        {
          "key": "D",
          "text": "it produces",
          "translation": "Nó tạo ra"
        }
      ],
      "answer_translation": "Ít du khách đến Disney World biết rằng phần lớn điện năng của nó đến từ năng lượng nó sản xuất bằng cách đốt rác thải của chính nó.",
      "simple_reason": "Mệnh đề quan hệ có từ quan hệ làm tân ngữ bỏ that: “the energy [that] it produces by burning...”.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q28",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 28,
      "answer": "D. whose",
      "reason": "whose parents biểu thị sở hữu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Ben, _____ parents live in Paris, now lives in Toronto.",
      "question_translation": "Ben, ___ Bố mẹ sống ở Paris, giờ sống ở Toronto.",
      "options": [
        {
          "key": "A",
          "text": "of whom",
          "translation": "của họ"
        },
        {
          "key": "B",
          "text": "who",
          "translation": "Ai"
        },
        {
          "key": "C",
          "text": "whom",
          "translation": "Ai"
        },
        {
          "key": "D",
          "text": "whose",
          "translation": "của ai"
        }
      ],
      "answer_translation": "Ben, có cha mẹ sống ở Paris, nay sống ở Toronto.",
      "simple_reason": "Whose parents biểu thị sở hữu.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q29",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 29,
      "answer": "C. which",
      "reason": "which quy chiếu toàn bộ clause trước trong non-defining relative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Dan always left the milk out of the fridge, _____ really annoyed her.",
      "question_translation": "Dan luôn để sữa trong tủ lạnh. ___ Thực sự làm cô ấy khó chịu.",
      "options": [
        {
          "key": "A",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "B",
          "text": "what",
          "translation": "Sao?"
        },
        {
          "key": "C",
          "text": "which",
          "translation": "mà"
        },
        {
          "key": "D",
          "text": "where",
          "translation": "nơi"
        }
      ],
      "answer_translation": "Dan luôn để sữa trong tủ lạnh, khiến cô ấy khó chịu.",
      "simple_reason": "Which quy chiếu toàn bộ vế câu trước trong mệnh đề quan hệ thêm thông tin.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án C, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q30",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 30,
      "answer": "A. so",
      "reason": "Quan hệ kết quả: không cần tiêu hóa, nên có thể đi thẳng vào máu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Glucose does not have to be digested, _____ it can be put directly into the bloodstream.",
      "question_translation": "Không cần phải tiêu hóa Glucose, ___ Nó có thể được đưa thẳng vào máu.",
      "options": [
        {
          "key": "A",
          "text": "so",
          "translation": "Vậy"
        },
        {
          "key": "B",
          "text": "while",
          "translation": "trong khi"
        },
        {
          "key": "C",
          "text": "and since",
          "translation": "và từ đó"
        },
        {
          "key": "D",
          "text": "nor",
          "translation": "cũng không"
        }
      ],
      "answer_translation": "Không cần phải tiêu hóa chất Glucose, vì thế nó có thể được đưa thẳng vào máu.",
      "simple_reason": "Quan hệ kết quả: không cần tiêu hóa, nên có thể đi thẳng vào máu.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q31",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 31,
      "answer": "D. who wish to live in rural areas",
      "reason": "Relative clause bổ nghĩa people; subject của main clause vẫn là people.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The many people _____ must be willing to commute a long distance to work.",
      "question_translation": "Nhiều người ___ Phải sẵn sàng đi một quãng đường dài để làm việc.",
      "options": [
        {
          "key": "A",
          "text": "wished to live in rural areas",
          "translation": "Muốn sống ở vùng nông thôn"
        },
        {
          "key": "B",
          "text": "wished they lived in rural areas",
          "translation": "Ước gì họ sống ở vùng nông thôn"
        },
        {
          "key": "C",
          "text": "those wishing to live in rural areas",
          "translation": "những người muốn sống ở vùng nông thôn"
        },
        {
          "key": "D",
          "text": "who wish to live in rural areas",
          "translation": "người muốn sống ở vùng nông thôn"
        }
      ],
      "answer_translation": "Nhiều người muốn sống ở vùng nông thôn phải sẵn sàng đi một quãng đường dài để làm việc.",
      "simple_reason": "Mệnh đề quan hệ (vế đứng sau để mô tả danh từ) bổ nghĩa people; chủ ngữ của vế chính vẫn là people.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q32",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 32,
      "answer": "A. When compared",
      "reason": "Reduced passive adverbial clause: mountain được so với kích thước Trái Đất.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "_____ with the size of the whole earth, the highest mountain does not seem high.",
      "question_translation": " ___ Với kích thước của cả trái đất, ngọn núi cao nhất dường như không cao.",
      "options": [
        {
          "key": "A",
          "text": "When compared",
          "translation": "Khi so sánh"
        },
        {
          "key": "B",
          "text": "While comparing",
          "translation": "Trong khi so sánh"
        },
        {
          "key": "C",
          "text": "To compare",
          "translation": "Để so sánh"
        },
        {
          "key": "D",
          "text": "Comparing",
          "translation": "Đang so sánh"
        }
      ],
      "answer_translation": "Khi so sánh với kích thước của cả trái đất, ngọn núi cao nhất dường như không cao.",
      "simple_reason": "Vế trạng ngữ rút gọn ở dạng bị động: mountain được so với kích thước Trái Đất.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án A, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q33",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 33,
      "answer": "D. that it is",
      "reason": "Correlative construction such ... that; result clause cần subject + finite verb.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The bird's egg is such an efficient structure for protecting the embryo inside _____ difficult for the hatchling to break.",
      "question_translation": "Quả trứng của chim là một cấu trúc hiệu quả để bảo vệ phôi thai bên trong ___ Khó mà phá vỡ được nó.",
      "options": [
        {
          "key": "A",
          "text": "that is",
          "translation": "Đó là"
        },
        {
          "key": "B",
          "text": "that",
          "translation": "đó"
        },
        {
          "key": "C",
          "text": "and is",
          "translation": "và là"
        },
        {
          "key": "D",
          "text": "that it is",
          "translation": "rằng nó là"
        }
      ],
      "answer_translation": "Quả trứng của con chim là một cấu trúc hiệu quả để bảo vệ phôi thai bên trong đến nỗi rất khó cho con chim nở vỡ ra.",
      "simple_reason": "Correlative construction such ... that; result vế câu cần chủ ngữ + động từ chính đã chia theo thì.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q34",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 34,
      "answer": "D. drops",
      "reason": "Even if mở finite conditional clause; subject số ít.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Even if the unemployment rate _____ sharply, the drop may still be temporary.",
      "question_translation": "Ngay cả khi tỷ lệ thất nghiệp ___ Nói thẳng ra, vụ rơi xuống vẫn có thể là tạm thời.",
      "options": [
        {
          "key": "A",
          "text": "to drop",
          "translation": "thả"
        },
        {
          "key": "B",
          "text": "dropping",
          "translation": "thả"
        },
        {
          "key": "C",
          "text": "have dropped",
          "translation": "Thả rồi"
        },
        {
          "key": "D",
          "text": "drops",
          "translation": "giọt"
        }
      ],
      "answer_translation": "Ngay cả khi tỷ lệ thất nghiệp giảm mạnh, sự giảm xuống vẫn có thể là tạm thời.",
      "simple_reason": "Even if mở có động từ chính đã chia theo thì vế điều kiện; chủ ngữ số ít.",
      "solution_steps": [
        "Tìm chủ ngữ: ai hoặc cái gì được nói tới.",
        "Tìm động từ chính của câu.",
        "Điền đáp án D, rồi đọc lại cả câu để kiểm tra nghĩa và cấu trúc."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P70-GR3-Q35",
      "page": 70,
      "page_range": [
        68,
        70
      ],
      "kind": "grammar",
      "unit": "Grammar Practice 3",
      "section": "Ngữ pháp",
      "question": 35,
      "answer": "B. yet",
      "reason": "Hai independent clauses tương phản; cần coordinating conjunction.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Consumers are armed with more information than ever, _____ they have never been more confused.",
      "question_translation": "Người tiêu dùng được trang bị nhiều thông tin hơn bao giờ hết, ___ họ chưa bao giờ bối rối hơn.",
      "options": [
        {
          "key": "A",
          "text": "however",
          "translation": "Tuy nhiên"
        },
        {
          "key": "B",
          "text": "yet",
          "translation": "Chưa"
        },
        {
          "key": "C",
          "text": "nevertheless",
          "translation": "Tuy nhiên"
        },
        {
          "key": "D",
          "text": "in fact",
          "translation": "Thật ra"
        }
      ],
      "answer_translation": "Người tiêu dùng được trang bị nhiều thông tin hơn bao giờ hết, nhưng họ chưa bao giờ nhầm lẫn như thế.",
      "simple_reason": "Hai hai vế đều có chủ ngữ và động từ chính tương phản; cần từ nối hai vế ngang hàng.",
      "solution_steps": [
        "Tách câu thành hai ý.",
        "Xác định quan hệ: thời gian, nguyên nhân, tương phản hay kết quả.",
        "Chọn B — yet vì nó nối hai ý đúng nghĩa."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST1-Q01",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 1",
      "section": "although/even though/though ↔ despite/in spite of",
      "question": 1,
      "answer": "In spite of trying very hard, we failed.",
      "reason": "Cùng subject nên có thể dùng V-ing.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Although we tried very hard, we failed.\nIn spite _____.",
      "question_translation": "Dù cố gắng hết sức nhưng chúng tôi đã thất bại.\nViết lại câu, bắt đầu bằng: In spite _____.",
      "options": [],
      "answer_translation": "Dù cố gắng hết sức nhưng chúng tôi đã thất bại.",
      "simple_reason": "Cùng chủ ngữ nên có thể dùng V-ing.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST1-Q02",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 1",
      "section": "although/even though/though ↔ despite/in spite of",
      "question": 2,
      "answer": "Despite being very tired, he kept on working.",
      "reason": "despite + V-ing.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Although he was very tired, he kept on working.\nDespite _____.",
      "question_translation": "Mặc dù rất mệt mỏi, ông vẫn tiếp tục làm việc.\nViết lại câu, bắt đầu bằng: Despite _____.",
      "options": [],
      "answer_translation": "Dù rất mệt nhưng anh vẫn tiếp tục làm việc.",
      "simple_reason": "Despite + V-ing.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST1-Q03",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 1",
      "section": "although/even though/though ↔ despite/in spite of",
      "question": 3,
      "answer": "John was able to compete in the race even though he had several broken bones.",
      "reason": "even though + clause.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Despite having several broken bones, John was able to compete in the race.\nJohn was able to compete in the race even _____ several broken bones.",
      "question_translation": "Dù bị gãy vài xương nhưng anh John vẫn có thể tham gia cuộc đua.\nViết lại câu, bắt đầu bằng: John was able to compete in the race even _____ several broken bones.",
      "options": [],
      "answer_translation": "Anh John đã có thể thi đấu trong cuộc đua dù bị gãy vài xương.",
      "simple_reason": "Even though + vế câu.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST1-Q04",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 1",
      "section": "although/even though/though ↔ despite/in spite of",
      "question": 4,
      "answer": "Despite the heavy rain, my father went to work.",
      "reason": "Không rút gọn theo subject vì it và my father khác nhau; đổi sang noun phrase.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Although it rained heavily, my father went to work.\nDespite the _____.",
      "question_translation": "Mặc dù trời mưa to, cha tôi đi làm.\nViết lại câu, bắt đầu bằng: Despite the _____.",
      "options": [],
      "answer_translation": "Dù mưa lớn, cha tôi vẫn đi làm.",
      "simple_reason": "Không rút gọn theo chủ ngữ vì it và my father khác nhau; đổi sang cụm danh từ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST1-Q05",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 1",
      "section": "although/even though/though ↔ despite/in spite of",
      "question": 5,
      "answer": "Although I admire Shakespeare's comedies, I cannot agree that they are any superior to his tragedies.",
      "reason": "although + subject + finite verb.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "In spite of admiring Shakespeare's comedies, I cannot agree that they are any superior to his tragedies.\nAlthough I _____, I cannot agree that they are any superior to his tragedies.",
      "question_translation": "Mặc dù ngưỡng mộ những hài kịch của Shakespeare, tôi không thể đồng ý rằng chúng vượt trội hơn bi kịch của ông.\nViết lại câu, bắt đầu bằng: Although I _____, I cannot agree that they are any superior to his tragedies.",
      "options": [],
      "answer_translation": "Mặc dù tôi ngưỡng mộ hài kịch của Shakespeare, tôi không thể đồng ý rằng chúng vượt trội hơn bi kịch của ông.",
      "simple_reason": "Although + chủ ngữ + động từ chính đã chia theo thì.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST2-Q01",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 2",
      "section": "extraposition với it",
      "question": 1,
      "answer": "To be there on time is important.",
      "reason": "Đưa to-infinitive lên làm subject.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It's important to be there on time.\nTo be _____.",
      "question_translation": "Điều quan trọng là đến đúng giờ.\nViết lại câu, bắt đầu bằng: To be _____.",
      "options": [],
      "answer_translation": "Đến đúng giờ là điều quan trọng.",
      "simple_reason": "Đưa to-infinitive lên làm chủ ngữ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST2-Q02",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 2",
      "section": "extraposition với it",
      "question": 2,
      "answer": "To understand what she's talking about is difficult.",
      "reason": "Giữ embedded clause what....",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It's difficult to understand what she's talking about.\nTo understand _____.",
      "question_translation": "Thật khó để hiểu cô ấy đang nói gì.\nViết lại câu, bắt đầu bằng: To understand _____.",
      "options": [],
      "answer_translation": "Để hiểu những gì cô ấy nói là khó khăn.",
      "simple_reason": "Giữ embedded vế câu what....",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST2-Q03",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 2",
      "section": "extraposition với it",
      "question": 3,
      "answer": "To spend a day in the country is very relaxing.",
      "reason": "to-infinitive làm subject.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It is very relaxing to spend a day in the country.\nTo spend _____.",
      "question_translation": "Thật là thoải mái khi ở trong nước một ngày.\nViết lại câu, bắt đầu bằng: To spend _____.",
      "options": [],
      "answer_translation": "Dành một ngày ở nước này rất thoải mái.",
      "simple_reason": "To-infinitive làm chủ ngữ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST2-Q04",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 2",
      "section": "extraposition với it",
      "question": 4,
      "answer": "Living on your salary must be hard.",
      "reason": "Gerund phrase làm subject; giữ modal must.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It must be hard to live on your salary.\nLiving _____.",
      "question_translation": "Sống bằng lương chắc khó khăn lắm.\nViết lại câu, bắt đầu bằng: Living _____.",
      "options": [],
      "answer_translation": "Sống bằng tiền lương chắc khó khăn lắm.",
      "simple_reason": "Gerund phrase làm chủ ngữ; giữ modal must.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P71-ST2-Q05",
      "page": 71,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 2",
      "section": "extraposition với it",
      "question": 5,
      "answer": "It is so nice to sit here with you.",
      "reason": "Chuyển gerund subject sang it + be + adjective + to-infinitive.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Sitting here with you is so nice.\nIt _____.",
      "question_translation": "Ngồi đây với anh thật dễ thương.\nViết lại câu, bắt đầu bằng: It _____.",
      "options": [],
      "answer_translation": "Rất vui được ngồi đây với cô.",
      "simple_reason": "Chuyển gerund chủ ngữ sang it + be + adjective + to-infinitive.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST3-Q01",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 3",
      "section": "enough, so...that, such...that",
      "question": 1,
      "answer": "He is so rich that he can buy whatever he wants.",
      "reason": "so + adjective + that-clause.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He is rich enough to buy whatever he wants.\nHe is so _____.",
      "question_translation": "Hắn đủ giàu để mua bất cứ thứ gì hắn muốn.\nViết lại câu, bắt đầu bằng: He is so _____.",
      "options": [],
      "answer_translation": "Hắn giàu đến nỗi có thể mua bất cứ thứ gì hắn muốn.",
      "simple_reason": "So + adjective + that-vế câu.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST3-Q02",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 3",
      "section": "enough, so...that, such...that",
      "question": 2,
      "answer": "Richard was tall enough to change light bulbs in some rooms without having to stand on a chair.",
      "reason": "adjective + enough + to-infinitive.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Richard was so tall he could change light bulbs in some rooms without having to stand on a chair.\nRichard was _____ without having to stand on a chair.",
      "question_translation": "Richard quá cao, ông có thể thay bóng đèn trong một số phòng mà không cần phải đứng trên ghế.\nViết lại câu, bắt đầu bằng: Richard was _____ without having to stand on a chair.",
      "options": [],
      "answer_translation": "Richard đủ cao để thay bóng đèn trong một số phòng mà không phải đứng trên ghế.",
      "simple_reason": "Adjective + enough + to-infinitive.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST3-Q03",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 3",
      "section": "enough, so...that, such...that",
      "question": 3,
      "answer": "The film was so boring that we left before the end.",
      "reason": "Đổi such a + adjective + noun sang so + adjective.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It was such a boring film that we left before the end.\nThe film was so _____.",
      "question_translation": "Đó là một bộ phim chán đến nỗi chúng tôi bỏ đi trước khi hết phim.\nViết lại câu, bắt đầu bằng: The film was so _____.",
      "options": [],
      "answer_translation": "Bộ phim chán đến nỗi chúng tôi bỏ đi trước khi kết thúc.",
      "simple_reason": "Đổi such a + adjective + noun sang so + adjective.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST3-Q04",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 3",
      "section": "enough, so...that, such...that",
      "question": 4,
      "answer": "It was such a difficult question that no one could answer it.",
      "reason": "such a + adjective + singular count noun + that.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The question was so difficult that no one could answer it.\nIt was such _____.",
      "question_translation": "Câu hỏi khó đến nỗi không ai trả lời được.\nViết lại câu, bắt đầu bằng: It was such _____.",
      "options": [],
      "answer_translation": "Đó là một câu hỏi khó đến nỗi không ai trả lời được.",
      "simple_reason": "Such a + adjective + singular count noun + that.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST3-Q05",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 3",
      "section": "enough, so...that, such...that",
      "question": 5,
      "answer": "She isn't intelligent enough to do that exercise.",
      "reason": "Phủ định enough to tương ứng với so...can't.",
      "detail": "",
      "label": "Xác nhận chéo",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "She isn't very intelligent so she can't do that exercise.\nShe isn't intelligent _____.",
      "question_translation": "Cô ấy không thông minh lắm nên không thể tập thể dục được.\nViết lại câu, bắt đầu bằng: She isn't intelligent _____.",
      "options": [],
      "answer_translation": "Cô ấy không đủ thông minh để làm bài tập đó.",
      "simple_reason": "Phủ định enough to tương ứng với so...can't.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST4-Q01",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 4",
      "section": "comparison",
      "question": 1,
      "answer": "My brother is the shortest boy in his class.",
      "reason": "So sánh hơn với toàn bộ nhóm → superlative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "My brother is shorter than all the other boys in his class.\nMy brother is the _____ in his class.",
      "question_translation": "Em trai tôi lùn hơn tất cả những đứa con trai khác trong lớp.\nViết lại câu, bắt đầu bằng: My brother is the _____ in his class.",
      "options": [],
      "answer_translation": "Em trai tôi là cậu bé lùn nhất lớp.",
      "simple_reason": "So sánh hơn với toàn bộ nhóm → superlative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST4-Q02",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 4",
      "section": "comparison",
      "question": 2,
      "answer": "We speak English more fluently than they do.",
      "reason": "Đảo hai vế, giữ trạng từ fluently.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "They don't speak English as fluently as we do.\nWe speak _____.",
      "question_translation": "Họ không nói tiếng Anh trôi chảy như chúng ta.\nViết lại câu, bắt đầu bằng: We speak _____.",
      "options": [],
      "answer_translation": "Chúng ta nói tiếng Anh trôi chảy hơn họ.",
      "simple_reason": "Đảo hai vế, giữ trạng từ fluently.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST4-Q03",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 4",
      "section": "comparison",
      "question": 3,
      "answer": "His brother runs faster than he does.",
      "reason": "not as fast as → comparative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He doesn't run as fast as his brother.\nHis brother _____.",
      "question_translation": "Nó không chạy nhanh như em nó.\nViết lại câu, bắt đầu bằng: His brother _____.",
      "options": [],
      "answer_translation": "Anh nó chạy nhanh hơn nó.",
      "simple_reason": "Not as fast as → comparative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST4-Q04",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 4",
      "section": "comparison",
      "question": 4,
      "answer": "This film is worse than the one I saw last week.",
      "reason": "Đổi chiều better than; dùng the one tránh lặp film.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The film I saw last week was better than this one.\nThis film is _____ than _____.",
      "question_translation": "Bộ phim tôi xem tuần trước hay hơn bộ phim này.\nViết lại câu, bắt đầu bằng: This film is _____ than _____.",
      "options": [],
      "answer_translation": "Bộ phim này còn tệ hơn bộ phim tôi xem tuần trước.",
      "simple_reason": "Đổi chiều better than; dùng the one tránh lặp film.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P72-ST4-Q05",
      "page": 72,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 4",
      "section": "comparison",
      "question": 5,
      "answer": "I bought the most expensive ring in the shop.",
      "reason": "So sánh hơn với mọi chiếc còn lại → superlative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The ring I bought was more expensive than the others in the shop.\nI bought _____ ring in the shop.",
      "question_translation": "Chiếc nhẫn tôi mua đắt hơn những chiếc khác trong cửa hàng.\nViết lại câu, bắt đầu bằng: I bought _____ ring in the shop.",
      "options": [],
      "answer_translation": "Tôi đã mua chiếc nhẫn đắt nhất cửa hàng.",
      "simple_reason": "So sánh hơn với mọi chiếc còn lại → superlative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST5-Q01",
      "page": 73,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 5",
      "section": "ago, since, for",
      "question": 1,
      "answer": "She hasn't seen him since she was ten.",
      "reason": "Mốc thời gian → since + clause.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "She last saw him when she was ten.\nShe hasn't _____.",
      "question_translation": "Lần cuối cô ấy gặp ông ấy khi lên 10.\nViết lại câu, bắt đầu bằng: She hasn't _____.",
      "options": [],
      "answer_translation": "Cô ấy không gặp anh ta từ khi lên 10.",
      "simple_reason": "Mốc thời gian → since + vế câu.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST5-Q02",
      "page": 73,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 5",
      "section": "ago, since, for",
      "question": 2,
      "answer": "Tom has studied English for a year.",
      "reason": "Khoảng thời gian → present perfect + for; has been studying cũng được.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Tom began to study English a year ago.\nTom has _____.",
      "question_translation": "Tom bắt đầu học tiếng Anh một năm trước.\nViết lại câu, bắt đầu bằng: Tom has _____.",
      "options": [],
      "answer_translation": "Tom đã học tiếng Anh được một năm.",
      "simple_reason": "Khoảng thời gian → present perfect + for; has been studying cũng được.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST5-Q03",
      "page": 73,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 5",
      "section": "ago, since, for",
      "question": 3,
      "answer": "They last wrote an email two months ago.",
      "reason": "Present perfect negative + for → last + past simple + ago.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "They haven't written email for two months.\nThey last _____.",
      "question_translation": "Hai tháng nay họ không viết email.\nViết lại câu, bắt đầu bằng: They last _____.",
      "options": [],
      "answer_translation": "Họ đã viết một email hai tháng trước.",
      "simple_reason": "Present perfect negative + for → last + past simple + ago.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST5-Q04",
      "page": 73,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 5",
      "section": "ago, since, for",
      "question": 4,
      "answer": "We haven't been here since 1980.",
      "reason": "since + mốc.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The last time we were here was in 1980.\nWe haven't _____.",
      "question_translation": "Lần cuối cùng chúng tôi ở đây là năm 1980.\nViết lại câu, bắt đầu bằng: We haven't _____.",
      "options": [],
      "answer_translation": "Chúng ta đã không ở đây từ năm 1980.",
      "simple_reason": "Since + mốc.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST5-Q05",
      "page": 73,
      "page_range": [
        71,
        73
      ],
      "kind": "writing",
      "unit": "Writing Practice 5",
      "section": "ago, since, for",
      "question": 5,
      "answer": "Jack hasn't gone swimming since 2012.",
      "reason": "since + mốc; hasn't been swimming là biến thể có thể chấp nhận theo nghĩa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The last time Jack went swimming was in 2012.\nJack hasn't _____.",
      "question_translation": "Lần cuối Jack đi bơi là năm 2012.\nViết lại câu, bắt đầu bằng: Jack hasn't _____.",
      "options": [],
      "answer_translation": "Jack đã không đi bơi kể từ năm 2012.",
      "simple_reason": "Since + mốc; hasn't been swimming là biến thể có thể chấp nhận theo nghĩa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST6-Q01",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 6",
      "section": "should/ought to ↔ had better",
      "question": 1,
      "answer": "You'd better ask Ann to go instead if you're not well.",
      "reason": "had better + bare infinitive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "If you're not well, you ought to ask Ann to go instead.\nYou'd _____.",
      "question_translation": "Nếu cô không khỏe, cô nên mời Ann đi thay.\nViết lại câu, bắt đầu bằng: You'd _____.",
      "options": [],
      "answer_translation": "Anh nên bảo Ann đi thay vì không được khỏe.",
      "simple_reason": "Had better + bare infinitive.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST6-Q02",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 6",
      "section": "should/ought to ↔ had better",
      "question": 2,
      "answer": "You'd better wear a warm coat because it's cold outside.",
      "reason": "Giữ nguyên lý do.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It's cold outside, so you should wear a warm coat.\nIt's cold _____ you'd _____.",
      "question_translation": "Ngoài trời lạnh lắm, anh nên mặc áo ấm.\nViết lại câu, bắt đầu bằng: It's cold _____ you'd _____.",
      "options": [],
      "answer_translation": "Anh nên mặc áo ấm vì ngoài trời lạnh.",
      "simple_reason": "Giữ nguyên lý do.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST6-Q03",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 6",
      "section": "should/ought to ↔ had better",
      "question": 3,
      "answer": "As you are feeling ill, you'd better not go to work.",
      "reason": "Phủ định: had better not + verb.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "As you are feeling ill, you shouldn't go to work.\nAs you _____.",
      "question_translation": "Khi cô ốm, cô không nên đi làm.\nViết lại câu, bắt đầu bằng: As you _____.",
      "options": [],
      "answer_translation": "Khi anh bị bệnh, tốt hơn là không nên đi làm.",
      "simple_reason": "Phủ định: had better not + động từ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST6-Q04",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 6",
      "section": "should/ought to ↔ had better",
      "question": 4,
      "answer": "Kids, you'd better leave now, or you will miss the school bus.",
      "reason": "Cảnh báo/hệ quả giữ nguyên.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Kids, you should leave now, or you will miss the school bus.\nKids, you'd _____.",
      "question_translation": "Các con, các con nên đi ngay, nếu không sẽ lỡ xe buýt của trường.\nViết lại câu, bắt đầu bằng: Kids, you'd _____.",
      "options": [],
      "answer_translation": "Các con, tốt hơn các con nên đi ngay, nếu không các con sẽ lỡ xe buýt.",
      "simple_reason": "Cảnh báo/hệ quả giữ nguyên.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST6-Q05",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 6",
      "section": "should/ought to ↔ had better",
      "question": 5,
      "answer": "Since you will need a high school education for any good job, you'd better not quit high school.",
      "reason": "Không dùng to sau better.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "You will need a high school education for any good job, so you shouldn't quit high school.\nSince you _____.",
      "question_translation": "Con sẽ cần được giáo dục ở trung học để làm việc tốt, nên con không nên bỏ học.\nViết lại câu, bắt đầu bằng: Since you _____.",
      "options": [],
      "answer_translation": "Vì bạn sẽ cần một nền giáo dục trung học cho bất kỳ công việc tốt, bạn tốt hơn không nên nghỉ học trung học.",
      "simple_reason": "Không dùng to sau better.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST7-Q01",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 7",
      "section": "advice",
      "question": 1,
      "answer": "You'd better go now or you'll be late.",
      "reason": "advise + to-infinitive → had better.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I advise you to go now or you'll be late.\nYou'd _____.",
      "question_translation": "Tôi khuyên cô nên đi ngay, nếu không cô sẽ bị trễ.\nViết lại câu, bắt đầu bằng: You'd _____.",
      "options": [],
      "answer_translation": "Anh nên đi ngay nếu không anh sẽ bị trễ.",
      "simple_reason": "Advise + to-infinitive → had better.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST7-Q02",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 7",
      "section": "advice",
      "question": 2,
      "answer": "You'd better not go to work today.",
      "reason": "Giữ phủ định.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I advise you not to go to work today.\nYou'd _____.",
      "question_translation": "Tôi khuyên cô không nên đi làm hôm nay.\nViết lại câu, bắt đầu bằng: You'd _____.",
      "options": [],
      "answer_translation": "Anh không nên đi làm hôm nay.",
      "simple_reason": "Giữ phủ định.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST7-Q03",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 7",
      "section": "advice",
      "question": 3,
      "answer": "I advise you to begin by introducing yourself.",
      "reason": "advise + object + to-infinitive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "You had better begin by introducing yourself.\nI advise _____.",
      "question_translation": "Anh nên bắt đầu bằng cách tự giới thiệu bản thân.\nViết lại câu, bắt đầu bằng: I advise _____.",
      "options": [],
      "answer_translation": "Tôi khuyên cô nên bắt đầu bằng cách tự giới thiệu bản thân.",
      "simple_reason": "Advise + object + to-infinitive.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST7-Q04",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 7",
      "section": "advice",
      "question": 4,
      "answer": "I advise you to forget about buying a new house.",
      "reason": "Bảo toàn forget about + V-ing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "If I were you, I would forget about buying a new house.\nI advise _____.",
      "question_translation": "Nếu tôi là anh, tôi sẽ quên mua một căn nhà mới.\nViết lại câu, bắt đầu bằng: I advise _____.",
      "options": [],
      "answer_translation": "Tôi khuyên anh nên quên chuyện mua nhà mới đi.",
      "simple_reason": "Bảo toàn forget about + V-ing.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P73-ST7-Q05",
      "page": 73,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 7",
      "section": "advice",
      "question": 5,
      "answer": "I advise you to take a complete rest.",
      "reason": "to take, không dùng gerund sau advise you.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "You'd better take a complete rest.\nI advise _____.",
      "question_translation": "Anh nên nghỉ ngơi một chút.\nViết lại câu, bắt đầu bằng: I advise _____.",
      "options": [],
      "answer_translation": "Tôi khuyên anh nên nghỉ ngơi một chút.",
      "simple_reason": "To take, không dùng gerund sau advise you.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q01",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 1,
      "answer": "The water was too cold for the children to swim in.",
      "reason": "too + adjective + for + object + to-infinitive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The water was so cold that the children could not swim in it.\nThe water was too _____.",
      "question_translation": "Nước lạnh đến nỗi bọn trẻ không biết bơi.\nViết lại câu, bắt đầu bằng: The water was too _____.",
      "options": [],
      "answer_translation": "Nước quá lạnh để bọn trẻ bơi vào.",
      "simple_reason": "Too + adjective + for + object + to-infinitive.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q02",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 2,
      "answer": "They arrived too late to see the first half of the match.",
      "reason": "not early enough → too late.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "They didn't arrive early enough to see the 1st half of the match.\nThey arrived too _____.",
      "question_translation": "Họ không đến sớm để xem nửa trận đấu đầu tiên.\nViết lại câu, bắt đầu bằng: They arrived too _____.",
      "options": [],
      "answer_translation": "Họ đến quá trễ để xem nửa đầu trận đấu.",
      "simple_reason": "Not early enough → too late.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q03",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 3,
      "answer": "He was too tired to stay awake until the end of the film.",
      "reason": "Bỏ result clause, dùng too...to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He was so tired that he couldn't stay awake until the end of the film.\nHe was too _____.",
      "question_translation": "Ông quá mệt mỏi đến nỗi không thể tỉnh táo cho đến khi hết phim.\nViết lại câu, bắt đầu bằng: He was too _____.",
      "options": [],
      "answer_translation": "Anh ấy quá mệt để tỉnh táo cho đến cuối phim.",
      "simple_reason": "Bỏ result vế câu, dùng too...to.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q04",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 4,
      "answer": "The runner was too exhausted to complete the last lap of the race.",
      "reason": "Cùng subject nên không cần for + object.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The runner was so exhausted that he couldn't complete the last lap of the race.\nThe runner was too _____.",
      "question_translation": "Người chạy đua kiệt sức đến nỗi không thể hoàn thành vòng đua cuối cùng.\nViết lại câu, bắt đầu bằng: The runner was too _____.",
      "options": [],
      "answer_translation": "Người chạy đua quá kiệt sức để hoàn tất vòng cuối của cuộc đua.",
      "simple_reason": "Cùng chủ ngữ nên không cần for + object.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q05",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 5,
      "answer": "Peter is not old enough to see the horror film.",
      "reason": "too young → not old enough.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Peter is too young to see the horror film.\nPeter is not _____.",
      "question_translation": "Peter còn quá trẻ để xem phim kinh dị.\nViết lại câu, bắt đầu bằng: Peter is not _____.",
      "options": [],
      "answer_translation": "Peter chưa đủ lớn để xem phim kinh dị.",
      "simple_reason": "Too young → not old enough.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q06",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 6,
      "answer": "It is such a difficult problem that she cannot solve it.",
      "reason": "such a + adjective + singular noun + that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The problem is too difficult for her to solve.\nIt is such _____.",
      "question_translation": "Vấn đề khó giải quyết lắm.\nViết lại câu, bắt đầu bằng: It is such _____.",
      "options": [],
      "answer_translation": "Đó là một vấn đề khó khăn đến nỗi bà không thể giải quyết được.",
      "simple_reason": "Such a + adjective + singular noun + that.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q07",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 7,
      "answer": "He speaks so fast that he cannot be understood.",
      "reason": "so + adverb + that; giữ passive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He speaks too fast to be understood.\nHe speaks so _____.",
      "question_translation": "Anh ta nói quá nhanh để có thể hiểu được.\nViết lại câu, bắt đầu bằng: He speaks so _____.",
      "options": [],
      "answer_translation": "Hắn nói nhanh đến nỗi không ai hiểu hắn.",
      "simple_reason": "So + adverb + that; giữ bị động.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q08",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 8,
      "answer": "The house is too small for us to live in.",
      "reason": "Giữ preposition in.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The house isn't big enough for us to live in.\nThe house is too _____.",
      "question_translation": "Ngôi nhà không đủ lớn để chúng ta sống.\nViết lại câu, bắt đầu bằng: The house is too _____.",
      "options": [],
      "answer_translation": "Ngôi nhà quá nhỏ cho chúng ta sống.",
      "simple_reason": "Giữ preposition in.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q09",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 9,
      "answer": "It was such rotten meat that it had to be thrown away.",
      "reason": "meat không đếm được nên không dùng a.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The meat was so rotten that it had to be thrown away.\nIt was _____.",
      "question_translation": "Thịt thối đến nỗi phải vứt đi.\nViết lại câu, bắt đầu bằng: It was _____.",
      "options": [],
      "answer_translation": "Nó là thịt thối đến nỗi phải vứt đi.",
      "simple_reason": "Meat không đếm được nên không dùng a.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P74-ST8-Q10",
      "page": 74,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 8",
      "section": "so/such/enough/too",
      "question": 10,
      "answer": "She plays tennis so well that she wins all her matches.",
      "reason": "Adjective good → adverb well.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "She is such a good tennis player that she wins all her matches.\nShe plays tennis so _____.",
      "question_translation": "Cô ấy chơi tennis giỏi đến nỗi thắng tất cả các trận đấu.\nViết lại câu, bắt đầu bằng: She plays tennis so _____.",
      "options": [],
      "answer_translation": "Cô ấy chơi tennis giỏi đến nỗi thắng tất cả các trận đấu.",
      "simple_reason": "Adjective good → adverb well.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST10-Q01",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 10",
      "section": "if ↔ unless",
      "question": 1,
      "answer": "Unless you go on a diet, you won't lose weight.",
      "reason": "unless = if...not; không thêm một phủ định nữa.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "If you don't go on a diet you won't lose weight.\nUnless you go _____.",
      "question_translation": "Nếu anh không ăn kiêng anh sẽ không giảm cân.\nViết lại câu, bắt đầu bằng: Unless you go _____.",
      "options": [],
      "answer_translation": "Trừ khi cô ăn kiêng, cô sẽ không giảm cân.",
      "simple_reason": "Unless = if...not; không thêm một phủ định nữa.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST10-Q02",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 10",
      "section": "if ↔ unless",
      "question": 2,
      "answer": "Unless there's something in the fridge, I'll go to the shops.",
      "reason": "if there isn't anything → unless there is something.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "If there isn't anything in the fridge, I'll go to the shops.\nUnless there's _____.",
      "question_translation": "Nếu không có gì trong tủ lạnh, tôi sẽ tới cửa hàng.\nViết lại câu, bắt đầu bằng: Unless there's _____.",
      "options": [],
      "answer_translation": "Trừ khi có gì đó trong tủ lạnh, tôi sẽ tới cửa hàng.",
      "simple_reason": "If there isn't anything → unless there is something.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST10-Q03",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 10",
      "section": "if ↔ unless",
      "question": 3,
      "answer": "Unless you stop adding salt, you'll spoil the dinner.",
      "reason": "Đổi hành động cần dừng sang mệnh đề khẳng định sau unless.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "If you keep adding salt, you'll spoil the dinner.\nUnless you stop _____.",
      "question_translation": "Nếu cô tiếp tục thêm muối, cô sẽ làm hư bữa tối.\nViết lại câu, bắt đầu bằng: Unless you stop _____.",
      "options": [],
      "answer_translation": "Trừ khi anh ngừng thêm muối, anh sẽ làm hư bữa tối.",
      "simple_reason": "Đổi hành động cần dừng sang mệnh đề khẳng định sau unless.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST10-Q04",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 10",
      "section": "if ↔ unless",
      "question": 4,
      "answer": "If it doesn't rain soon, a lot of our crops will be lost.",
      "reason": "unless it rains → if it doesn't rain.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Unless it rains soon, a lot of our crops will be lost.\nIf it _____, a lot of our crops will be lost.",
      "question_translation": "Trừ khi trời sớm mưa, nhiều vụ mùa sẽ bị mất.\nViết lại câu, bắt đầu bằng: If it _____, a lot of our crops will be lost.",
      "options": [],
      "answer_translation": "Nếu trời không sớm mưa, nhiều vụ mùa sẽ bị mất.",
      "simple_reason": "Unless it rains → if it doesn't rain.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST10-Q05",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 10",
      "section": "if ↔ unless",
      "question": 5,
      "answer": "Unless you leave immediately, I will call a policeman.",
      "reason": "Giữ conditional type 1.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "If you don't leave immediately, I will call a policeman.\nUnless _____.",
      "question_translation": "Nếu anh không đi ngay, tôi sẽ gọi cảnh sát.\nViết lại câu, bắt đầu bằng: Unless _____.",
      "options": [],
      "answer_translation": "Trừ khi anh đi ngay lập tức, tôi sẽ gọi cảnh sát.",
      "simple_reason": "Giữ conditional type 1.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST11-Q01",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 11",
      "section": "wish",
      "question": 1,
      "answer": "I wish we could find a taxi.",
      "reason": "Điều tiếc nuối hiện tại: wish + could.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I'm sorry we can't find a taxi.\nI wish _____.",
      "question_translation": "Xin lỗi vì không tìm được taxi.\nViết lại câu, bắt đầu bằng: I wish _____.",
      "options": [],
      "answer_translation": "Ước gì mình tìm được taxi.",
      "simple_reason": "Điều tiếc nuối hiện tại: wish + could.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST11-Q02",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 11",
      "section": "wish",
      "question": 2,
      "answer": "I wish I had known that she was ill.",
      "reason": "Tiếc nuối quá khứ: past perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I didn't know that she was ill.\nI wish _____.",
      "question_translation": "Tôi không biết cô ấy bị bệnh.\nViết lại câu, bắt đầu bằng: I wish _____.",
      "options": [],
      "answer_translation": "Ước gì tôi biết được cô ấy bị bệnh.",
      "simple_reason": "Tiếc nuối quá khứ: past perfect.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST11-Q03",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 11",
      "section": "wish",
      "question": 3,
      "answer": "He wishes he had done his homework.",
      "reason": "Việc đáng lẽ đã làm trong quá khứ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He is sorry that he hasn't done his homework.\nHe wishes he _____.",
      "question_translation": "Nó xin lỗi vì đã không làm bài tập về nhà.\nViết lại câu, bắt đầu bằng: He wishes he _____.",
      "options": [],
      "answer_translation": "Ông ước ông đã làm bài tập về nhà.",
      "simple_reason": "Việc đáng lẽ đã làm trong quá khứ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST11-Q04",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 11",
      "section": "wish",
      "question": 4,
      "answer": "I wish it hadn't rained so much when we were in England.",
      "reason": "Past perfect negative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It rained a lot when we were in England.\nI wish _____.",
      "question_translation": "Trời mưa rất nhiều khi chúng tôi ở Anh.\nViết lại câu, bắt đầu bằng: I wish _____.",
      "options": [],
      "answer_translation": "Tôi ước gì trời không mưa nhiều khi chúng tôi ở Anh.",
      "simple_reason": "Past perfect negative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST11-Q05",
      "page": 75,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 11",
      "section": "wish",
      "question": 5,
      "answer": "I wish I knew the answer to this question.",
      "reason": "Trạng thái trái thực tế hiện tại → past simple.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "What a pity I don't know the answer to this question.\nI wish _____.",
      "question_translation": "Đáng tiếc là tôi không biết câu trả lời cho câu hỏi này.\nViết lại câu, bắt đầu bằng: I wish _____.",
      "options": [],
      "answer_translation": "Ước gì tôi biết câu trả lời cho câu hỏi này.",
      "simple_reason": "Trạng thái trái thực tế hiện tại → past simple.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST9-Q01",
      "page": 75,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 9",
      "section": "conditional sentences",
      "question": 1,
      "answer": "If my brother had had enough money, he would have bought that car.",
      "reason": "Điều kiện loại 3; had had là past perfect của have.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "My brother didn't buy that car because he didn't have enough money.\nIf my brother _____.",
      "question_translation": "Em trai tôi không mua chiếc xe đó vì nó không có đủ tiền.\nViết lại câu, bắt đầu bằng: If my brother _____.",
      "options": [],
      "answer_translation": "Nếu anh tôi có đủ tiền, anh ấy đã mua chiếc xe đó.",
      "simple_reason": "Điều kiện loại 3; had had là past perfect của have.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST9-Q02",
      "page": 75,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 9",
      "section": "conditional sentences",
      "question": 2,
      "answer": "If he spoke clearly, people would understand him.",
      "reason": "Điều kiện không có thật ở hiện tại.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "People don't understand him because he doesn't speak clearly.\nIf he spoke _____.",
      "question_translation": "Người ta không hiểu hắn bởi vì hắn không nói rõ ràng.\nViết lại câu, bắt đầu bằng: If he spoke _____.",
      "options": [],
      "answer_translation": "Nếu ngài nói rõ ràng, người ta sẽ hiểu ngài.",
      "simple_reason": "Điều kiện không có thật ở hiện tại.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST9-Q03",
      "page": 75,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 9",
      "section": "conditional sentences",
      "question": 3,
      "answer": "If he didn't smoke so much, he might get rid of his cough.",
      "reason": "might/could giữ sắc thái “perhaps”.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He smokes too much; perhaps that's why he can't get rid of his cough.\nIf he _____.",
      "question_translation": "Ông hút thuốc quá nhiều, có lẽ đó là lý do tại sao ông không thể có được thoát khỏi ho của mình.\nViết lại câu, bắt đầu bằng: If he _____.",
      "options": [],
      "answer_translation": "Nếu anh ta không hút thuốc quá nhiều, anh ta sẽ hết ho.",
      "simple_reason": "Might/could giữ sắc thái “perhaps”.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST9-Q04",
      "page": 75,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 9",
      "section": "conditional sentences",
      "question": 4,
      "answer": "If I didn't live near my office, I would spend more time travelling to work.",
      "reason": "Đảo nguyên nhân hiện tại sang điều kiện loại 2.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I live near my office, so I don't spend much time travelling to work.\nIf I _____.",
      "question_translation": "Tôi sống gần văn phòng nên không đi làm nhiều.\nViết lại câu, bắt đầu bằng: If I _____.",
      "options": [],
      "answer_translation": "Nếu tôi không sống gần văn phòng, tôi sẽ dành nhiều thời gian hơn để đi làm.",
      "simple_reason": "Đảo nguyên nhân hiện tại sang điều kiện loại 2.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P75-ST9-Q05",
      "page": 75,
      "page_range": [
        73,
        75
      ],
      "kind": "writing",
      "unit": "Writing Practice 9",
      "section": "conditional sentences",
      "question": 5,
      "answer": "If you had told me we had run out of bread, I would have bought some.",
      "reason": "Điều kiện loại 3; kết quả quá khứ không xảy ra.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "You didn't tell me we had run out of bread, so I didn't buy any.\nIf you had _____.",
      "question_translation": "Anh không nói là chúng ta hết bánh mì, nên tôi không mua.\nViết lại câu, bắt đầu bằng: If you had _____.",
      "options": [],
      "answer_translation": "Nếu anh nói với tôi là chúng ta hết bánh mì, thì tôi đã mua rồi.",
      "simple_reason": "Điều kiện loại 3; kết quả quá khứ không xảy ra.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST12-Q01",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 12",
      "section": "active ↔ passive",
      "question": 1,
      "answer": "The garage is cleaned every day.",
      "reason": "Present simple passive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "We clean the garage every day.\nThe garage _____.",
      "question_translation": "Ngày nào chúng tôi cũng dọn dẹp gara.\nViết lại câu, bắt đầu bằng: The garage _____.",
      "options": [],
      "answer_translation": "Nhà xe được dọn sạch mỗi ngày.",
      "simple_reason": "Present simple bị động.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST12-Q02",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 12",
      "section": "active ↔ passive",
      "question": 2,
      "answer": "Two hundred people were arrested by the police.",
      "reason": "Past simple passive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The police arrested two hundred people.\nTwo hundred people _____.",
      "question_translation": "Cảnh sát đã bắt 200 người.\nViết lại câu, bắt đầu bằng: Two hundred people _____.",
      "options": [],
      "answer_translation": "200 người đã bị cảnh sát bắt.",
      "simple_reason": "Past simple bị động.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST12-Q03",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 12",
      "section": "active ↔ passive",
      "question": 3,
      "answer": "The meeting has been cancelled.",
      "reason": "Present perfect passive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "They have cancelled the meeting.\nThe meeting _____.",
      "question_translation": "Họ đã hủy cuộc họp.\nViết lại câu, bắt đầu bằng: The meeting _____.",
      "options": [],
      "answer_translation": "Cuộc họp đã bị hủy bỏ.",
      "simple_reason": "Present perfect bị động.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST12-Q04",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 12",
      "section": "active ↔ passive",
      "question": 4,
      "answer": "The report has just been finished by the secretary.",
      "reason": "Giữ just giữa auxiliary và participle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The secretary has just finished the report.\nThe report _____.",
      "question_translation": "Thư ký vừa hoàn thành báo cáo.\nViết lại câu, bắt đầu bằng: The report _____.",
      "options": [],
      "answer_translation": "Báo cáo vừa được thư ký viết xong.",
      "simple_reason": "Giữ just giữa trợ động từ và phân từ hai.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST12-Q05",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 12",
      "section": "active ↔ passive",
      "question": 5,
      "answer": "The Prime Minister gave the journalists an interesting interview.",
      "reason": "Passive có indirect object → active với gave.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The journalists were given an interesting interview by the Prime Minister.\nThe Prime Minister _____.",
      "question_translation": "Các phóng viên được Thủ tướng phỏng vấn một cách thú vị.\nViết lại câu, bắt đầu bằng: The Prime Minister _____.",
      "options": [],
      "answer_translation": "Thủ tướng đã cho các phóng viên một cuộc phỏng vấn thú vị.",
      "simple_reason": "Bị động có indirect object → chủ động với gave.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST13-Q01",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 13",
      "section": "causative",
      "question": 1,
      "answer": "We have the accounts checked every month.",
      "reason": "have + object + past participle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "We ask someone to check the accounts every month.\nWe have the _____.",
      "question_translation": "Chúng tôi yêu cầu ai đó kiểm tra tài khoản mỗi tháng.\nViết lại câu, bắt đầu bằng: We have the _____.",
      "options": [],
      "answer_translation": "Chúng tôi đã kiểm tra tài khoản mỗi tháng.",
      "simple_reason": "Have + object + phân từ hai, thường mang nghĩa bị động.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST13-Q02",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 13",
      "section": "causative",
      "question": 2,
      "answer": "I had my coat dry-cleaned a week ago.",
      "reason": "Giữ past tense của had.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I had someone dry-clean my coat a week ago.\nI had _____.",
      "question_translation": "Tôi đã cho người giặt khô áo khoác của tôi một tuần trước.\nViết lại câu, bắt đầu bằng: I had _____.",
      "options": [],
      "answer_translation": "Tôi đã giặt áo khoác một tuần trước.",
      "simple_reason": "Giữ past tense của had.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST13-Q03",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 13",
      "section": "causative",
      "question": 3,
      "answer": "I got an engineer to repair my computer a week ago.",
      "reason": "get + person + to-infinitive; biến thể: got my computer repaired.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "An engineer repaired my computer a week ago.\nI got an _____.",
      "question_translation": "Một kỹ sư đã sửa máy tính cho tôi một tuần trước.\nViết lại câu, bắt đầu bằng: I got an _____.",
      "options": [],
      "answer_translation": "Tôi có một kỹ sư sửa máy tính một tuần trước.",
      "simple_reason": "Get + person + to-infinitive; biến thể: got my computer repaired.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST13-Q04",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 13",
      "section": "causative",
      "question": 4,
      "answer": "I'm going to have my hair cut tomorrow.",
      "reason": "have + object + past participle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I'm going to have the barber cut my hair tomorrow.\nI'm going to _____.",
      "question_translation": "Ngày mai tôi sẽ cắt tóc cho thợ cạo.\nViết lại câu, bắt đầu bằng: I'm going to _____.",
      "options": [],
      "answer_translation": "Ngày mai tôi sẽ cắt tóc.",
      "simple_reason": "Have + object + phân từ hai, thường mang nghĩa bị động.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST13-Q05",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 13",
      "section": "causative",
      "question": 5,
      "answer": "We'll probably get our house painted next month.",
      "reason": "get + object + past participle.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "We'll probably have someone paint our house next month.\nWe'll probably get our _____.",
      "question_translation": "Chúng ta sẽ có người sơn nhà vào tháng tới.\nViết lại câu, bắt đầu bằng: We'll probably get our _____.",
      "options": [],
      "answer_translation": "Chúng ta có thể sơn nhà vào tháng tới.",
      "simple_reason": "Get + object + phân từ hai, thường mang nghĩa bị động.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST14-Q01",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 14",
      "section": "cause",
      "question": 1,
      "answer": "Due to his bad behavior, he must be punished.",
      "reason": "Clause → noun phrase.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "As he has behaved badly, he must be punished.\nDue to his _____.",
      "question_translation": "Như hắn đã làm sai, hắn phải bị trừng phạt.\nViết lại câu, bắt đầu bằng: Due to his _____.",
      "options": [],
      "answer_translation": "Do hành vi xấu của hắn, hắn phải bị trừng phạt.",
      "simple_reason": "Vế câu → cụm danh từ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST14-Q02",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 14",
      "section": "cause",
      "question": 2,
      "answer": "Because of the hot weather, we are going swimming.",
      "reason": "because of + noun phrase.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Because the weather is hot, we are going swimming.\nBecause of _____.",
      "question_translation": "Vì thời tiết rất nóng, chúng ta sẽ đi bơi.\nViết lại câu, bắt đầu bằng: Because of _____.",
      "options": [],
      "answer_translation": "Vì thời tiết nóng, chúng ta sẽ đi bơi.",
      "simple_reason": "Because of + cụm danh từ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST14-Q03",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 14",
      "section": "cause",
      "question": 3,
      "answer": "Because of my illness, I can't do the work.",
      "reason": "I am ill → my illness.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I can't do the work because I'm ill.\nBecause of _____.",
      "question_translation": "Tôi không thể làm việc vì tôi bị bệnh.\nViết lại câu, bắt đầu bằng: Because of _____.",
      "options": [],
      "answer_translation": "Vì căn bệnh của tôi, tôi không thể làm được.",
      "simple_reason": "I am ill → my illness.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST14-Q04",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 14",
      "section": "cause",
      "question": 4,
      "answer": "The car crashed because of the driver's carelessness.",
      "reason": "the driver was careless → possessive noun phrase.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The car crashed because the driver was careless.\nBecause of the _____.",
      "question_translation": "Chiếc xe bị đâm vì tài xế bất cẩn.\nViết lại câu, bắt đầu bằng: Because of the _____.",
      "options": [],
      "answer_translation": "Chiếc xe bị đâm vì sự bất cẩn của tài xế.",
      "simple_reason": "The driver was careless → dạng sở hữu cụm danh từ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST14-Q05",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 14",
      "section": "cause",
      "question": 5,
      "answer": "She was eliminated because she performed poorly.",
      "reason": "Noun phrase → finite cause clause.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Because of her poor performance, she was eliminated.\nShe was eliminated because _____.",
      "question_translation": "Vì thiếu khả năng, bà đã bị loại trừ.\nViết lại câu, bắt đầu bằng: She was eliminated because _____.",
      "options": [],
      "answer_translation": "Cô ấy bị loại vì làm việc không tốt.",
      "simple_reason": "Cụm danh từ → có động từ chính đã chia theo thì cause vế câu.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P76-ST14-Q06",
      "page": 76,
      "page_range": [
        75,
        76
      ],
      "kind": "writing",
      "unit": "Writing Practice 14",
      "section": "cause",
      "question": 6,
      "answer": "Because his father died suddenly, he had to drop out at sixteen.",
      "reason": "because of + noun phrase → because + clause.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He had to drop out at sixteen because of his father's sudden death.\nBecause his father _____.",
      "question_translation": "Nó phải bỏ học lúc 16 tuổi vì cái chết đột ngột của bố nó.\nViết lại câu, bắt đầu bằng: Because his father _____.",
      "options": [],
      "answer_translation": "Vì cha anh đột nhiên mất, anh phải bỏ học lúc mười sáu.",
      "simple_reason": "Because of + cụm danh từ → because + vế câu.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST15-Q01",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 15",
      "section": "it takes ↔ spend",
      "question": 1,
      "answer": "It took me fifteen minutes to walk to school.",
      "reason": "take + person + time + to-infinitive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I walked to school in 15 minutes.\nIt took _____.",
      "question_translation": "Tôi đi bộ đến trường trong 15 phút.\nViết lại câu, bắt đầu bằng: It took _____.",
      "options": [],
      "answer_translation": "Tôi mất 15 phút để đi bộ đến trường.",
      "simple_reason": "Take + person + time + to-infinitive.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST15-Q02",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 15",
      "section": "it takes ↔ spend",
      "question": 2,
      "answer": "It takes an hour and a half to fly to Hanoi.",
      "reason": "Chuyển duration của chuyến bay sang dummy it.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The flight to Hanoi lasts an hour and a half.\nIt takes _____.",
      "question_translation": "Chuyến bay tới Hà Nội kéo dài một tiếng rưỡi.\nViết lại câu, bắt đầu bằng: It takes _____.",
      "options": [],
      "answer_translation": "Phải mất một tiếng rưỡi để bay tới Hà Nội.",
      "simple_reason": "Chuyển duration của chuyến bay sang dummy it.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST15-Q03",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 15",
      "section": "it takes ↔ spend",
      "question": 3,
      "answer": "They spent five months building the house.",
      "reason": "spend + time + V-ing.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "It took them 5 months to build the house.\nThey _____.",
      "question_translation": "Họ mất 5 tháng để xây nhà.\nViết lại câu, bắt đầu bằng: They _____.",
      "options": [],
      "answer_translation": "Họ dành 5 tháng để xây nhà.",
      "simple_reason": "Spend + time + V-ing.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST15-Q04",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 15",
      "section": "it takes ↔ spend",
      "question": 4,
      "answer": "It takes me twenty minutes to get to school.",
      "reason": "Giữ modal meaning về thời gian thông thường.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I can get to school in 20 minutes.\nIt takes _____.",
      "question_translation": "Tôi có thể đến trường trong 20 phút.\nViết lại câu, bắt đầu bằng: It takes _____.",
      "options": [],
      "answer_translation": "Tôi mất 20 phút để đến trường.",
      "simple_reason": "Giữ modal meaning về thời gian thông thường.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST15-Q05",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 15",
      "section": "it takes ↔ spend",
      "question": 5,
      "answer": "It took Mary a year to save up for a new car.",
      "reason": "take + person + time + to-infinitive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "When Mary wanted a new car, she had to save up for a year.\nIt took _____.",
      "question_translation": "Khi Ma - ri muốn mua xe mới, bà phải dành dụm một năm.\nViết lại câu, bắt đầu bằng: It took _____.",
      "options": [],
      "answer_translation": "Phải mất một năm Mary mới dành dụm được một chiếc xe mới.",
      "simple_reason": "Take + person + time + to-infinitive.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST16-Q01",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 16",
      "section": "it is...since",
      "question": 1,
      "answer": "It is over six months since John last had his car repaired.",
      "reason": "since + past simple; giữ causative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "John hasn't had his car repaired for over six months.\nIt is _____.",
      "question_translation": "John đã không sửa xe hơn 6 tháng rồi.\nViết lại câu, bắt đầu bằng: It is _____.",
      "options": [],
      "answer_translation": "Đã hơn sáu tháng kể từ lần cuối John sửa xe.",
      "simple_reason": "Since + past simple; giữ causative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST16-Q02",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 16",
      "section": "it is...since",
      "question": 2,
      "answer": "It is two years since I last had a holiday.",
      "reason": "Khoảng thời gian tính từ lần cuối.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I haven't had a holiday for two years.\nIt is _____.",
      "question_translation": "Tôi đã không có một kỳ nghỉ trong hai năm.\nViết lại câu, bắt đầu bằng: It is _____.",
      "options": [],
      "answer_translation": "Đã hai năm kể từ lần cuối tôi có một kỳ nghỉ.",
      "simple_reason": "Khoảng thời gian tính từ lần cuối.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST16-Q03",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 16",
      "section": "it is...since",
      "question": 3,
      "answer": "It is ages since they last visited us.",
      "reason": "last + past simple.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "They haven't visited us for ages.\nIt is _____.",
      "question_translation": "Họ đã lâu không đến thăm chúng ta.\nViết lại câu, bắt đầu bằng: It is _____.",
      "options": [],
      "answer_translation": "Lâu lắm rồi họ mới tới thăm chúng ta.",
      "simple_reason": "Last + past simple.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST16-Q04",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 16",
      "section": "it is...since",
      "question": 4,
      "answer": "It is six months since we first met.",
      "reason": "Với state have known, dùng mốc bắt đầu tự nhiên first met/got to know each other.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "We have known each other for 6 months.\nIt is _____.",
      "question_translation": "Chúng ta đã biết nhau 6 tháng rồi.\nViết lại câu, bắt đầu bằng: It is _____.",
      "options": [],
      "answer_translation": "Đã 6 tháng kể từ lần đầu chúng ta gặp nhau.",
      "simple_reason": "Với state have known, dùng mốc bắt đầu tự nhiên first met/got to know each other.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST16-Q05",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 16",
      "section": "it is...since",
      "question": 5,
      "answer": "It is two years since Nam last went to Nha Trang.",
      "reason": "hasn't been → lần cuối went.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Nam hasn't been to Nha Trang for 2 years.\nIt is _____.",
      "question_translation": "Nam đã không đến Nha Tang 2 năm rồi.\nViết lại câu, bắt đầu bằng: It is _____.",
      "options": [],
      "answer_translation": "Đã hai năm kể từ lần cuối Nam đến Nha Tang.",
      "simple_reason": "Hasn't been → lần cuối went.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST17-Q01",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 17",
      "section": "correlative comparison",
      "question": 1,
      "answer": "The sooner you leave, the earlier you will arrive at your destination.",
      "reason": "the + comparative, the + comparative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "You leave sooner. You will arrive at your destination earlier.\nThe sooner _____.",
      "question_translation": "Anh đi sớm hơn. Bạn sẽ đến nơi sớm hơn.\nViết lại câu, bắt đầu bằng: The sooner _____.",
      "options": [],
      "answer_translation": "Anh đi càng sớm, anh sẽ đến nơi sớm.",
      "simple_reason": "The + comparative, the + comparative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P77-ST17-Q02",
      "page": 77,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 17",
      "section": "correlative comparison",
      "question": 2,
      "answer": "The more popular TV programmes become, the worse they seem to get.",
      "reason": "Hai vế thay đổi tương quan.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "As T.V programmes become more popular, they seem to get worse.\nThe more _____.",
      "question_translation": "Khi chương trình T.V trở nên phổ biến hơn, chúng trở nên tệ hơn.\nViết lại câu, bắt đầu bằng: The more _____.",
      "options": [],
      "answer_translation": "Những chương trình truyền hình phổ biến càng trở nên tồi tệ.",
      "simple_reason": "Hai vế thay đổi tương quan.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST17-Q03",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 17",
      "section": "correlative comparison",
      "question": 3,
      "answer": "The nearer to the stage we sit, the more clearly we can see.",
      "reason": "clearly → more clearly.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "If we sit near the stage, we can see clearly.\nThe nearer to _____, _____.",
      "question_translation": "Nếu chúng ta ngồi gần sân khấu, chúng ta có thể thấy rõ.\nViết lại câu, bắt đầu bằng: The nearer to _____, _____.",
      "options": [],
      "answer_translation": "Càng gần sân khấu, ta càng thấy rõ.",
      "simple_reason": "Clearly → more clearly.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST17-Q04",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 17",
      "section": "correlative comparison",
      "question": 4,
      "answer": "The less time that worker has, the better he works.",
      "reason": "Bảo toàn quan hệ nghịch trong câu nguồn.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "That worker works better when he does not have enough time.\nThe less _____.",
      "question_translation": "Công nhân đó làm việc tốt hơn khi không có đủ thời gian.\nViết lại câu, bắt đầu bằng: The less _____.",
      "options": [],
      "answer_translation": "Càng ít thời gian, anh ta càng làm việc tốt.",
      "simple_reason": "Bảo toàn quan hệ nghịch trong câu nguồn.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST17-Q05",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 17",
      "section": "correlative comparison",
      "question": 5,
      "answer": "The older he grows, the more cheerful he becomes.",
      "reason": "increasingly cheerful → comparative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "As he grows older, he becomes increasingly cheerful.\nThe older _____.",
      "question_translation": "Khi lớn lên, em càng vui hơn.\nViết lại câu, bắt đầu bằng: The older _____.",
      "options": [],
      "answer_translation": "Càng lớn lên, nó càng trở nên vui vẻ.",
      "simple_reason": "Increasingly cheerful → comparative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST18-Q01",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 18",
      "section": "suggest + noun clause",
      "question": 1,
      "answer": "Sue suggested that Ann (should) apply for the job.",
      "reason": "Mandative clause dùng base form hoặc should.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "\"Why don't you apply for the job, Ann?\" said Sue.\nSue suggested _____.",
      "question_translation": "\"Tại sao cô không nộp đơn xin việc, Ann?\" Sue nói.\nViết lại câu, bắt đầu bằng: Sue suggested _____.",
      "options": [],
      "answer_translation": "Sue đề nghị Ann (nên) nộp đơn xin việc.",
      "simple_reason": "Mandative vế câu dùng base form hoặc should.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST18-Q02",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 18",
      "section": "suggest + noun clause",
      "question": 2,
      "answer": "They suggested that I (should) put an advertisement in the local paper.",
      "reason": "Đổi you theo người nghe là I.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "\"Why don't you put an advertisement in the local paper?\" they said to me.\nThey suggested _____.",
      "question_translation": "\"Tại sao bạn không đặt một quảng cáo trên giấy địa phương?\" Họ nói với tôi.\nViết lại câu, bắt đầu bằng: They suggested _____.",
      "options": [],
      "answer_translation": "Họ đề nghị tôi đăng quảng cáo trên báo địa phương.",
      "simple_reason": "Đổi you theo người nghe là I.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST18-Q03",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 18",
      "section": "suggest + noun clause",
      "question": 3,
      "answer": "Mary suggested that Peter (should) go to Paris to study French.",
      "reason": "Không dùng to go sau mandative suggest that.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "\"Why don't you go to Paris to study French?\" Mary asked Peter.\nMary suggested _____.",
      "question_translation": "\"Tại sao bạn không đi Paris để học tiếng Pháp?\" Ma - ri hỏi Phi - e - rơ.\nViết lại câu, bắt đầu bằng: Mary suggested _____.",
      "options": [],
      "answer_translation": "Ma - ri đề nghị Phi - e - rơ (nên) đến Paris để học tiếng Pháp.",
      "simple_reason": "Không dùng to go sau mandative suggest that.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST18-Q04",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 18",
      "section": "suggest + noun clause",
      "question": 4,
      "answer": "The doctor suggested that I (should) stop smoking.",
      "reason": "Người nghe không được nêu tên; the patient là biến thể nếu ngữ cảnh yêu cầu.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The doctor said, \"Why don't you stop smoking?\"\nThe doctor suggested _____.",
      "question_translation": "Bác sĩ nói, \"Sao anh không ngừng hút thuốc đi?\"\nViết lại câu, bắt đầu bằng: The doctor suggested _____.",
      "options": [],
      "answer_translation": "Bác sĩ đề nghị tôi (nên) bỏ thuốc lá.",
      "simple_reason": "Người nghe không được nêu tên; the patient là biến thể nếu ngữ cảnh yêu cầu.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST18-Q05",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 18",
      "section": "suggest + noun clause",
      "question": 5,
      "answer": "The teacher suggested that the students (should) take the prerequisites before registering for the course.",
      "reason": "Subject số nhiều là suy luận từ lời hướng dẫn chung; I/we có thể thay theo ngữ cảnh lớp.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The teacher said, \"Why don't you take the prerequisites before registering for this course?\"\nThe teacher suggested _____.",
      "question_translation": "Thầy giáo nói, \"Sao con không học những điều kiện tiên quyết trước khi đăng ký khóa học này?\"\nViết lại câu, bắt đầu bằng: The teacher suggested _____.",
      "options": [],
      "answer_translation": "Cô giáo đề nghị các học sinh nên làm những điều kiện tiên quyết trước khi đăng ký khóa học.",
      "simple_reason": "Chủ ngữ số nhiều là suy luận từ lời hướng dẫn chung; I/we có thể thay theo ngữ cảnh lớp.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST19-Q01",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 19",
      "section": "let's ↔ why don't we",
      "question": 1,
      "answer": "Why don't we try that new pizza place?",
      "reason": "Giữ inclusive we.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Let's try that new pizza place.\nWhy don't _____.",
      "question_translation": "Hãy thử chỗ pizza mới.\nViết lại câu, bắt đầu bằng: Why don't _____.",
      "options": [],
      "answer_translation": "Sao ta không thử chỗ pizza mới?",
      "simple_reason": "Giữ inclusive we.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST19-Q02",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 19",
      "section": "let's ↔ why don't we",
      "question": 2,
      "answer": "Why don't we share the cost of accommodation?",
      "reason": "Bare infinitive sau don't we.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Let's share the cost of accommodation.\nWhy don't _____.",
      "question_translation": "Hãy chia sẻ chi phí của sự thích nghi.\nViết lại câu, bắt đầu bằng: Why don't _____.",
      "options": [],
      "answer_translation": "Tại sao chúng ta không chia sẻ cái giá phải trả?",
      "simple_reason": "Bare infinitive sau don't we.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST19-Q03",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 19",
      "section": "let's ↔ why don't we",
      "question": 3,
      "answer": "Why don't we get together next Sunday?",
      "reason": "Giữ time expression.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Let's get together next Sunday.\nWhy don't _____.",
      "question_translation": "Hãy gặp nhau vào chủ nhật tới.\nViết lại câu, bắt đầu bằng: Why don't _____.",
      "options": [],
      "answer_translation": "Sao chúng ta không gặp nhau vào chủ nhật tới nhỉ?",
      "simple_reason": "Giữ time expression.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST19-Q04",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 19",
      "section": "let's ↔ why don't we",
      "question": 4,
      "answer": "Why don't we plan to meet when we both have free time?",
      "reason": "Giữ embedded time clause.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Let's plan to meet when we both have free time.\nWhy don't _____.",
      "question_translation": "Hãy lên kế hoạch gặp mặt khi cả hai ta có thời gian rảnh.\nViết lại câu, bắt đầu bằng: Why don't _____.",
      "options": [],
      "answer_translation": "Sao chúng ta không lên kế hoạch gặp nhau khi cả hai cùng có thời gian rảnh?",
      "simple_reason": "Giữ embedded time vế câu.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST19-Q05",
      "page": 78,
      "page_range": [
        77,
        78
      ],
      "kind": "writing",
      "unit": "Writing Practice 19",
      "section": "let's ↔ why don't we",
      "question": 5,
      "answer": "Why don't we stay in this evening?",
      "reason": "stay in là phrasal verb cần giữ.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Let's stay in this evening.\nWhy don't _____.",
      "question_translation": "Hãy ở lại tối nay.\nViết lại câu, bắt đầu bằng: Why don't _____.",
      "options": [],
      "answer_translation": "Sao chúng ta không ở lại tối nay?",
      "simple_reason": "Stay in là phrasal động từ cần giữ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P78-ST20A-Q01",
      "page": 78,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20A",
      "section": "yes/no questions",
      "question": 1,
      "answer": "She asked Tom if he was hungry.",
      "reason": "if/whether + subject + verb; bỏ đảo câu hỏi.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "She said, \"Are you hungry, Tom?\"\nShe asked _____.",
      "question_translation": "Cô ấy nói, \"Anh có đói không, Tom?\"\nViết lại câu, bắt đầu bằng: She asked _____.",
      "options": [],
      "answer_translation": "Cô ấy hỏi Tom có đói không.",
      "simple_reason": "If/whether + chủ ngữ + động từ; bỏ đảo câu hỏi.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20A-Q02",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20A",
      "section": "yes/no questions",
      "question": 2,
      "answer": "Tom asked Mary if she could remember where she had put the dictionary.",
      "reason": "can → could; embedded question giữ word order trần thuật.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Tom said, \"Can you remember where you put the dictionary, Mary?\"\nTom asked _____.",
      "question_translation": "Tom nói, \"Cô có nhớ cô để từ điển ở đâu không, Mary?\"\nViết lại câu, bắt đầu bằng: Tom asked _____.",
      "options": [],
      "answer_translation": "Tom hỏi Mary liệu cô có thể nhớ nơi cô đã đặt từ điển.",
      "simple_reason": "Can → could; embedded question giữ word order trần thuật.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20A-Q03",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20A",
      "section": "yes/no questions",
      "question": 3,
      "answer": "My brother asked her if she had seen George at the football match.",
      "reason": "Past simple → past perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "My brother said to her, \"Did you see George at the football match?\"\nMy brother asked _____.",
      "question_translation": "Anh trai tôi nói với cô ấy, \"Em có thấy George ở trận bóng không?\"\nViết lại câu, bắt đầu bằng: My brother asked _____.",
      "options": [],
      "answer_translation": "Anh trai tôi hỏi cô ấy có thấy George ở trận bóng không.",
      "simple_reason": "Past simple → past perfect.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20A-Q04",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20A",
      "section": "yes/no questions",
      "question": 4,
      "answer": "She wondered whether they had not all done the exercise correctly.",
      "reason": "Giữ phủ định/kỳ vọng của negative question; hadn't là biến thể.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "She said, \"Didn't they all do the exercise correctly?\"\nShe wondered _____.",
      "question_translation": "Cô ấy nói, \"Không phải tất cả đều làm bài tập đúng sao?\"\nViết lại câu, bắt đầu bằng: She wondered _____.",
      "options": [],
      "answer_translation": "Cô tự hỏi nếu họ đã không phải tất cả các thực hành đúng.",
      "simple_reason": "Giữ phủ định/kỳ vọng của negative question; hadn't là biến thể.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20A-Q05",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20A",
      "section": "yes/no questions",
      "question": 5,
      "answer": "She asked me if I would go with her.",
      "reason": "will → would; me của người nói → her.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "She said to me, \"Will you go with me?\"\nShe asked _____.",
      "question_translation": "Cô ấy nói với tôi: \"Anh sẽ đi với tôi chứ?\"\nViết lại câu, bắt đầu bằng: She asked _____.",
      "options": [],
      "answer_translation": "Cô ấy hỏi tôi có muốn đi với cô ấy không.",
      "simple_reason": "Will → would; me của người nói → her.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20B-Q01",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20B",
      "section": "wh-questions",
      "question": 1,
      "answer": "Gail asked Sally where she had bought her shoes.",
      "reason": "Giữ wh-word; backshift sang past perfect.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "\"Where did you buy your shoes, Sally?\" asked Gail.\nGail asked _____.",
      "question_translation": "\"Cô mua giày ở đâu, Sally?\" hỏi Gail.\nViết lại câu, bắt đầu bằng: Gail asked _____.",
      "options": [],
      "answer_translation": "Gail hỏi Sally đã mua giày ở đâu.",
      "simple_reason": "Giữ wh-word; backshift sang past perfect.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20B-Q02",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20B",
      "section": "wh-questions",
      "question": 2,
      "answer": "Mrs. Clark asked John why he did not close the door.",
      "reason": "Chuyển sang word order trần thuật. Asked John to close the door là cách báo cáo dụng ý yêu cầu, nhưng không giữ dạng wh-question.",
      "detail": "",
      "label": "Tạm thời",
      "status": "provisional",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "\"Why don't you close the door, John?\" said Mrs. Clark.\nMrs. Clark asked _____.",
      "question_translation": "\"Tại sao bạn không đóng cửa, John?\" Bà Clark.\nViết lại câu, bắt đầu bằng: Mrs. Clark asked _____.",
      "options": [],
      "answer_translation": "Bà Clark hỏi John tại sao ông ấy không đóng cửa.",
      "simple_reason": "Chuyển sang word order trần thuật. Asked John to close the door là cách báo cáo dụng ý yêu cầu, nhưng không giữ dạng wh-question.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20B-Q03",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20B",
      "section": "wh-questions",
      "question": 3,
      "answer": "Tom asked me what her name was.",
      "reason": "Không đảo was lên trước subject.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "Tom asked me \"What is her name?\"\nTom asked _____.",
      "question_translation": "Tom hỏi tôi \"Tên cô ấy là gì?\"\nViết lại câu, bắt đầu bằng: Tom asked _____.",
      "options": [],
      "answer_translation": "Tom hỏi tên cô ấy.",
      "simple_reason": "Không đảo was lên trước chủ ngữ.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20B-Q04",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20B",
      "section": "wh-questions",
      "question": 4,
      "answer": "He asked why they went to Paris so often.",
      "reason": "Present simple → past simple theo backshift.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He said, \"Why do they go to Paris so often?\"\nHe asked _____.",
      "question_translation": "Ông nói, \"Tại sao họ đến Paris thường xuyên như vậy?\"\nViết lại câu, bắt đầu bằng: He asked _____.",
      "options": [],
      "answer_translation": "Anh ta hỏi tại sao họ thường xuyên đến Paris.",
      "simple_reason": "Present simple → past simple theo backshift.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20B-Q05",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20B",
      "section": "wh-questions",
      "question": 5,
      "answer": "I asked my brother how much he had paid for those overripe tomatoes.",
      "reason": "did pay → had paid; these → those.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "I said to my brother, \"How much did you pay for these overripe tomatoes?\"\nI asked _____.",
      "question_translation": "Tôi hỏi anh trai tôi, \"Anh đã trả bao nhiêu cho những quả cà chua chín này?\"\nViết lại câu, bắt đầu bằng: I asked _____.",
      "options": [],
      "answer_translation": "Tôi hỏi anh trai tôi đã trả bao nhiêu cho những quả cà chua quá chín.",
      "simple_reason": "Did pay → had paid; these → those.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20C-Q01",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20C",
      "section": "requests, warnings and orders",
      "question": 1,
      "answer": "He requested that the stewardess bring him some hot drink.",
      "reason": "Mandative request that + subject + base verb; biến thể: requested the stewardess to bring....",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "He said to the stewardess, \"Please bring me some hot drink.\"\nHe requested _____.",
      "question_translation": "Người bèn nói cùng tiếp viên rằng: Xin hãy đem cho tôi đồ uống nóng.\nViết lại câu, bắt đầu bằng: He requested _____.",
      "options": [],
      "answer_translation": "Anh ta yêu cầu tiếp viên mang cho anh ta ít đồ uống nóng.",
      "simple_reason": "Mandative request that + chủ ngữ + base động từ; biến thể: requested the stewardess to bring....",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20C-Q02",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20C",
      "section": "requests, warnings and orders",
      "question": 2,
      "answer": "She warned him not to swim too far out.",
      "reason": "Negative imperative → warn + object + not to.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "\"Don't swim too far out,\" she warned him.\nShe warned _____.",
      "question_translation": "\"Đừng bơi quá xa,\" cô cảnh báo anh ta.\nViết lại câu, bắt đầu bằng: She warned _____.",
      "options": [],
      "answer_translation": "Cô ấy đã cảnh báo hắn đừng bơi quá xa.",
      "simple_reason": "Negative imperative → warn + object + not to.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20C-Q03",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20C",
      "section": "requests, warnings and orders",
      "question": 3,
      "answer": "The officer ordered the soldiers to fire.",
      "reason": "order + object + to-infinitive; câu nguồn không nêu người nhận lệnh.",
      "detail": "",
      "label": "Tạm thời",
      "status": "provisional",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The officer gave the order: \"Fire!\"\nThe office ordered _____.",
      "question_translation": "Viên sĩ quan ra lệnh:\nViết lại câu, bắt đầu bằng: The office ordered _____.",
      "options": [],
      "answer_translation": "Viên sĩ quan ra lệnh cho lính bắn.",
      "simple_reason": "Order + object + to-infinitive; câu nguồn không nêu người nhận lệnh.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20C-Q04",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20C",
      "section": "requests, warnings and orders",
      "question": 4,
      "answer": "The teacher told his student not to be late the next day.",
      "reason": "tomorrow → the next day; negative imperative.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The teacher said to his student, \"Don't be late tomorrow.\"\nThe teacher told _____.",
      "question_translation": "Cô giáo nói với học sinh của mình, \"Ngày mai đừng đến trễ.\"\nViết lại câu, bắt đầu bằng: The teacher told _____.",
      "options": [],
      "answer_translation": "Thầy giáo bảo học trò không được đến trễ ngày hôm sau.",
      "simple_reason": "Tomorrow → the next day; negative imperative.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    },
    {
      "id": "T8-P79-ST20C-Q05",
      "page": 79,
      "page_range": [
        78,
        79
      ],
      "kind": "writing",
      "unit": "Writing Practice 20C",
      "section": "requests, warnings and orders",
      "question": 5,
      "answer": "The officer ordered the soldier to present arms.",
      "reason": "order + object + to-infinitive.",
      "detail": "",
      "label": "Phân tích độc lập",
      "status": "ready",
      "explanation_level": "question",
      "source_updated": "2026-08-25",
      "question_text": "The officer said to the soldier, \"Present arms!\"\nThe office ordered _____.",
      "question_translation": "Viên sĩ quan nói với người lính:\nViết lại câu, bắt đầu bằng: The office ordered _____.",
      "options": [],
      "answer_translation": "Viên sĩ quan ra lệnh cho người lính giơ vũ khí.",
      "simple_reason": "Order + object + to-infinitive.",
      "solution_steps": [
        "Đọc câu ban đầu để chốt nghĩa.",
        "Nhìn từ gợi ý ở câu mới.",
        "Đổi cấu trúc rồi đọc lại xem nghĩa có còn nguyên không."
      ],
      "question_source": "image-compared",
      "context_id": null
    }
  ]
}
