{"id":873,"date":"2026-03-28T18:52:10","date_gmt":"2026-03-28T10:52:10","guid":{"rendered":"https:\/\/edu-creator.com\/?page_id=873"},"modified":"2026-04-12T02:14:57","modified_gmt":"2026-04-11T18:14:57","slug":"students","status":"publish","type":"page","link":"https:\/\/edu-creator.com\/index.php\/students\/","title":{"rendered":"Students"},"content":{"rendered":"\n<div id=\"rv-app\">\n<style>\n#rv-app {\n  --bg: #0f0f12; --bg-card: #1a1a22; --bg-card-hover: #22222e; --bg-accent: #2a1f3d;\n  --text: #e8e6f0; --text-dim: #8a87a0; --text-muted: #5c5974;\n  --accent: #a78bfa; --accent-bright: #c4b5fd; --accent-dim: #7c3aed;\n  --orange: #f59e0b; --red: #f87171; --green: #34d399; --blue: #60a5fa; --cyan: #22d3ee;\n  --border: #2a2938; --border-accent: #3d3560;\n  --radius: 12px; --radius-sm: 8px;\n  font-family: -apple-system, 'Segoe UI', 'Noto Sans SC', sans-serif;\n  background: var(--bg); color: var(--text); line-height: 1.7;\n  max-width: 1100px; margin: 0 auto; padding: 40px 24px 80px;\n  -webkit-font-smoothing: antialiased;\n}\n#rv-app * { box-sizing: border-box; }\n#rv-directory { text-align: center; padding: 80px 20px; }\n#rv-directory h1 { font-size: clamp(28px, 4.5vw, 44px); font-weight: 900; line-height: 1.2; margin-bottom: 8px; background: linear-gradient(135deg, var(--text) 0%, var(--accent-bright) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }\n#rv-directory .rv-dir-sub { font-size: 15px; color: var(--text-dim); margin-bottom: 48px; }\n#rv-directory .rv-dir-badge { display: inline-block; padding: 5px 16px; border: 1px solid var(--border-accent); border-radius: 100px; font-size: 12px; color: var(--accent); letter-spacing: 2px; text-transform: uppercase; font-weight: 500; margin-bottom: 24px; }\n.rv-student-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; max-width: 800px; margin: 0 auto; }\n.rv-student-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 32px 24px; text-align: center; cursor: pointer; transition: all 0.25s ease; position: relative; overflow: hidden; }\n.rv-student-card:hover { border-color: var(--accent); transform: translateY(-4px); box-shadow: 0 12px 40px rgba(124,58,237,0.15); }\n.rv-student-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--accent-dim), var(--accent-bright)); opacity: 0; transition: opacity 0.25s; }\n.rv-student-card:hover::before { opacity: 1; }\n.rv-student-avatar { width: 72px; height: 72px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 800; color: white; margin: 0 auto 16px; letter-spacing: -1px; }\n.rv-student-name { font-size: 20px; font-weight: 700; margin-bottom: 4px; }\n.rv-student-course { font-size: 13px; color: var(--accent); font-weight: 600; margin-bottom: 8px; }\n.rv-student-meta { font-size: 12px; color: var(--text-muted); }\n.rv-student-arrow { display: inline-block; margin-top: 16px; font-size: 13px; color: var(--accent); opacity: 0; transform: translateY(4px); transition: all 0.25s; }\n.rv-student-card:hover .rv-student-arrow { opacity: 1; transform: translateY(0); }\n#rv-tracker { display: none; }\n.rv-back { display: inline-flex; align-items: center; gap: 8px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 100px; padding: 8px 20px; font-size: 13px; color: var(--text-dim); cursor: pointer; transition: all 0.2s; margin-bottom: 24px; text-decoration: none; }\n.rv-back:hover { border-color: var(--accent); color: var(--accent); }\n.rv-hero { text-align: center; padding: 24px 0 40px; }\n.rv-hero-badge { display: inline-block; padding: 5px 16px; border: 1px solid var(--border-accent); border-radius: 100px; font-size: 12px; color: var(--accent); letter-spacing: 2px; text-transform: uppercase; font-weight: 500; margin-bottom: 20px; }\n.rv-hero h1 { font-size: clamp(24px, 4vw, 38px); font-weight: 900; line-height: 1.2; margin-bottom: 12px; background: linear-gradient(135deg, var(--text) 0%, var(--accent-bright) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }\n.rv-hero .rv-sub { font-size: 15px; color: var(--text-dim); margin-bottom: 28px; }\n.rv-user-info { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 100px; font-size: 13px; color: var(--text-dim); }\n.rv-user-info strong { color: var(--accent-bright); }\n.rv-dash { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-bottom: 48px; }\n.rv-dash-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; text-align: center; }\n.rv-dash-card .rv-num { font-size: 32px; font-weight: 800; font-family: 'SF Mono', 'Cascadia Code', monospace; }\n.rv-dash-card .rv-label { font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; margin-top: 4px; }\n.rv-dash-card .rv-label-cn { font-size: 13px; color: var(--text-dim); margin-top: 2px; }\n.rv-dash-card.purple .rv-num { color: var(--accent); }\n.rv-dash-card.green .rv-num { color: var(--green); }\n.rv-dash-card.orange .rv-num { color: var(--orange); }\n.rv-dash-card.blue .rv-num { color: var(--blue); }\n.rv-section { margin-top: 48px; }\n.rv-section-head { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }\n.rv-section-icon { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }\n.rv-section-head h2 { font-size: 20px; font-weight: 700; }\n.rv-section-head h2 .rv-en { font-size: 13px; color: var(--text-dim); }\n.rv-section-head .rv-section-sub { font-size: 13px; color: var(--text-muted); margin-left: auto; }\n.rv-week { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; margin-bottom: 16px; }\n.rv-week-hdr { padding: 18px 24px; display: flex; align-items: center; gap: 14px; cursor: pointer; user-select: none; transition: background 0.15s; border-bottom: 1px solid transparent; }\n.rv-week-hdr:hover { background: var(--bg-card-hover); }\n.rv-week-hdr.active { border-bottom-color: var(--border); }\n.rv-week-num { font-size: 12px; font-weight: 700; color: var(--accent); padding: 3px 10px; border: 1px solid var(--border-accent); border-radius: 100px; flex-shrink: 0; font-family: monospace; }\n.rv-week-title { font-weight: 700; font-size: 15px; flex: 1; }\n.rv-week-title .rv-en { font-weight: 400; font-size: 12px; display: block; color: var(--text-muted); }\n.rv-week-dates { font-size: 12px; color: var(--text-muted); font-family: monospace; }\n.rv-week-pct { font-size: 12px; font-weight: 700; font-family: monospace; padding: 2px 8px; border-radius: 100px; }\n.rv-week-chevron { color: var(--text-muted); transition: transform 0.25s; font-size: 12px; }\n.rv-week-hdr.active .rv-week-chevron { transform: rotate(180deg); }\n.rv-week-body { display: none; padding: 20px 24px 24px; }\n.rv-week-body.show { display: block; }\n.rv-day { margin-bottom: 20px; }\n.rv-day:last-child { margin-bottom: 0; }\n.rv-day-label { font-weight: 600; font-size: 13px; color: var(--accent); margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }\n.rv-day-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }\n.rv-time { font-size: 11px; color: var(--text-muted); font-weight: 400; font-family: monospace; }\n.rv-cl { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }\n.rv-cl li { display: flex; align-items: flex-start; gap: 10px; padding: 7px 10px; border-radius: 6px; transition: background 0.15s; cursor: pointer; font-size: 13.5px; line-height: 1.6; }\n.rv-cl li:hover { background: rgba(167,139,250,0.04); }\n.rv-cl li input[type=\"checkbox\"] { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; min-width: 18px; border: 2px solid var(--border-accent); border-radius: 4px; margin-top: 2px; cursor: pointer; position: relative; transition: all 0.15s; }\n.rv-cl li input[type=\"checkbox\"]:checked { background: var(--accent-dim); border-color: var(--accent-dim); }\n.rv-cl li input[type=\"checkbox\"]:checked::after { content: '\\2713'; position: absolute; top: -1px; left: 2px; font-size: 12px; color: white; font-weight: 700; }\n.rv-cl li.done span { text-decoration: line-through; color: var(--text-muted); opacity: 0.6; }\n.rv-tag { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; white-space: nowrap; }\n.rv-tag.haese { background: rgba(245,158,11,0.1); color: var(--orange); }\n.rv-tag.rv { background: rgba(52,211,153,0.1); color: var(--green); }\n.rv-tag.gdc { background: rgba(96,165,250,0.1); color: var(--blue); }\n.rv-tag.pp { background: rgba(248,113,113,0.1); color: var(--red); }\n.rv-info { padding: 16px 20px; border-radius: 8px; margin: 12px 0; font-size: 13px; line-height: 1.7; }\n.rv-info.strategy { background: rgba(167,139,250,0.06); border-left: 3px solid var(--accent); }\n.rv-info.warning { background: rgba(248,113,113,0.06); border-left: 3px solid var(--red); }\n.rv-info.tip { background: rgba(52,211,153,0.06); border-left: 3px solid var(--green); }\n.rv-info strong { color: var(--text); }\n.rv-pbar { margin: 16px 0 0; }\n.rv-pbar-label { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 6px; }\n.rv-pbar-label .pct { font-family: monospace; color: var(--accent); font-weight: 700; }\n.rv-pbar-track { height: 5px; background: var(--border); border-radius: 100px; overflow: hidden; }\n.rv-pbar-fill { height: 100%; background: linear-gradient(90deg, var(--accent-dim), var(--accent)); border-radius: 100px; transition: width 0.5s; }\n.rv-pp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }\n.rv-pp-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; transition: border-color 0.2s; }\n.rv-pp-card:hover { border-color: var(--border-accent); }\n.rv-pp-session { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1.5px; font-weight: 600; margin-bottom: 4px; }\n.rv-score { display: flex; align-items: center; gap: 6px; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--border); font-size: 12px; color: var(--text-dim); }\n.rv-score input { background: var(--bg); border: 1px solid var(--border); border-radius: 4px; padding: 4px 8px; font-size: 12px; color: var(--accent-bright); width: 50px; text-align: center; outline: none; font-family: monospace; }\n.rv-score input:focus { border-color: var(--accent); }\n@media (max-width: 640px) {\n  #rv-app { padding: 20px 14px 60px; }\n  #rv-directory { padding: 40px 10px; }\n  .rv-student-grid { grid-template-columns: 1fr; }\n  .rv-hero { padding: 16px 0 24px; }\n  .rv-week-dates { display: none; }\n  .rv-pp-grid { grid-template-columns: 1fr; }\n  .rv-dash { grid-template-columns: repeat(2, 1fr); }\n}\n<\/style>\n\n<div id=\"rv-directory\">\n  <div class=\"rv-dir-badge\">Edu-Creator Academy<\/div>\n  <h1>Student Portal<\/h1>\n  <p class=\"rv-dir-sub\">Select a student to view their revision tracker<br><span style=\"font-size:13px;\">&#36873;&#25321;&#23398;&#29983;&#26597;&#30475;&#22797;&#20064;&#36827;&#24230;<\/span><\/p>\n  <div class=\"rv-student-grid\" id=\"rv-student-grid\"><\/div>\n<\/div>\n\n<div id=\"rv-tracker\">\n  <a class=\"rv-back\" onclick=\"rvBackToDirectory()\">&#8592; &#36820;&#22238;&#23398;&#29983;&#21015;&#34920; Back to Students<\/a>\n  <div class=\"rv-hero\">\n    <div class=\"rv-hero-badge\" id=\"rv-badge\"><\/div>\n    <h1 id=\"rv-tracker-title\"><\/h1>\n    <p class=\"rv-sub\" id=\"rv-tracker-sub\"><\/p>\n    <div class=\"rv-user-info\">&#23398;&#29983; Student: <strong id=\"rv-user-display\"><\/strong><\/div>\n  <\/div>\n  <div class=\"rv-dash\">\n    <div class=\"rv-dash-card purple\"><div class=\"rv-num\" id=\"rv-total-pct\">0%<\/div><div class=\"rv-label\">Overall Progress<\/div><div class=\"rv-label-cn\">&#24635;&#20307;&#36827;&#24230;<\/div><\/div>\n    <div class=\"rv-dash-card green\"><div class=\"rv-num\" id=\"rv-tasks-done\">0\/0<\/div><div class=\"rv-label\">Tasks Completed<\/div><div class=\"rv-label-cn\">&#20219;&#21153;&#23436;&#25104;<\/div><\/div>\n    <div class=\"rv-dash-card orange\"><div class=\"rv-num\" id=\"rv-papers-done\">0\/0<\/div><div class=\"rv-label\">Past Papers Done<\/div><div class=\"rv-label-cn\">&#30495;&#39064;&#23436;&#25104;<\/div><\/div>\n    <div class=\"rv-dash-card blue\"><div class=\"rv-num\" id=\"rv-days-left\">&#8212;<\/div><div class=\"rv-label\">Days to Exam<\/div><div class=\"rv-label-cn\">&#36317;&#32771;&#35797;&#22825;&#25968;<\/div><\/div>\n  <\/div>\n  <div id=\"rv-weeks-section\"><\/div>\n  <div id=\"rv-pp-section\"><\/div>\n<\/div>\n\n<script src=\"https:\/\/www.gstatic.com\/firebasejs\/10.12.0\/firebase-app-compat.js\"><\/script>\n<script src=\"https:\/\/www.gstatic.com\/firebasejs\/10.12.0\/firebase-database-compat.js\"><\/script>\n<script>\n(function(){\nfirebase.initializeApp({\n  apiKey:\"AIzaSyA7Hlzu-yohiqqIUNCdOVnsLFHV-__Xr1s\",\n  authDomain:\"edu-creator-tracker.firebaseapp.com\",\n  databaseURL:\"https:\/\/edu-creator-tracker-default-rtdb.firebaseio.com\",\n  projectId:\"edu-creator-tracker\",\n  storageBucket:\"edu-creator-tracker.firebasestorage.app\",\n  messagingSenderId:\"116312907803\",\n  appId:\"1:116312907803:web:3225268ed956fdb71a58be\"\n});\nvar db = firebase.database();\nvar fbRef = null, fbListener = null;\nvar STUDENTS = [\n  {\n    id:'laox', name:'\\u8001X', course:'IB Math AA HL', exam:'May 2026', avatar:'\\u8001', color:'#7c3aed',\n    examDate:'2026-05-14',\n    badge:'2026\\u5E745\\u6708\\u8003\\u8BD5 May Examination',\n    paperMax:{'Paper 1':'110','Paper 2':'110','Paper 3':'55'},\n    papers:[\n      {session:'May 2024',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2023',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'May 2023',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2022',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'May 2022',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2021',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'May 2021',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2020',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'May 2019',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2019',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Specimen \\u6837\\u5377',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'RV Prediction 2026 \\u9884\\u6D4B\\u5377',p:['Paper 1','Paper 2','Paper 3']}\n    ],\n    weeks:[\n      {num:'W1',title:'\\u5FAE\\u79EF\\u5206\\u57FA\\u7840 + GDC\\u70ED\\u8EAB',en:'Calculus Foundations + GDC Warm-up',dates:'3\/31-4\/6',\n       goal:'\\u91CD\\u5EFA\\u6838\\u5FC3\\u5FAE\\u79EF\\u5206\\u6846\\u67B6\\uFF08\\u6C42\\u5BFC\\u6CD5\\u5219\\u3001\\u6807\\u51C6\\u79EF\\u5206\\uFF09\\u3002\\u70ED\\u8EABGDC\\u6280\\u80FD\\u3002\\u6BCF\\u5929\\u7EA62-2.5h\\u3002 Rebuild core calculus. ~2-2.5h\/day.',\n       days:[\n         {label:'\\u7B2C1-2\\u5929 Day 1-2',time:'\\u6BCF\\u59292.5h',tasks:[\n           {cn:'\\u590D\\u4E60\\u6C42\\u5BFC\\uFF1A\\u94FE\\u5F0F\\u6CD5\\u5219\\u3001\\u4E58\\u79EF\\u6CD5\\u5219\\u3001\\u5546\\u6CD5\\u5219',en:'Review differentiation: Chain, Product, Quotient Rule',tag:'haese',tagText:'Haese Ch.20'},\n           {cn:'\\u5B8C\\u6210 Haese Ch.20 Review Set A\\uFF08\\u8BA1\\u65F640\\u5206\\u949F\\uFF09',en:'Complete Haese Ch.20 Review Set A (timed: 40 min)'},\n           {cn:'\\u9690\\u51FD\\u6570\\u6C42\\u5BFC\\uFF1A\\u6982\\u5FF5 + \\u5178\\u578B\\u4F8B\\u9898',en:'Implicit Differentiation: concepts + worked examples',tag:'haese',tagText:'Haese Ch.20H'},\n           {cn:'GDC\\u70ED\\u8EAB1\\uFF1A\\u51FD\\u6570\\u56FE\\u50CF\\u3001\\u6C42\\u96F6\\u70B9\\u53CA\\u4EA4\\u70B9',en:'GDC Warm-up 1: Graph functions, zeros & intersections',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\\u7B2C3-4\\u5929 Day 3-4',time:'\\u6BCF\\u59292.5h',tasks:[\n           {cn:'\\u6807\\u51C6\\u79EF\\u5206\\uFF1Ax\\u207F, e\\u02E3, 1\/x, sin\/cos\/tan, sec\\u00B2x',en:'Standard integrals',tag:'haese',tagText:'Haese Ch.21'},\n           {cn:'\\u6362\\u5143\\u79EF\\u5206\\u6CD5\\uFF1A8+\\u9053\\u9898\\uFF08\\u542B\\u4E09\\u89D2\\u6362\\u5143\\uFF09',en:'Integration by Substitution: 8+ problems'},\n           {cn:'\\u5206\\u90E8\\u79EF\\u5206\\u6CD5\\uFF1AHaese Ch.21 Review Set (6+\\u9053)',en:'Integration by Parts'},\n           {cn:'GDC\\u70ED\\u8EAB2\\uFF1A\\u6570\\u503C\\u79EF\\u5206 fnInt\\uFF0C\\u9A8C\\u8BC1\\u624B\\u7B97',en:'GDC Warm-up 2: fnInt',tag:'gdc',tagText:'GDC'},\n           {cn:'RV Topic 5 \\u5FAE\\u79EF\\u5206\\u9898\\u5E93\\uFF1A10\\u9053\\u4E2D\\u96BE\\u5EA6',en:'RV Calculus QB: 10 Medium',tag:'rv',tagText:'RV QB'}\n         ]},\n         {label:'\\u7B2C5-6\\u5929 Day 5-6',time:'\\u6BCF\\u59292h',tasks:[\n           {cn:'\\u90E8\\u5206\\u5206\\u5F0F\\u79EF\\u5206',en:'Partial Fractions integration',tag:'haese',tagText:'Haese Ch.21'},\n           {cn:'\\u5B9A\\u79EF\\u5206\\uFF1A\\u66F2\\u7EBF\\u95F4\\u9762\\u79EF\\u3001\\u7EDD\\u5BF9\\u503C\\u60C5\\u5F62',en:'Definite integrals: area between curves'},\n           {cn:'GDC\\u70ED\\u8EAB3\\uFF1Anormalcdf \/ invNorm \\u590D\\u4E60',en:'GDC: normalcdf \/ invNorm review',tag:'gdc',tagText:'GDC'},\n           {cn:'RV\\u89C6\\u9891\\uFF1A\\u5FAE\\u79EF\\u5206 - \\u79EF\\u5206\\u6280\\u5DE7',en:'RV Video: Integration Techniques',tag:'rv',tagText:'RV Video'},\n           {cn:'\\u6574\\u7406\\u672C\\u5468\\u9519\\u9898\\u672C',en:'Organize error notebook for the week'}\n         ]}\n       ]},\n      {num:'W2',title:'\\u9AD8\\u9636\\u5FAE\\u79EF\\u5206(HL) + \\u590D\\u6570\\u5165\\u95E8',en:'Advanced Calculus (HL) + Complex Numbers Intro',dates:'4\/7-4\/13',\n       goal:'\\u638C\\u63E1HL\\u5FAE\\u79EF\\u5206\\u4E13\\u9898\\uFF08\\u5FAE\\u5206\\u65B9\\u7A0B\\u3001Maclaurin\\u7EA7\\u6570\\u3001\\u65CB\\u8F6C\\u4F53\\uFF09\\u3002\\u5F00\\u59CB\\u590D\\u6570\\u3002\\u6BCF\\u59292.5h\\u3002 Master HL calculus + start complex numbers. ~2.5h\/day.',\n       days:[\n         {label:'\\u7B2C1-2\\u5929 Day 1-2',time:'\\u6BCF\\u59292.5h',tasks:[\n           {cn:'\\u76F8\\u5173\\u53D8\\u5316\\u7387\\uFF1A\\u94FE\\u5F0F\\u6846\\u67B6 dA\/dt = dA\/dr \\u00D7 dr\/dt',en:'Related Rates',tag:'haese',tagText:'Haese Ch.20'},\n           {cn:'Haese \\u76F8\\u5173\\u53D8\\u5316\\u7387\\u5168\\u90E8\\u4F8B\\u9898+\\u7EC3\\u4E60',en:'Related Rates all examples + exercises'},\n           {cn:'\\u53EF\\u5206\\u79BB\\u5FAE\\u5206\\u65B9\\u7A0B\\uFF1A\\u65B9\\u6CD5+8\\u9053\\u7EC3\\u4E60',en:'Separable ODEs: 8 practice problems',tag:'haese',tagText:'Haese Ch.22'},\n           {cn:'RV\\u5FAE\\u5206\\u65B9\\u7A0B\\u9898\\u5E93\\uFF1A\\u4E2D+\\u96BE\\u54055\\u9053',en:'RV DE QB: Medium+Hard 5 each',tag:'rv',tagText:'RV QB'}\n         ]},\n         {label:'\\u7B2C3-4\\u5929 Day 3-4',time:'\\u6BCF\\u59292.5h',tasks:[\n           {cn:'\\u9F50\\u6B21\\u5FAE\\u5206\\u65B9\\u7A0B & \\u79EF\\u5206\\u56E0\\u5B50\\u6CD5',en:'Homogeneous DEs & Integrating Factor',tag:'haese',tagText:'Haese Ch.22'},\n           {cn:'Maclaurin\\u7EA7\\u6570\\uFF1A\\u63A8\\u5BFC e\\u02E3, sin x, cos x, ln(1+x), (1+x)\\u207F',en:'Maclaurin Series derivations',tag:'haese',tagText:'Haese Ch.21H'},\n           {cn:'Maclaurin\\u7EC3\\u4E60\\uFF1A\\u590D\\u5408\\u51FD\\u6570',en:'Maclaurin practice: composite functions'},\n           {cn:'\\u6D1B\\u5FC5\\u8FBE\\u6CD5\\u5219\\uFF1A0\/0\\u548C\\u221E\/\\u221E\\u578B\\u6781\\u9650\\uFF0C6\\u9053',en:'L\\'Hopital\\'s Rule: 6 problems'}\n         ]},\n         {label:'\\u7B2C5-6\\u5929 Day 5-6',time:'\\u6BCF\\u59292.5h',tasks:[\n           {cn:'\\u65CB\\u8F6C\\u4F53\\u4F53\\u79EF\\uFF1A\\u7ED5x\\u8F74\/y\\u8F74',en:'Volumes of Revolution',tag:'haese',tagText:'Haese Ch.21'},\n           {cn:'\\u8FD0\\u52A8\\u5B66\\uFF1As(t), v(t)=s\\'(t), a(t)=v\\'(t) \\u7EFC\\u5408\\u9898 x4',en:'Kinematics combined problems'},\n           {cn:'\\u590D\\u6570\\u57FA\\u7840\\uFF1Aa+bi\\u8FD0\\u7B97\\u3001\\u5171\\u8F6D\\u3001\\u6A21\\u3001\\u8F90\\u89D2',en:'Complex Numbers basics',tag:'haese',tagText:'Haese Ch.14'},\n           {cn:'Argand\\u56FE\\uFF1A\\u4F5C\\u56FE+\\u51E0\\u4F55\\u610F\\u4E49',en:'Argand Diagram'},\n           {cn:'RV\\u89C6\\u9891\\uFF1A\\u590D\\u6570\\u5165\\u95E8',en:'RV Video: Complex Numbers Intro',tag:'rv',tagText:'RV Video'},\n           {cn:'\\u9519\\u9898\\u672C\\u590D\\u4E60\\uFF08\\u7B2C1+2\\u5468\\uFF09',en:'Error notebook review (W1+2)'}\n         ]}\n       ]},\n      {num:'W3',title:'\\u590D\\u6570\\u6DF1\\u5165 + \\u5411\\u91CF',en:'Complex Numbers Deep Dive + Vectors',dates:'4\/14-4\/20',\n       goal:'\\u5B8C\\u6210\\u5168\\u90E8HL\\u590D\\u6570\\u5185\\u5BB9\\u3002\\u5411\\u91CF\\u63D0\\u5347\\u81F3HL\\u6C34\\u5E73\\u3002\\u6BCF\\u59292.5-3h\\u3002 Complete HL complex numbers + vectors to HL level. ~2.5-3h\/day.',\n       days:[\n         {label:'\\u7B2C1-2\\u5929 Day 1-2',time:'\\u6BCF\\u59292.5h',tasks:[\n           {cn:'\\u6781\\u5750\\u6807\/\\u6B27\\u62C9\\u5F62\\u5F0F\\uFF1Ar cis \\u03B8',en:'Polar\/Euler Form',tag:'haese',tagText:'Haese Ch.14'},\n           {cn:'\\u68E3\\u83AB\\u5F17\\u5B9A\\u7406\\uFF1A\\u8BC1\\u660E+\\u5E94\\u7528',en:'De Moivre\\'s Theorem'},\n           {cn:'Haese Ch.14 De Moivre\\u5168\\u90E8\\u7EC3\\u4E60',en:'De Moivre all exercises'},\n           {cn:'\\u590D\\u6570n\\u6B21\\u65B9\\u6839\\uFF1A\\u65B9\\u6CD5+Argand\\u56FE',en:'nth roots of complex numbers'},\n           {cn:'RV\\u590D\\u6570\\u9898\\u5E93 \\u96BE\\u98985-8\\u9053',en:'RV Complex Numbers QB Hard',tag:'rv',tagText:'RV QB'}\n         ]},\n         {label:'\\u7B2C3\\u5929 Day 3',time:'2.5h',tasks:[\n           {cn:'\\u5171\\u8F6D\\u6839\\u5B9A\\u7406+\\u591A\\u9879\\u5F0F\\u56E0\\u5F0F\\u5206\\u89E3',en:'Conjugate Root Theorem',tag:'haese',tagText:'Haese Ch.14'},\n           {cn:'\\u590D\\u6570\\u5927\\u9898\\uFF1A2\\u9053\\u771F\\u9898\\u7EC3\\u4E60',en:'Complex number past paper problems'},\n           {cn:'GDC\\u590D\\u6570\\u8FD0\\u7B97\\uFF1A\\u9A8C\\u8BC1\\u6A21\/\\u8F90\\u89D2',en:'GDC complex operations',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\\u7B2C4-5\\u5929 Day 4-5',time:'\\u6BCF\\u59292.5h',tasks:[\n           {cn:'\\u5411\\u91CF\\u590D\\u4E60\\uFF1A\\u52A0\\u6CD5\\u3001\\u70B9\\u79EF\\u3001\\u5206\\u91CF',en:'Vectors review: dot product, components',tag:'haese',tagText:'Haese Ch.15'},\n           {cn:'\\u53C9\\u79EF\\uFF1A\\u516C\\u5F0F\\u3001\\u51E0\\u4F55\\u610F\\u4E49\\u3001\\u884C\\u5217\\u5F0F\\u6CD5',en:'Cross Product'},\n           {cn:'\\u76F4\\u7EBF\\u5411\\u91CF\\u65B9\\u7A0B\\uFF1Ar = a + \\u03BBb',en:'Vector equation of a line'},\n           {cn:'\\u4E24\\u76F4\\u7EBF\\u5173\\u7CFB\\uFF1A\\u5E73\\u884C\\u3001\\u76F8\\u4EA4\\u3001\\u5F02\\u9762',en:'Lines: parallel, intersecting, skew'},\n           {cn:'RV\\u5411\\u91CF\\u9898\\u5E93 \\u4E2D\\u96BE\\u5EA68-10\\u9053',en:'RV Vectors QB Medium 8-10',tag:'rv',tagText:'RV QB'}\n         ]},\n         {label:'\\u7B2C6\\u5929 Day 6',time:'3h',tasks:[\n           {cn:'\\u5E73\\u9762\\u65B9\\u7A0B\\uFF1A\\u6CD5\\u5411\\u91CF\\u5F62\\u5F0F\\u3001\\u76F4\\u89D2\\u5750\\u6807\\u5F62\\u5F0F',en:'Equation of a Plane',tag:'haese',tagText:'Haese Ch.15'},\n           {cn:'\\u7EBF\\u9762\\u4EA4\\u70B9\\u3001\\u9762\\u9762\\u4EA4\\u7EBF',en:'Line-plane, plane-plane intersection'},\n           {cn:'\\u70B9\\u5230\\u76F4\\u7EBF\/\\u5E73\\u9762\\u8DDD\\u79BB',en:'Distance from point to line\/plane'},\n           {cn:'\\u76F4\\u7EBF\/\\u5E73\\u9762\\u95F4\\u5939\\u89D2',en:'Angles between lines\/planes'},\n           {cn:'\\u590D\\u4E60\\u7B2C1-3\\u5468\\u5168\\u90E8\\u9519\\u9898',en:'Review all W1-3 errors'}\n         ]}\n       ]},\n      {num:'W4',title:'\\u5269\\u4F59\\u4E13\\u9898\\u590D\\u4E60 + \\u7B2C\\u4E00\\u8F6E\\u6A21\\u8003',en:'Remaining Topics + Mock Round 1',dates:'4\/21-4\/27',\n       goal:'\\u5FEB\\u901F\\u626B\\u63CF\\u51FD\\u6570\\u3001\\u4E09\\u89D2\\u3001\\u7EDF\\u8BA1\\u4E0E\\u6982\\u7387\\u3002\\u7B2C\\u4E00\\u8F6E\\u6A21\\u8003\\u3002\\u6BCF\\u59292.5-3h\\u3002 Quick scan + first mocks. ~2.5-3h\/day.',\n       days:[\n         {label:'\\u7B2C1\\u5929 Day 1',time:'2.5h',tasks:[\n           {cn:'\\u51FD\\u6570\\u626B\\u63CF\\uFF1A\\u53D8\\u6362\\u3001\\u53CD\\u51FD\\u6570\\u3001\\u590D\\u5408\\u51FD\\u6570',en:'Functions scan',tag:'haese',tagText:'Haese Ch.2-5'},\n           {cn:'HL\\u51FD\\u6570\\uFF1A\\u56E0\\u5F0F\/\\u4F59\\u5F0F\\u5B9A\\u7406\\u3001\\u90E8\\u5206\\u5206\\u5F0F',en:'HL Functions: Factor\/Remainder Theorem'},\n           {cn:'RV\\u51FD\\u6570\\u9898\\u5E93 10\\u9053\\u4E2D\\u96BE\\u5EA6',en:'RV Functions QB 10 Medium',tag:'rv',tagText:'RV QB'}\n         ]},\n         {label:'\\u7B2C2\\u5929 Day 2',time:'2.5h',tasks:[\n           {cn:'\\u4E09\\u89D2\\u51FD\\u6570\\u626B\\u63CF\\uFF1A\\u6052\\u7B49\\u5F0F\\u3001\\u500D\\u89D2\\u3001\\u8F85\\u52A9\\u89D2',en:'Trig scan',tag:'haese',tagText:'Haese Ch.10-11'},\n           {cn:'HL\\u4E09\\u89D2\\uFF1A\\u53CD\\u4E09\\u89D2\\u51FD\\u6570\\u3001sec\/csc\/cot\\u5FAE\\u79EF\\u5206',en:'HL Trig: inverse trig, sec\/csc\/cot'},\n           {cn:'2-3\\u9053\\u4E09\\u89D2\\u8BC1\\u660E\\u5927\\u9898',en:'Trig proof long questions (P1 style)'}\n         ]},\n         {label:'\\u7B2C3\\u5929 Day 3',time:'2.5h',tasks:[\n           {cn:'\\u6982\\u7387\\u4E0E\\u7EDF\\u8BA1\\u626B\\u63CF',en:'Probability & Stats scan',tag:'haese',tagText:'Haese Ch.16-19'},\n           {cn:'HL\\u6982\\u7387\\uFF1A\\u8D1D\\u53F6\\u65AF\\u3001\\u8FDE\\u7EED\\u968F\\u673A\\u53D8\\u91CF',en:'HL: Bayes\\', continuous RV'},\n           {cn:'GDC\\u7EDF\\u8BA1\\u590D\\u4E60',en:'GDC Stats review',tag:'gdc',tagText:'GDC'},\n           {cn:'RV\\u7EDF\\u8BA1\\u4E0E\\u6982\\u7387\\u9898\\u5E93 8\\u9053',en:'RV Stats & Prob QB',tag:'rv',tagText:'RV QB'}\n         ]},\n         {label:'\\u7B2C4\\u5929 Day 4',time:'3h \\u6A21\\u8003MOCK',tasks:[\n           {cn:'\\u6A21\\u8003#1\\uFF1APaper 1\\uFF08\\u4E25\\u683C2h\\uFF0C\\u65E0\\u8BA1\\u7B97\\u5668\\uFF09',en:'Mock #1: Paper 1 (strict 2h, no calc)'},\n           {cn:'\\u6279\\u6539+\\u8BE6\\u7EC6\\u5206\\u6790',en:'Mark + detailed analysis'}\n         ]},\n         {label:'\\u7B2C5\\u5929 Day 5',time:'3h \\u6A21\\u8003MOCK',tasks:[\n           {cn:'\\u6A21\\u8003#2\\uFF1APaper 2\\uFF08\\u4E25\\u683C2h\\uFF0C\\u5E26\\u8BA1\\u7B97\\u5668\\uFF09',en:'Mock #2: Paper 2 (strict 2h, with calc)'},\n           {cn:'\\u6279\\u6539+\\u5206\\u6790\\uFF0C\\u66F4\\u65B0\\u9519\\u9898\\u672C',en:'Mark + analysis, update error notebook'}\n         ]}\n       ]},\n      {num:'W5',title:'\\u9488\\u5BF9\\u6027\\u8865\\u5F31 + Paper 3 + \\u7B2C\\u4E8C\\u8F6E\\u6A21\\u8003',en:'Weakness Fix + Paper 3 + Mock Round 2',dates:'4\/28-5\/4',\n       goal:'\\u4FEE\\u590D\\u6A21\\u8003\\u66B4\\u9732\\u7684\\u5F31\\u70B9\\u3002Paper 3\\u4E13\\u9879\\u3002\\u7B2C\\u4E8C\\u8F6E\\u6A21\\u8003\\u3002\\u6BCF\\u5929\\u7EA63h\\u3002 Fix weaknesses. Paper 3 prep. ~3h\/day.',\n       days:[\n         {label:'\\u7B2C1-2\\u5929 Day 1-2',time:'\\u6BCF\\u59293h',tasks:[\n           {cn:'\\u6839\\u636E\\u6A21\\u8003\\u5206\\u6790\\uFF1A\\u91CD\\u65B0\\u653B\\u514B\\u6700\\u5F31\\u76842-3\\u4E2A\\u5B50\\u4E13\\u9898',en:'Revisit weakest 2-3 sub-topics'},\n           {cn:'\\u6BCF\\u4E2A\\u5F31\\u70B9\\uFF1ARV\\u89C6\\u9891\\u2192Haese\\u4F8B\\u9898\\u2192RV\\u9898\\u5E935-8\\u9053',en:'RV Video \\u2192 Haese \\u2192 RV QB 5-8',tag:'rv',tagText:'RV'},\n           {cn:'\\u91CD\\u505A\\u7B2C1-3\\u5468\\u6807\\u8BB0\\u9519\\u9898',en:'Redo flagged errors from W1-3'},\n           {cn:'\\u6570\\u5B66\\u5F52\\u7EB3\\u6CD5\\uFF1A4\\u79CD\\u7C7B\\u578B',en:'Proof by Induction: 4 types'}\n         ]},\n         {label:'\\u7B2C3-4\\u5929 Day 3-4',time:'\\u6BCF\\u59293h',tasks:[\n           {cn:'Paper 3\\u683C\\u5F0F\\uFF1A\\u5F00\\u653E\\u6027\\u63A2\\u7A76\\u3001\\u8DE8\\u4E13\\u9898',en:'Paper 3 format: open investigation'},\n           {cn:'\\u5B8C\\u62102\\u5957Paper 3\\u7EC3\\u4E60\\uFF08\\u6BCF\\u5957\\u8BA1\\u65F61h\\uFF09',en:'2 Paper 3 practice sets (1h each)',tag:'rv',tagText:'RV Paper 3'},\n           {cn:'Paper 3\\u7B56\\u7565\\uFF1A\\u5168\\u90E8\\u9605\\u8BFB\\u2192\\u5173\\u952E\\u6307\\u4EE4\\u8BCD\\u2192\\u9010\\u6B65\\u89E3\\u7B54',en:'Paper 3 strategy'},\n           {cn:'Paper 3\\u5E38\\u89C1\\u4E3B\\u9898\\uFF1A\\u6570\\u5217\\u6781\\u9650\\u3001DE\\u5EFA\\u6A21\\u3001\\u590D\\u6570\\u51E0\\u4F55',en:'P3 themes: sequences, DE, complex'},\n           {cn:'Paper 3 GDC\\u6280\\u5DE7\\uFF1A\\u9A8C\\u8BC1\\u731C\\u60F3\\u3001\\u4F5C\\u56FE',en:'GDC tactics for P3',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\\u7B2C5\\u5929 Day 5',time:'3.5h \\u6A21\\u8003MOCK',tasks:[\n           {cn:'\\u6A21\\u8003#3\\uFF1APaper 1\\uFF08\\u4E0D\\u540C\\u771F\\u9898\\uFF0C\\u4E25\\u683C2h\\uFF09',en:'Mock #3: Paper 1 (strict 2h)'},\n           {cn:'\\u4E0E\\u6A21\\u8003#1\\u5BF9\\u6BD4\\u6210\\u7EE9',en:'Compare with Mock #1'},\n           {cn:'\\u66F4\\u65B0\\u9519\\u9898\\u672C\\uFF0C\\u6807\\u8BB0\\u53CD\\u590D\\u9519\\u8BEF',en:'Update error notebook, flag patterns'}\n         ]}\n       ]},\n      {num:'W6',title:'\\u51B2\\u523A\\u9636\\u6BB5 - \\u9519\\u9898\\u56DE\\u987E - \\u8003\\u524D\\u51C6\\u5907',en:'Final Sprint - Error Review - Exam Prep',dates:'5\/5-5\/13',\n       goal:'\\u4E0D\\u5B66\\u65B0\\u5185\\u5BB9\\u3002\\u5168\\u90E8\\u7CBE\\u529B\\u653E\\u5728\\u590D\\u4E60+\\u719F\\u7EC3+\\u8003\\u8BD5\\u8282\\u5960\\u3002\\u4FDD\\u8BC1\\u7761\\u7720\\u3002 No new content. Review + fluency. Protect sleep.',\n       days:[\n         {label:'\\u7B2C1-2\\u5929 5\/5-6',time:'\\u6BCF\\u59292.5h',tasks:[\n           {cn:'\\u901A\\u8BFB\\u6574\\u672C\\u9519\\u9898\\u672C\\uFF0C\\u7EA2\\u8272\\u6807\\u8BB0\\u4E0D\\u786E\\u5B9A\\u7684\\u9898',en:'Read error notebook, red-mark uncertain'},\n           {cn:'\\u4E0D\\u786E\\u5B9A\\u7684\\u9898\\uFF1A\\u770B\\u89E3\\u6790\\u2192\\u5408\\u4E0A\\u2192\\u72EC\\u7ACB\\u91CD\\u505A',en:'Study \\u2192 close \\u2192 redo independently'},\n           {cn:'RV\\u516C\\u5F0F\\u624B\\u518C\\u5B8C\\u6574\\u8FC7\\u4E00\\u904D',en:'RV Formula Booklet Walkthrough',tag:'rv',tagText:'RV Formula'},\n           {cn:'\\u5236\\u4F5CPaper 1\\u516C\\u5F0F\\u5907\\u5FD8\\u5355',en:'Create Paper 1 formula cheat sheet'}\n         ]},\n         {label:'\\u7B2C3\\u5929 5\/7',time:'2h',tasks:[\n           {cn:'\\u6700\\u540E\\u6A21\\u8003\\uFF1APaper 2 + Paper 3',en:'Final Mock: P2 + P3'},\n           {cn:'\\u68C0\\u67E5GDC\\u719F\\u7EC3\\u5EA6',en:'Check GDC fluency'},\n           {cn:'\\u8F7B\\u5EA6\\u6279\\u6539\\uFF0C\\u53EA\\u5173\\u6CE8\\u9519\\u8BEF\\u7C7B\\u578B',en:'Light marking - error types only'}\n         ]},\n         {label:'\\u7B2C4-5\\u5929 5\/9-10',time:'\\u6BCF\\u59291.5h',tasks:[\n           {cn:'\\u91CD\\u505A\\u7EA2\\u8272\\u6807\\u8BB0\\u7684\\u9519\\u9898',en:'Redo red-marked errors'},\n           {cn:'GDC\\u6700\\u540E\\u68C0\\u67E5\\uFF1A\\u5F27\\u5EA6\\u5236\\u3001\\u5C0F\\u6570\\u4F4D\\u3001\\u7EDF\\u8BA1\\u529F\\u80FD',en:'GDC final check',tag:'gdc',tagText:'GDC'},\n           {cn:'\\u51C6\\u5907\\u8003\\u8BD5\\u7528\\u54C1\\uFF1A\\u7B14\\u3001\\u8BA1\\u7B97\\u5668\\u3001\\u5C3A\\u5B50\\u3001\\u8BC1\\u4EF6',en:'Prepare exam supplies'}\n         ]},\n         {label:'\\u7B2C6-7\\u5929 5\/12-13',time:'\\u6BCF\\u5929\\u22641h',tasks:[\n           {cn:'\\u53EA\\u6D4F\\u89C8\\u9519\\u9898\\u672C+\\u516C\\u5F0F\\u8868',en:'Browse error notebook + formula sheet'},\n           {cn:'\\u590D\\u4E60\\u8003\\u8BD5\\u7B56\\u7565\\u5361',en:'Review exam strategy cards'},\n           {cn:'\\u65E9\\u7761\\u3002\\u76F8\\u4FE1\\u4F60\\u7684\\u52AA\\u529B\\u3002',en:'Sleep early. Trust your work.'}\n         ]}\n       ]},\n      {num:'EXAM',title:'\\u8003\\u8BD5\\u5468\\uFF1AP1 \\u2192 P2 \\u2192 P3',en:'Exam Week',dates:'5\/14-5\/20',isExam:true,\n       goal:'',\n       days:[\n         {label:'5\/14 Paper 1',time:'2h \\u65E0\\u8BA1\\u7B97\\u5668',tasks:[\n           {cn:'\\u4E0A\\u5348\\uFF1A\\u6700\\u540E\\u590D\\u4E60\\u9519\\u9898\\u672C+\\u516C\\u5F0F\\u8868',en:'AM: Final review'},\n           {cn:'\\u786E\\u8BA4\\u7528\\u54C1\\uFF1A\\u7B14\\u3001\\u6A21\\u76AE\\u3001\\u5C3A\\u5B50\\u3001\\u8BC1\\u4EF6',en:'Confirm supplies'},\n           {cn:'P1\\u7B56\\u7565\\uFF1A\\u626B\\u63CF\\u2192Section A\\u5FEB\\u505A\\u2192Section B\\u5148\\u505A\\u7B80\\u5355\\u9898',en:'P1 strategy: scan \\u2192 A fast \\u2192 B easy first'}\n         ]},\n         {label:'5\/15 Paper 2',time:'2h \\u5E26\\u8BA1\\u7B97\\u5668',tasks:[\n           {cn:'\\u524D\\u4E00\\u665A\\uFF1A\\u4E0D\\u7EA0\\u7ED3P1\\uFF0C\\u590D\\u4E60GDC\\u64CD\\u4F5C',en:'Night before: review GDC'},\n           {cn:'\\u786E\\u8BA4GDC\\uFF1A\\u5F27\\u5EA6\\u5236\\u3001\\u7535\\u6C60',en:'Confirm GDC: Radian, battery'},\n           {cn:'P2\\u7B56\\u7565\\uFF1A\\u5C3D\\u53EF\\u80FD\\u7528GDC',en:'P2: Use GDC whenever possible'}\n         ]},\n         {label:'5\/16-19 Paper 3\\u51C6\\u5907',time:'\\u6BCF\\u59291-1.5h',tasks:[\n           {cn:'\\u4F11\\u606F+\\u8F7B\\u5EA6\\u590D\\u4E60P3\\u4E3B\\u9898',en:'Rest + light P3 review'},\n           {cn:'5\/18\\uFF1A1\\u5957\\u8BA1\\u65F6Paper 3\\u7EC3\\u4E60',en:'Timed Paper 3 practice'},\n           {cn:'5\/19\\uFF1A\\u53EA\\u770BP3\\u7B56\\u7565\\u7B14\\u8BB0\\uFF0C\\u65E9\\u7761',en:'P3 notes only, sleep early'}\n         ]},\n         {label:'5\/20 Paper 3 (HL)',time:'1h \\u5E26\\u8BA1\\u7B97\\u5668',tasks:[\n           {cn:'\\u4E0A\\u5348\\uFF1A\\u6D4F\\u89C8P3\\u63A2\\u7A76\\u6846\\u67B6\\u7B14\\u8BB0',en:'Browse P3 notes'},\n           {cn:'P3\\u7B56\\u7565\\uFF1A\\u5148\\u8BFB\\u5168\\u90E8\\u2192\\u5148\\u505A\\u7B80\\u5355\\u9898\\u2192GDC\\u9A8C\\u8BC1',en:'Read all \\u2192 easy first \\u2192 GDC verify'},\n           {cn:'\\u8003\\u5B8C\\u5566\\uFF01\\u5E86\\u795D\\uFF01',en:'Done! Celebrate!'}\n         ]}\n       ]}\n    ]\n  },\n  {\n    id:'mrw', name:'Mr. W', course:'IB Math AI SL', exam:'May 2026', avatar:'W', color:'#2563eb',\n    examDate:'2026-05-14',\n    badge:'2026\\u5E745\\u6708\\u8003\\u8BD5 May Examination',\n    paperMax:{'Paper 1':'80','Paper 2':'80'},\n    papers:[\n      {session:'2021',p:['Paper 1','Paper 2']},\n      {session:'2022',p:['Paper 1','Paper 2']},\n      {session:'2023',p:['Paper 1','Paper 2']},\n      {session:'2024',p:['Paper 1','Paper 2']},\n      {session:'2025',p:['Paper 1','Paper 2']},\n      {session:'RV Mock \\u6A21\\u62DF\\u5377',p:['Paper 1','Paper 2']}\n    ],\n    weeks:[\n      {num:'W1',title:'Topic 4 \\u2014 \\u63CF\\u8FF0\\u7EDF\\u8BA1 + \\u6982\\u7387\\u57FA\\u7840',en:'Statistics & Probability Foundations',dates:'3\/25-3\/31',\n       goal:'\\u7B51\\u57FA\\u9636\\u6BB5\\u3002\\u63CF\\u8FF0\\u7EDF\\u8BA1\\u6838\\u5FC3\\u6982\\u5FF5+\\u6982\\u7387\\u57FA\\u7840\\u3002\\u6BCF\\u5929\\u7EA645-60\\u5206\\u949F\\u3002 Foundation stage. Core stats + probability basics. ~45-60min\/day.',\n       days:[\n         {label:'\\u5468\\u4E8C Tue',time:'45-60min',tasks:[\n           {cn:'\\u5747\\u503C\\u3001\\u4E2D\\u4F4D\\u6570\\u3001\\u4F17\\u6570\\u3001\\u56DB\\u5206\\u4F4D\\u6570\\u3001IQR \\u590D\\u4E60',en:'Mean, median, mode, quartiles, IQR review'},\n           {cn:'RV: Descriptive Statistics Quiz',en:'RV Quiz: Descriptive Statistics',tag:'rv',tagText:'RV Quiz'}\n         ]},\n         {label:'\\u5468\\u4E09 Wed',time:'45-60min',tasks:[\n           {cn:'\\u6807\\u51C6\\u5DEE\\u7684\\u6982\\u5FF5\\u7406\\u89E3 + GDC\\u64CD\\u4F5C\\u7EC3\\u4E60',en:'Standard deviation concept + GDC practice',tag:'gdc',tagText:'GDC'},\n           {cn:'\\u7BB1\\u7EBF\\u56FE (box plot) \\u7684\\u7ED8\\u5236\\u548C\\u89E3\\u8BFB',en:'Box plot: drawing and interpretation'}\n         ]},\n         {label:'\\u5468\\u56DB Thu',time:'45-60min',tasks:[\n           {cn:'\\u9891\\u7387\\u76F4\\u65B9\\u56FE\\u3001\\u7D2F\\u79EF\\u9891\\u7387\\u56FE',en:'Frequency histogram, cumulative frequency'},\n           {cn:'\\u505A RV \\u76F8\\u5173 Quiz\\uFF0C\\u8BB0\\u5F55\\u9519\\u9898',en:'RV Quiz + record errors',tag:'rv',tagText:'RV Quiz'}\n         ]},\n         {label:'\\u5468\\u4E94 Fri',time:'45-60min',tasks:[\n           {cn:'\\u6982\\u7387\\u57FA\\u7840\\uFF1A\\u6837\\u672C\\u7A7A\\u95F4\\u3001\\u4E92\\u65A5\\u4E8B\\u4EF6\\u3001\\u6761\\u4EF6\\u6982\\u7387',en:'Probability basics: sample space, mutually exclusive, conditional'}\n         ]},\n         {label:'\\u5468\\u516D Sat',time:'45-60min',tasks:[\n           {cn:'\\u6811\\u5F62\\u56FE + Venn\\u56FE\\u5728\\u6982\\u7387\\u9898\\u4E2D\\u7684\\u5E94\\u7528',en:'Tree diagrams + Venn diagrams in probability'},\n           {cn:'RV Probability Quiz \\u7EC3\\u4E60',en:'RV Probability Quiz',tag:'rv',tagText:'RV Quiz'}\n         ]},\n         {label:'\\u5468\\u65E5 Sun',time:'REST',tasks:[\n           {cn:'\\u4F11\\u606F\\u6216\\u81EA\\u7531\\u590D\\u4E60\\uFF08\\u56DE\\u987E\\u672C\\u5468\\u9519\\u9898\\uFF09',en:'Rest or review errors'}\n         ]}\n       ]},\n      {num:'W2',title:'Topic 4 \\u2014 \\u5206\\u5E03 + \\u5047\\u8BBE\\u68C0\\u9A8C & Topic 1 \\u57FA\\u7840',en:'Distributions + Hypothesis Testing & Topic 1',dates:'4\/1-4\/7',\n       goal:'\\u7B51\\u57FA\\u9636\\u6BB5\\u3002\\u5B8C\\u6210T4\\u91CD\\u70B9\\u5185\\u5BB9\\uFF0C\\u5F00\\u59CBT1\\u57FA\\u7840\\u3002\\u6BCF\\u5929\\u7EA645-60\\u5206\\u949F\\u3002 Complete T4 core + start T1 basics. ~45-60min\/day.',\n       days:[\n         {label:'\\u5468\\u4E00 Mon',time:'45-60min',tasks:[\n           {cn:'\\u4E8C\\u9879\\u5206\\u5E03 + \\u6B63\\u6001\\u5206\\u5E03\\u6982\\u5FF5\\u590D\\u4E60',en:'Binomial + Normal distribution review'},\n           {cn:'GDC: normalcdf, invNorm \\u64CD\\u4F5C',en:'GDC: normalcdf, invNorm operations',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\\u5468\\u4E8C Tue',time:'45-60min',tasks:[\n           {cn:'\\u5047\\u8BBE\\u68C0\\u9A8C\\u5165\\u95E8\\uFF1A\\u96F6\\u5047\\u8BBE\\u3001\\u5907\\u62E9\\u5047\\u8BBE\\u3001p-value',en:'Hypothesis testing: H\\u2080, H\\u2081, p-value'}\n         ]},\n         {label:'\\u5468\\u4E09 Wed',time:'45-60min',tasks:[\n           {cn:'\\u5361\\u65B9\\u68C0\\u9A8C (\\u03C7\\u00B2)\\uFF1A\\u72EC\\u7ACB\\u6027\\u68C0\\u9A8C + \\u62DF\\u5408\\u4F18\\u5EA6\\u68C0\\u9A8C',en:'Chi-square test: independence + goodness of fit'},\n           {cn:'RV Chi-square Quiz',en:'RV Quiz: Chi-square',tag:'rv',tagText:'RV Quiz'}\n         ]},\n         {label:'\\u5468\\u56DB Thu',time:'45-60min',tasks:[\n           {cn:'\\u6570\\u5217\\uFF1A\\u7B49\\u5DEE + \\u7B49\\u6BD4\\uFF08\\u516C\\u5F0F\\u3001\\u6C42\\u548C\\uFF09',en:'Sequences: arithmetic + geometric (formulas, sums)'}\n         ]},\n         {label:'\\u5468\\u4E94 Fri',time:'45-60min',tasks:[\n           {cn:'\\u91D1\\u878D\\u6570\\u5B66\\uFF1A\\u590D\\u5229\\u3001\\u644A\\u8FD8\\u8D37\\u6B3E\\uFF08GDC TVM Solver\\uFF09',en:'Financial math: compound interest, amortization (GDC TVM)',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\\u5468\\u516D Sat',time:'45-60min',tasks:[\n           {cn:'\\u8FD1\\u4F3C\\u503C\\u3001\\u6709\\u6548\\u6570\\u5B57\\u3001\\u767E\\u5206\\u6BD4\\u8BEF\\u5DEE',en:'Approximation, significant figures, percentage error'},\n           {cn:'RV Topic 1 \\u7EFC\\u5408 Quiz',en:'RV Topic 1 comprehensive Quiz',tag:'rv',tagText:'RV Quiz'}\n         ]},\n         {label:'\\u5468\\u65E5 Sun',time:'REST',tasks:[\n           {cn:'\\u4F11\\u606F\\u65E5 \/ \\u56DE\\u987E Week 1-2 \\u9519\\u9898',en:'Rest \/ review W1-2 errors'}\n         ]}\n       ]},\n      {num:'W3',title:'Topic 2 \\u2014 \\u51FD\\u6570\\u4E0E\\u5EFA\\u6A21',en:'Functions & Modelling',dates:'4\/8-4\/14',\n       goal:'\\u6DF1\\u5316\\u9636\\u6BB5\\u3002\\u638C\\u63E1\\u5404\\u7C7B\\u51FD\\u6570\\u6A21\\u578B\\u548C\\u56DE\\u5F52\\u5206\\u6790\\u3002\\u6BCF\\u5929\\u7EA645-60\\u5206\\u949F\\u3002 Deepen stage. Master function models + regression. ~45-60min\/day.',\n       days:[\n         {label:'\\u5468\\u4E00 Mon',time:'45-60min',tasks:[\n           {cn:'\\u7EBF\\u6027\\u6A21\\u578B + \\u5206\\u6BB5\\u51FD\\u6570',en:'Linear models + piecewise functions'}\n         ]},\n         {label:'\\u5468\\u4E8C Tue',time:'45-60min',tasks:[\n           {cn:'\\u4E8C\\u6B21\\u6A21\\u578B\\uFF1A\\u9876\\u70B9\\u3001\\u5BF9\\u79F0\\u8F74\\u3001\\u5EFA\\u6A21\\u5E94\\u7528',en:'Quadratic models: vertex, axis of symmetry, modelling'}\n         ]},\n         {label:'\\u5468\\u4E09 Wed',time:'45-60min',tasks:[\n           {cn:'\\u6307\\u6570\\u6A21\\u578B + \\u5BF9\\u6570\\u6A21\\u578B\\uFF08\\u589E\\u957F\/\\u8870\\u51CF\\u573A\\u666F\\uFF09',en:'Exponential + logarithmic models (growth\/decay)'}\n         ]},\n         {label:'\\u5468\\u56DB Thu',time:'45-60min',tasks:[\n           {cn:'\\u56DE\\u5F52\\u5206\\u6790\\uFF1AGDC\\u64CD\\u4F5C + r\\u503C\\u89E3\\u8BFB',en:'Regression analysis: GDC operation + r-value interpretation',tag:'gdc',tagText:'GDC'},\n           {cn:'RV Regression Quiz',en:'RV Quiz: Regression',tag:'rv',tagText:'RV Quiz'}\n         ]},\n         {label:'\\u5468\\u4E94 Fri',time:'45-60min',tasks:[\n           {cn:'\\u6A21\\u578B\\u9009\\u62E9\\u9898\\u4E13\\u7EC3\\uFF1A\\u5982\\u4F55\\u5224\\u65AD\\u7528\\u54EA\\u4E2Amodel',en:'Model selection practice: which model to use'}\n         ]},\n         {label:'\\u5468\\u516D Sat',time:'45-60min',tasks:[\n           {cn:'RV Topic 2 \\u7EFC\\u5408 Quiz + \\u9519\\u9898\\u6574\\u7406',en:'RV Topic 2 Quiz + error review',tag:'rv',tagText:'RV Quiz'}\n         ]},\n         {label:'\\u5468\\u65E5 Sun',time:'REST',tasks:[\n           {cn:'\\u4F11\\u606F \/ \\u81EA\\u7531\\u5B66\\u4E60',en:'Rest \/ free study'}\n         ]}\n       ]},\n      {num:'W4',title:'Topic 3 + Topic 5 \\u901F\\u901A & \\u7B2C\\u4E00\\u5957Past Paper',en:'T3 + T5 Speed Run & First Past Paper',dates:'4\/15-4\/21',\n       goal:'\\u6DF1\\u5316\\u9636\\u6BB5\\u3002\\u5FEB\\u901F\\u638C\\u63E1T3\\u548CT5\\u91CD\\u70B9\\uFF0C\\u5F00\\u59CB\\u771F\\u9898\\u8BAD\\u7EC3\\u3002\\u6BCF\\u5929\\u7EA645-60\\u5206\\u949F\\u3002 Quick T3+T5 + first past paper. ~45-60min\/day.',\n       days:[\n         {label:'\\u5468\\u4E00 Mon',time:'45-60min',tasks:[\n           {cn:'\\u6B63\\u5F26\/\\u4F59\\u5F26\\u5B9A\\u7406 + \\u9762\\u79EF\\u516C\\u5F0F',en:'Sine\/Cosine rule + area formula'}\n         ]},\n         {label:'\\u5468\\u4E8C Tue',time:'45-60min',tasks:[\n           {cn:'Voronoi\\u56FE\\uFF1A\\u6700\\u8FD1\\u90BB\\u3001\\u5782\\u76F4\\u5E73\\u5206\\u7EBF',en:'Voronoi diagrams: nearest neighbour, perpendicular bisectors'}\n         ]},\n         {label:'\\u5468\\u4E09 Wed',time:'45-60min',tasks:[\n           {cn:'\\u57FA\\u672C\\u6C42\\u5BFC\\u89C4\\u5219 + \\u5207\\u7EBF\\u65B9\\u7A0B',en:'Basic differentiation rules + tangent line equation'}\n         ]},\n         {label:'\\u5468\\u56DB Thu',time:'45-60min',tasks:[\n           {cn:'\\u7B80\\u5355\\u6700\\u4F18\\u5316\\u95EE\\u9898 + \\u68AF\\u5F62\\u6CD5\\u5219',en:'Simple optimization + trapezoidal rule'}\n         ]},\n         {label:'\\u5468\\u4E94 Fri',time:'90min \\u771F\\u9898',tasks:[\n           {cn:'Past Paper 2021 \\u00B7 Paper 1\\uFF08\\u8BA1\\u65F6\\u5B8C\\u6210\\uFF09',en:'Past Paper 2021 Paper 1 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u516D Sat',time:'90min+',tasks:[\n           {cn:'\\u6279\\u6539 2021 P1 + \\u5206\\u6790\\u9519\\u9898\\u5F52\\u7C7B',en:'Mark 2021 P1 + classify errors'},\n           {cn:'Past Paper 2021 \\u00B7 Paper 2\\uFF08\\u8BA1\\u65F6\\u5B8C\\u6210\\uFF09',en:'Past Paper 2021 Paper 2 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u65E5 Sun',time:'60min',tasks:[\n           {cn:'\\u6279\\u6539 2021 P2 + \\u9519\\u9898\\u7B14\\u8BB0\\u6574\\u7406',en:'Mark 2021 P2 + error notes',tag:'pp',tagText:'Past Paper'}\n         ]}\n       ]},\n      {num:'W5',title:'Past Paper \\u7CBE\\u5237 (2022 & 2023)',en:'Past Paper Deep Practice',dates:'4\/22-4\/28',\n       goal:'\\u5B9E\\u6218\\u9636\\u6BB5\\u3002\\u5237\\u5B8C2022\\u548C2023\\u4E24\\u5957\\u771F\\u9898\\uFF0C\\u9488\\u5BF9\\u6027\\u7EC3\\u4E60\\u3002\\u6BCF\\u5929\\u7EA660-90\\u5206\\u949F\\u3002 Practice stage. 2022+2023 past papers. ~60-90min\/day.',\n       days:[\n         {label:'\\u5468\\u4E00 Mon',time:'60min',tasks:[\n           {cn:'\\u6839\\u636E2021\\u9519\\u9898\\u5F52\\u7C7B\\uFF0C\\u505A\\u5BF9\\u5E94Topic\\u7684RV\\u4E13\\u9879\\u7EC3\\u4E60',en:'Based on 2021 errors, do targeted RV practice',tag:'rv',tagText:'RV'}\n         ]},\n         {label:'\\u5468\\u4E8C Tue',time:'90min',tasks:[\n           {cn:'Past Paper 2022 \\u00B7 Paper 1\\uFF08\\u8BA1\\u65F6\\uFF09',en:'Past Paper 2022 Paper 1 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u4E09 Wed',time:'90min+',tasks:[\n           {cn:'\\u6279\\u6539 2022 P1 + Past Paper 2022 \\u00B7 Paper 2\\uFF08\\u8BA1\\u65F6\\uFF09',en:'Mark 2022 P1 + do 2022 P2 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u56DB Thu',time:'60min',tasks:[\n           {cn:'\\u6279\\u6539 2022 P2 + \\u8584\\u5F31\\u70B9\\u9488\\u5BF9\\u7EC3\\u4E60',en:'Mark 2022 P2 + targeted practice'}\n         ]},\n         {label:'\\u5468\\u4E94 Fri',time:'90min',tasks:[\n           {cn:'Past Paper 2023 \\u00B7 Paper 1\\uFF08\\u8BA1\\u65F6\\uFF09',en:'Past Paper 2023 Paper 1 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u516D Sat',time:'90min+',tasks:[\n           {cn:'\\u6279\\u6539 2023 P1 + Past Paper 2023 \\u00B7 Paper 2\\uFF08\\u8BA1\\u65F6\\uFF09',en:'Mark 2023 P1 + do 2023 P2 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u65E5 Sun',time:'60min',tasks:[\n           {cn:'\\u6279\\u6539 2023 P2 + \\u56DE\\u987E\\u6240\\u6709\\u9519\\u9898',en:'Mark 2023 P2 + review all errors'}\n         ]}\n       ]},\n      {num:'W6',title:'Past Paper \\u7CBE\\u5237 (2024 & 2025) + \\u67E5\\u6F0F\\u8865\\u7F3A',en:'Past Papers 2024-2025 + Gap Filling',dates:'4\/29-5\/5',\n       goal:'\\u5B9E\\u6218\\u9636\\u6BB5\\u3002\\u5237\\u5B8C2024\\u548C2025\\u771F\\u9898\\uFF0C\\u67E5\\u6F0F\\u8865\\u7F3A\\u3002\\u6BCF\\u5929\\u7EA660-90\\u5206\\u949F\\u3002 Practice 2024+2025 + fill gaps. ~60-90min\/day.',\n       days:[\n         {label:'\\u5468\\u4E00 Mon',time:'90min',tasks:[\n           {cn:'Past Paper 2024 \\u00B7 Paper 1\\uFF08\\u8BA1\\u65F6\\uFF09',en:'Past Paper 2024 Paper 1 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u4E8C Tue',time:'90min+',tasks:[\n           {cn:'\\u6279\\u6539 + Past Paper 2024 \\u00B7 Paper 2\\uFF08\\u8BA1\\u65F6\\uFF09',en:'Mark + Past Paper 2024 Paper 2 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u4E09 Wed',time:'60min',tasks:[\n           {cn:'\\u6279\\u6539 + \\u6574\\u7406\\u201C\\u53CD\\u590D\\u4E22\\u5206\\u201D\\u7684Topic\\u5217\\u8868',en:'Mark + list repeatedly lost-mark topics'}\n         ]},\n         {label:'\\u5468\\u56DB Thu',time:'60min',tasks:[\n           {cn:'\\u9488\\u5BF9\\u53CD\\u590D\\u4E22\\u5206\\u7684Topic\\u505ARV\\u4E13\\u9879',en:'RV practice for repeatedly weak topics',tag:'rv',tagText:'RV'}\n         ]},\n         {label:'\\u5468\\u4E94 Fri',time:'90min',tasks:[\n           {cn:'Past Paper 2025 \\u00B7 Paper 1\\uFF08\\u8BA1\\u65F6\\uFF09',en:'Past Paper 2025 Paper 1 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u516D Sat',time:'90min+',tasks:[\n           {cn:'\\u6279\\u6539 + Past Paper 2025 \\u00B7 Paper 2\\uFF08\\u8BA1\\u65F6\\uFF09',en:'Mark + Past Paper 2025 Paper 2 (timed)',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\\u5468\\u65E5 Sun',time:'60min',tasks:[\n           {cn:'\\u6279\\u6539 + \\u603B\\u7ED3\\u6240\\u6709Past Paper\\u6210\\u7EE9\\u8D8B\\u52BF',en:'Mark + summarize score trends'}\n         ]}\n       ]},\n      {num:'W7',title:'\\u8003\\u524D\\u51B2\\u523A \\u2014 \\u9519\\u9898\\u56DE\\u987E + \\u6A21\\u62DF\\u8003\\u8BD5',en:'Final Sprint - Error Review + Mock Exam',dates:'5\/6-5\/13',isExam:false,\n       goal:'\\u51B2\\u523A\\u9636\\u6BB5\\u3002\\u9519\\u9898\\u56DE\\u987E+\\u5B8C\\u6574\\u6A21\\u62DF+\\u6700\\u540E\\u67E5\\u6F0F\\u3002\\u4FDD\\u8BC1\\u4F11\\u606F\\u3002 Sprint stage. Error review + full mock. Protect rest.',\n       days:[\n         {label:'\\u5468\\u4E00 Mon',time:'60min',tasks:[\n           {cn:'\\u8FC7\\u4E00\\u904D\\u6240\\u6709Past Paper\\u9519\\u9898\\u672C\\uFF0C\\u91CD\\u505A\\u9519\\u8BEF\\u7387\\u6700\\u9AD8\\u7684\\u9898\\u578B',en:'Review all past paper errors, redo worst types',tag:'rv',tagText:'RV'}\n         ]},\n         {label:'\\u5468\\u4E8C Tue',time:'45min',tasks:[\n           {cn:'\\u7EDF\\u8BA1\\u7ED3\\u8BBA\\u5199\\u6CD5\\u4E13\\u7EC3\\uFF1A\\u7EC3\\u4E60 \"in context\" \\u7684\\u8868\\u8FBE',en:'Stats conclusion writing: practice \"in context\" expressions'}\n         ]},\n         {label:'\\u5468\\u4E09 Wed',time:'90min',tasks:[\n           {cn:'RV Mock Exam Paper 1\\uFF08\\u5B8C\\u6574\\u8BA1\\u65F6\\u6A21\\u62DF\\uFF09',en:'RV Mock Exam Paper 1 (full timed)',tag:'rv',tagText:'RV Mock'}\n         ]},\n         {label:'\\u5468\\u56DB Thu',time:'90min',tasks:[\n           {cn:'RV Mock Exam Paper 2\\uFF08\\u5B8C\\u6574\\u8BA1\\u65F6\\u6A21\\u62DF\\uFF09',en:'RV Mock Exam Paper 2 (full timed)',tag:'rv',tagText:'RV Mock'}\n         ]},\n         {label:'\\u5468\\u4E94 Fri',time:'60min',tasks:[\n           {cn:'\\u6279\\u6539\\u4E24\\u5957\\u6A21\\u62DF\\uFF0C\\u6700\\u7EC8\\u67E5\\u6F0F',en:'Mark both mocks, final gap check'}\n         ]},\n         {label:'\\u5468\\u516D Sat',time:'30min',tasks:[\n           {cn:'\\u8F7B\\u677E\\u56DE\\u987E\\u516C\\u5F0F\\u8868 + GDC\\u5173\\u952E\\u64CD\\u4F5C',en:'Light review: formula sheet + GDC key operations',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\\u5468\\u65E5 Sun',time:'REST',tasks:[\n           {cn:'\\u653E\\u677E\\u4F11\\u606F\\uFF0C\\u51C6\\u5907\\u8FCE\\u63A5\\u8003\\u8BD5\\uFF01',en:'Relax, get ready for the exam!'}\n         ]}\n       ]}\n    ]\n  },\n  {\n    id:'buzhang', name:'\\u90E8\\u957F', course:'IB Math AI HL', exam:'May 2026', avatar:'\\u90E8', color:'#059669',\n    examDate:'2026-05-14',\n    badge:'2026\\u5E745\\u6708\\u8003\\u8BD5 May Examination',\n    paperMax:{'Paper 1':'110','Paper 2':'110','Paper 3':'55'},\n    papers:[\n      {session:'May 2025',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2024',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'May 2024',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2023',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'May 2023',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Specimen \\u6837\\u5377',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'RV Mock \\u6A21\\u62DF\\u5377',p:['Paper 1','Paper 2','Paper 3']}\n    ],\n    weeks:[\n      {num:'D1',title:'\\u5FAE\\u79EF\\u5206\\u57FA\\u7840',en:'Calculus Foundation',dates:'5\/5',\n       goal:'\\u91CD\\u70B9\\u653B\\u514B\\u5FAE\\u5206\\u548C\\u79EF\\u5206\\u6838\\u5FC3\\u6280\\u80FD\\u3002\\u4E0A\\u5348\\u7406\\u8BBA3h + \\u4E0B\\u5348\\u7EC3\\u4E603h\\u3002 Rebuild core calculus skills. AM theory 3h + PM practice 3h.',\n       days:[\n         {label:'\\u4E0A\\u5348 Morning',time:'3h \\u7406\\u8BBA',tasks:[\n           {cn:'\\u590D\\u4E60\\u5FAE\\u5206\\uFF1A\\u5E42\\u6CD5\\u5219\\u3001\\u94FE\\u5F0F\\u6CD5\\u5219\\u3001\\u4E58\\u79EF\/\\u5546\\u6CD5\\u5219',en:'Review: power rule, chain rule, product\/quotient rule'},\n           {cn:'\\u7EC3\\u4E60\\u79EF\\u5206\\uFF1A\\u591A\\u9879\\u5F0F, 1\/x, e\\u02E3, \\u4E09\\u89D2\\u51FD\\u6570',en:'Integration: polynomial, 1\/x, e\\u02E3, trig functions'},\n           {cn:'\\u5173\\u952E\\u6280\\u80FD\\uFF1A\\u7528\\u521D\\u59CB\\u6761\\u4EF6\\u6C42\\u5E38\\u6570c',en:'Key skill: finding c with initial conditions'},\n           {cn:'\\u4F18\\u5316\\u9898\\uFF1Af\\'(x)=0\\uFF0C\\u68C0\\u67E5\\u4E8C\\u9636\\u5BFC\\u6570',en:'Optimization: f\\'(x)=0, check 2nd derivative'}\n         ]},\n         {label:'\\u4E0B\\u5348 Afternoon',time:'3h \\u7EC3\\u4E60',tasks:[\n           {cn:'\\u91CD\\u505A P1 Q7\\uFF08\\u5BFC\\u6570\\u3001\\u4F18\\u5316\\uFF09',en:'Redo P1 Q7 (derivative, optimization)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P1 Q10\\uFF08\\u94FE\\u5F0F\\u6CD5\\u5219\\u3001\\u62D0\\u70B9\\uFF09',en:'Redo P1 Q10 (chain rule, inflection)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P2 Q2\\uFF08\\u79EF\\u5206+\\u521D\\u59CB\\u6761\\u4EF6\\uFF09',en:'Redo P2 Q2 (integration + initial conditions)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u505A3\\u9053\\u65B0\\u7684\\u5FAE\\u79EF\\u5206\\u771F\\u9898',en:'3 fresh calculus past paper questions'},\n           {cn:'\\u91CD\\u70B9\\uFF1A\\u62FF\\u5230\\u6240\\u6709\\u65B9\\u6CD5\\u5206\\uFF08M\\u5206\\uFF09',en:'Focus on getting ALL method marks (M marks)'}\n         ]}\n       ]},\n      {num:'D2',title:'\\u6982\\u7387 & \\u5047\\u8BBE\\u68C0\\u9A8C',en:'Probability & Hypothesis Testing',dates:'5\/6',\n       goal:'0\/24\\u5047\\u8BBE\\u68C0\\u9A8C + 2\/11\\u5206\\u5E03\\u2192\\u6700\\u5927\\u63D0\\u5206\\u70B9\\uFF01\\u4E0A\\u5348\\u7406\\u8BBA3h + \\u4E0B\\u5348\\u7EC3\\u4E603h\\u3002 Hypothesis testing 0\/24 + distributions 2\/11 = biggest mark gains! AM 3h + PM 3h.',\n       days:[\n         {label:'\\u4E0A\\u5348 Morning',time:'3h \\u7406\\u8BBA',tasks:[\n           {cn:'\\u6B63\\u6001\\u5206\\u5E03\\uFF1AinvNorm, P(X<a)',en:'Normal distribution: invNorm, P(X<a)'},\n           {cn:'\\u6CCA\\u677E\\u5206\\u5E03\\uFF1A\\u5747\\u503C, P(X>k)',en:'Poisson distribution: mean, P(X>k)'},\n           {cn:'\\u4E8C\\u9879\\u5206\\u5E03\\uFF1An, p, P(X\\u2265k)',en:'Binomial distribution: n, p, P(X\\u2265k)'},\n           {cn:'\\u5047\\u8BBE\\u68C0\\u9A8C\\u6846\\u67B6\\uFF1AH\\u2080\/H\\u2081, p\\u503C, \\u663E\\u8457\\u6027\\u6C34\\u5E73',en:'Hypothesis testing: H\\u2080\/H\\u2081, p-value, significance level'},\n           {cn:'\\u638C\\u63E1\\u4E8C\\u9879\\u68C0\\u9A8C + \\u5361\\u65B9\\u72EC\\u7ACB\\u6027\\u68C0\\u9A8C',en:'Master binomial test + chi-sq independence test'}\n         ]},\n         {label:'\\u4E0B\\u5348 Afternoon',time:'3h \\u7EC3\\u4E60',tasks:[\n           {cn:'\\u4ECE\\u96F6\\u91CD\\u505A P2 Q5\\uFF08\\u5047\\u8BBE\\u68C0\\u9A8C\\u5927\\u9898\\uFF0C0\/17\\uFF09',en:'Redo P2 Q5 from scratch (0\/17!)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P1 Q1\\uFF08t\\u68C0\\u9A8C\\u5047\\u8BBE\\uFF09',en:'Redo P1 Q1 (t-test hypotheses)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P1 Q3\\uFF08\\u6B63\\u6001\\u5206\\u5E03\\uFF09\\u3001P1 Q9\\uFF08\\u6CCA\\u677E\\uFF09',en:'Redo P1 Q3 (Normal), P1 Q9 (Poisson)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u5173\\u952E\\uFF1A\\u5199\\u51FAH\\u2080\\u548CH\\u2081\\uFF0C\\u6BD4\\u8F83p\\u503C\\uFF0C\\u7ED3\\u8BBA\\u8981\\u6709\\u4E0A\\u4E0B\\u6587',en:'Key: write H\\u2080\/H\\u2081, compare p-value, conclusion IN CONTEXT'}\n         ]}\n       ]},\n      {num:'D3',title:'\\u5411\\u91CF & \\u8FD0\\u52A8\\u5B66',en:'Vectors & Kinematics',dates:'5\/7',\n       goal:'0\/22\\u5411\\u91CF + 0\/16\\u4E09\\u89D2 = 38\\u5206\\u5F85\\u6536\\u590D\\uFF01\\u4E0A\\u5348\\u7406\\u8BBA2.5h + \\u4E0B\\u5348\\u7EC3\\u4E602.5h\\u3002 Vectors 0\/22 + Trig 0\/16 = 38 marks to recover! AM 2.5h + PM 2.5h.',\n       days:[\n         {label:'\\u4E0A\\u5348 Morning',time:'2.5h \\u7406\\u8BBA',tasks:[\n           {cn:'3D\\u5411\\u91CF\\u76F4\\u7EBF r = a + tb\\uFF0C\\u65B9\\u5411\\u5411\\u91CF\\uFF0C\\u5355\\u4F4D\\u5411\\u91CF',en:'3D vector lines r = a + tb, direction & unit vectors'},\n           {cn:'\\u901F\\u5EA6\\uFF1A\\u7F29\\u653E\\u65B9\\u5411\\u5411\\u91CF\\u4F7F|v|=\\u7ED9\\u5B9A\\u901F\\u5EA6',en:'Speed: scale direction vector so |v| = given speed'},\n           {cn:'\\u70B9\\u5230\\u76F4\\u7EBF\\u8DDD\\u79BB\\uFF0C\\u4E24\\u7EBF\\u6700\\u8FD1\\u8DDD\\u79BB',en:'Distance point-line, closest approach between lines'},\n           {cn:'\\u629B\\u4F53\\u8FD0\\u52A8\\uFF1A\\u52A0\\u901F\\u5EA6\\u2192\\u901F\\u5EA6\\u2192\\u4F4D\\u7F6E',en:'Projectile: integrate acceleration \\u2192 velocity \\u2192 position'}\n         ]},\n         {label:'\\u4E0B\\u5348 Afternoon',time:'2.5h \\u7EC3\\u4E60',tasks:[\n           {cn:'\\u91CD\\u505A P1 Q13\\uFF08\\u5411\\u91CF\\u76F4\\u7EBF+\\u6700\\u8FD1\\u8DDD\\u79BB\\uFF0C\\u4E22\\u5168\\u90E88\\u5206\\uFF09',en:'Redo P1 Q13 (vector line + closest approach, lost all 8!)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P2 Q6\\uFF08\\u629B\\u4F53\\u8FD0\\u52A8\\uFF09',en:'Redo P2 Q6 (projectile)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u505A3\\u9053\\u989D\\u5916\\u5411\\u91CF\\u771F\\u9898',en:'3 additional vector past paper questions'},\n           {cn:'\\u7EC3\\u4E60\\uFF1A\\u53C2\\u6570\\u65B9\\u7A0B\\u3001\\u89E3t\\u3001\\u6C42\\u6700\\u5C0F\\u8DDD\\u79BB',en:'Practice: parametric equations, solve for t, min distance'}\n         ]}\n       ]},\n      {num:'D4',title:'\\u51FD\\u6570\\u3001\\u5EFA\\u6A21 & \\u56FE\\u50CF\\u53D8\\u6362',en:'Functions, Modelling & Graph Transforms',dates:'5\/8',\n       goal:'7\/33\\u51FD\\u6570\\u5EFA\\u6A21 = 26\\u5206\\u5F85\\u63D0\\u5347\\u3002\\u4E0A\\u5348\\u7406\\u8BBA3h + \\u4E0B\\u5348\\u7EC3\\u4E603h\\u3002 Functions 7\/33 = 26 marks to gain. AM 3h + PM 3h.',\n       days:[\n         {label:'\\u4E0A\\u5348 Morning',time:'3h \\u7406\\u8BBA',tasks:[\n           {cn:'\\u6307\\u6570\\u589E\\u957F\/\\u8870\\u51CF\\u3001\\u5BF9\\u6570\\u6A21\\u578B\\u3001\\u903B\\u8F91\\u6A21\\u578B',en:'Exponential growth\/decay, log models, logistic models'},\n           {cn:'\\u56FE\\u5F62\\u53D8\\u6362\\uFF1Ay = af(b(x-c)) + d \\u6BCF\\u4E2A\\u53C2\\u6570\\u7684\\u4F5C\\u7528',en:'Graph transforms: y = af(b(x-c)) + d - each parameter'},\n           {cn:'\\u9A6C\\u5C14\\u53EF\\u592B\\u94FE\\uFF1A\\u8F6C\\u79FB\\u77E9\\u9635\\u3001\\u7A33\\u6001',en:'Markov chains: transition matrices, steady state'},\n           {cn:'\\u53D8\\u5316\\u7387\\u6A21\\u578B',en:'Rates of change models'}\n         ]},\n         {label:'\\u4E0B\\u5348 Afternoon',time:'3h \\u7EC3\\u4E60',tasks:[\n           {cn:'\\u91CD\\u505A P1 Q6\\uFF08\\u53D8\\u5316\\u7387\\uFF09\\u3001Q8\\uFF08\\u56FE\\u5F62\\u53D8\\u6362\\uFF0C0\/4\\uFF09',en:'Redo P1 Q6 (rates), Q8 (graph transforms, 0\/4)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P1 Q16\\uFF08\\u9A6C\\u5C14\\u53EF\\u592B\\u94FE\\uFF0C3\/8\\uFF09',en:'Redo P1 Q16 (Markov chain, 3\/8)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P2 Q4\\uFF08\\u6307\\u6570+\\u5BF9\\u6570\\u6A21\\u578B\\uFF09',en:'Redo P2 Q4 (exponential + log model)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u70B9\\uFF1A\\u4ECE\\u60C5\\u5883\\u5EFA\\u65B9\\u7A0B\\uFF0C\\u7528GDC\\u6C42\\u89E3',en:'Focus: set up equations from context, use GDC to solve',tag:'gdc',tagText:'GDC'},\n           {cn:'\\u505A2\\u9053\\u65B0\\u5EFA\\u6A21\\u9898',en:'2 fresh modelling questions'}\n         ]}\n       ]},\n      {num:'D5',title:'\\u9AD8\\u9636\\u5FAE\\u79EF\\u5206 & \\u5FAE\\u5206\\u65B9\\u7A0B',en:'Advanced Calculus & Differential Equations',dates:'5\/9',\n       goal:'5\/26\\u9AD8\\u9636\\u5FAE\\u79EF\\u5206 + 1\/10\\u5FAE\\u5206\\u65B9\\u7A0B = 30\\u5206\\u5F85\\u6536\\u590D\\u3002\\u4E0A\\u5348\\u7406\\u8BBA3h + \\u4E0B\\u5348\\u7EC3\\u4E603h\\u3002 Adv Calc 5\/26 + DE 1\/10 = 30 marks. AM 3h + PM 3h.',\n       days:[\n         {label:'\\u4E0A\\u5348 Morning',time:'3h \\u7406\\u8BBA',tasks:[\n           {cn:'\\u659C\\u7387\\u573A\\uFF1A\\u8BFB\\u53D6\\u548C\\u7ED8\\u5236\\u89E3\\u66F2\\u7EBF',en:'Slope fields: reading and drawing solution curves'},\n           {cn:'\\u6B27\\u62C9\\u65B9\\u6CD5\\uFF1A\\u5206\\u6B65\\u8868\\u683C',en:'Euler\\'s method: step-by-step table'},\n           {cn:'\\u5206\\u79BB\\u53D8\\u91CF\\u6CD5',en:'Separation of variables'},\n           {cn:'\\u76F8\\u56FE\\uFF1A\\u7279\\u5F81\\u503C\\u51B3\\u5B9A\\u7C7B\\u578B\\uFF08\\u5B9E\/\\u590D\\u3001\\u7A33\\u5B9A\/\\u4E0D\\u7A33\\u5B9A\\uFF09',en:'Phase portraits: eigenvalues \\u2192 type (real\/complex, stable\/unstable)'},\n           {cn:'\\u65CB\\u8F6C\\u4F53\\u4F53\\u79EF\\uFF1AV = \\u03C0\\u222B[f(x)]\\u00B2 dx',en:'Volume of revolution: V = \\u03C0\\u222B[f(x)]\\u00B2 dx'}\n         ]},\n         {label:'\\u4E0B\\u5348 Afternoon',time:'3h \\u7EC3\\u4E60',tasks:[\n           {cn:'\\u91CD\\u505A P1 Q11\\uFF08\\u659C\\u7387\\u573A\\uFF0C\\u4E22\\u5168\\u5206\\uFF09',en:'Redo P1 Q11 (slope field, lost all marks)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P1 Q14\\uFF08\\u76F8\\u56FE\\uFF0C\\u4E22\\u5168\\u5206\\uFF09',en:'Redo P1 Q14 (phase portrait, lost all)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P1 Q15\\uFF08\\u65CB\\u8F6C\\u4F53\\u4F53\\u79EF\\uFF0C\\u4E22\\u5168\\u5206\\uFF09',en:'Redo P1 Q15 (volume of revolution, lost all)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u6BCF\\u7C7B\\u505A2\\u9053\\u65B0\\u9898\\uFF1A\\u659C\\u7387\\u573A\\u3001\\u6B27\\u62C9\\u6CD5\\u3001\\u65CB\\u8F6C\\u4F53',en:'2 fresh each: slope fields, Euler, volume of revolution'}\n         ]}\n       ]},\n      {num:'D6',title:'\\u77E9\\u9635\\u3001\\u7279\\u5F81\\u503C & \\u590D\\u6570',en:'Matrices, Eigenvalues & Complex Numbers',dates:'5\/10',\n       goal:'0\/18\\u77E9\\u9635\\u7279\\u5F81\\u503C + \\u590D\\u6570\/\\u4E09\\u89D2\\u8865\\u5F3A\\u3002\\u4E0A\\u5348\\u77E9\\u9635 2.5h + \\u4E0B\\u5348\\u590D\\u6570+\\u4E09\\u89D2 2.5h\\u3002 Matrices 0\/18 = huge gain. AM 2.5h + PM 2.5h.',\n       days:[\n         {label:'\\u4E0A\\u5348 Morning',time:'2.5h \\u77E9\\u9635',tasks:[\n           {cn:'\\u77E9\\u9635\\u4E58\\u6CD5\\u3001\\u884C\\u5217\\u5F0F\\u3001\\u9006\\u77E9\\u9635\\uFF082\\u00D72\\uFF09',en:'Matrix multiplication, determinant, inverse (2\\u00D72)'},\n           {cn:'\\u7279\\u5F81\\u503C\\uFF1A\\u89E3 det(A-\\u03BBI) = 0',en:'Eigenvalues: solve det(A-\\u03BBI) = 0'},\n           {cn:'\\u7279\\u5F81\\u5411\\u91CF\\uFF1A\\u89E3 (A-\\u03BBI)v = 0',en:'Eigenvectors: solve (A-\\u03BBI)v = 0'},\n           {cn:'\\u5BF9\\u89D2\\u5316\\uFF1AA=PDP\\u207B\\u00B9, A\\u207F=PD\\u207FP\\u207B\\u00B9',en:'Diagonalization: A=PDP\\u207B\\u00B9, A\\u207F=PD\\u207FP\\u207B\\u00B9'}\n         ]},\n         {label:'\\u4E0B\\u5348 Afternoon',time:'2.5h \\u590D\\u6570+\\u4E09\\u89D2',tasks:[\n           {cn:'\\u590D\\u6570\\uFF1A\\u8FD0\\u7B97\\u3001\\u5B9E\\u90E8\/\\u865A\\u90E8\\u3001\\u5171\\u8F6D',en:'Complex numbers: arithmetic, Re\/Im, conjugate'},\n           {cn:'\\u4E09\\u89D2\\uFF1A\\u4F59\\u5F26\\u5B9A\\u7406\\u3001\\u6B63\\u5F26\\u5B9A\\u7406\\u3001\\u6247\\u5F62\\u9762\\u79EF',en:'Trig: cosine rule, sine rule, sector area'},\n           {cn:'\\u91CD\\u505A P1 Q4\\uFF08\\u4F59\\u5F26\\u5B9A\\u7406+\\u6247\\u5F62\\uFF0C0\/8\\uFF09',en:'Redo P1 Q4 (cosine rule + sector, 0\/8)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P1 Q5\\uFF08\\u590D\\u6570\\uFF09\\u3001Q17\\uFF08\\u6469\\u5929\\u8F6E\\u4E09\\u89D2\\u6A21\\u578B\\uFF0C0\/8\\uFF09',en:'Redo P1 Q5, Q17 (Ferris wheel trig, 0\/8)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u91CD\\u505A P2 Q7\\uFF08Fibonacci\/\\u77E9\\u9635\\uFF0C0\/18\\uFF01\\uFF09',en:'Redo P2 Q7 (Fibonacci\/matrices, 0\/18!)',tag:'pp',tagText:'Past Paper'}\n         ]}\n       ]},\n      {num:'D7',title:'\\u5168\\u771F\\u6A21\\u62DF + \\u603B\\u590D\\u4E60',en:'Full Mock + Review',dates:'5\/11',\n       goal:'\\u6700\\u540E\\u4E00\\u5929\\uFF01\\u5B8C\\u6574\\u6A21\\u8003 + \\u67E5\\u6F0F\\u8865\\u7F3A + \\u5236\\u5B9A\\u8003\\u8BD5\\u7B56\\u7565\\u3002 Last day! Full mock + final review + exam strategy.',\n       days:[\n         {label:'\\u4E0A\\u5348 Morning',time:'2h \\u6A21\\u8003',tasks:[\n           {cn:'\\u5B9A\\u65F6\\u6A21\\u8003\\uFF1APaper 1 \\u6216 Paper 2\\uFF08\\u4E25\\u683C2h\\uFF09',en:'Timed mock: Paper 1 OR Paper 2 (strict 2h)'},\n           {cn:'\\u4F7F\\u7528\\u4E0D\\u540C\\u771F\\u9898\\uFF08May 2025\\u6216Nov 2024\\uFF09',en:'Use different past paper (May 2025 or Nov 2024)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\\u4E25\\u683C\\u8003\\u8BD5\\u6761\\u4EF6\\uFF1AP2\\u53EF\\u7528GDC\\uFF0C\\u65E0\\u7B14\\u8BB0\\uFF0C\\u8BA1\\u65F6',en:'Strict exam conditions: GDC for P2, no notes, timed'}\n         ]},\n         {label:'\\u4E0B\\u5348 Afternoon',time:'2h \\u590D\\u4E60',tasks:[\n           {cn:'\\u7528\\u8BC4\\u5206\\u6807\\u51C6\\u6279\\u6539',en:'Mark with mark scheme'},\n           {cn:'\\u627E\\u51FA\\u5269\\u4F59\\u8584\\u5F31\\u70B9',en:'Identify remaining weak spots'},\n           {cn:'\\u91CD\\u505A\\u56E0\\u7C97\\u5FC3\\u4E22\\u5206\\u7684\\u9898',en:'Redo careless error questions'},\n           {cn:'\\u719F\\u6089\\u516C\\u5F0F\\u624B\\u518C\\uFF1A\\u77E5\\u9053\\u6BCF\\u4E2A\\u516C\\u5F0F\\u5728\\u54EA',en:'Review formula booklet: know where every formula is'},\n           {cn:'\\u5236\\u5B9A\\u8003\\u8BD5\\u7B56\\u7565\\uFF1A\\u65F6\\u95F4\\u5206\\u914D\\u3001\\u5148\\u505A\\u54EA\\u4E9B\\u9898',en:'Exam strategy: time allocation, which topics first'}\n         ]}\n       ]},\n      {num:'EXAM',title:'\\u8003\\u8BD5\\u5468\\uFF1AP1 \\u2192 P2 \\u2192 P3',en:'Exam Week',dates:'5\/14-5\/20',isExam:true,\n       goal:'',\n       days:[\n         {label:'5\/14 Paper 1',time:'2h \\u65E0GDC',tasks:[\n           {cn:'P1\\u7B56\\u7565\\uFF1A\\u626B\\u63CF\\u2192\\u5148\\u505A\\u7EDF\\u8BA1\/\\u56FE\\u8BBA\\uFF08\\u5F3A\\u9879\\uFF09\\u2192\\u518D\\u505A\\u51FD\\u6570\/\\u5FAE\\u79EF\\u5206',en:'P1: scan \\u2192 do Stats\/Graph Theory first (strengths) \\u2192 then Functions\/Calculus'},\n           {cn:'\\u6BCF\\u9898\\u5206\\u914D\\u7EA61.1\\u5206\\u949F\/\\u5206\\uFF0C\\u5361\\u4F4F\\u8D853\\u5206\\u949F\\u5C31\\u5148\\u8DF3',en:'~1.1 min\/mark, skip if stuck >3 min'},\n           {cn:'\\u5C55\\u793A\\u6240\\u6709\\u8FC7\\u7A0B\\uFF0C\\u5C1D\\u8BD5\\u6BCF\\u4E00\\u9898',en:'Show ALL working, attempt EVERY question'}\n         ]},\n         {label:'5\/15 Paper 2',time:'2h \\u5E26GDC',tasks:[\n           {cn:'\\u786E\\u8BA4GDC\\uFF1A\\u5F27\\u5EA6\\u5236\\u3001\\u7535\\u6C60\\u5145\\u8DB3',en:'Confirm GDC: Radian mode, battery full',tag:'gdc',tagText:'GDC'},\n           {cn:'P2\\u7B56\\u7565\\uFF1A\\u5C3D\\u53EF\\u80FD\\u7528GDC\\uFF0C\\u5148\\u505A\\u7EDF\\u8BA1\\u5927\\u9898',en:'P2: use GDC whenever possible, Stats questions first'},\n           {cn:'\\u7ED3\\u8BBA\\u5FC5\\u987B\\u5199\\u4E0A\\u4E0B\\u6587\\uFF08\\u4E0D\\u80FD\\u53EA\\u5199 reject H\\u2080\\uFF09',en:'Conclusions MUST be in context (not just reject H\\u2080)'}\n         ]},\n         {label:'5\/16-19 Paper 3\\u51C6\\u5907',time:'\\u6BCF\\u59291-1.5h',tasks:[\n           {cn:'\\u4F11\\u606F + \\u8F7B\\u5EA6\\u590D\\u4E60P3\\u4E3B\\u9898',en:'Rest + light P3 review'},\n           {cn:'5\/18\\uFF1A1\\u5957\\u8BA1\\u65F6Paper 3\\u7EC3\\u4E60',en:'Timed Paper 3 practice'},\n           {cn:'5\/19\\uFF1A\\u53EA\\u770BP3\\u7B56\\u7565\\u7B14\\u8BB0\\uFF0C\\u65E9\\u7761',en:'P3 strategy notes only, sleep early'}\n         ]},\n         {label:'5\/20 Paper 3 (HL)',time:'1h \\u5E26GDC',tasks:[\n           {cn:'P3\\u7B56\\u7565\\uFF1A\\u5148\\u8BFB\\u5168\\u90E8\\u2192\\u5148\\u505A\\u7B80\\u5355\\u9898\\u2192GDC\\u9A8C\\u8BC1',en:'Read all \\u2192 easy first \\u2192 GDC verify'},\n           {cn:'\\u8003\\u5B8C\\u5566\\uFF01\\u5E86\\u795D\\uFF01',en:'Done! Celebrate!'}\n         ]}\n       ]}\n    ]\n  },\n  {\n    id:'yy', name:'Y', course:'IB Math AA SL', exam:'May 2026', avatar:'Y', color:'#e11d48',\n    examDate:'2026-05-14',\n    badge:'2026\u5e745\u6708\u8003\u8bd5 May Examination',\n    paperMax:{'Paper 1':'80','Paper 2':'80'},\n    papers:[\n      {session:'May 2025',p:['Paper 1','Paper 2']},\n      {session:'Nov 2024',p:['Paper 1','Paper 2']},\n      {session:'May 2024',p:['Paper 1','Paper 2']},\n      {session:'Nov 2023',p:['Paper 1','Paper 2']},\n      {session:'May 2023',p:['Paper 1','Paper 2']},\n      {session:'Nov 2022',p:['Paper 1','Paper 2']},\n      {session:'May 2022',p:['Paper 1','Paper 2']},\n      {session:'Nov 2021',p:['Paper 1','Paper 2']},\n      {session:'Specimen \u6837\u5377',p:['Paper 1','Paper 2']},\n      {session:'RV Prediction 2026 \u9884\u6d4b\u5377',p:['Paper 1','Paper 2']}\n    ],\n    weeks:[\n      {num:'W1',title:'\u51fd\u6570 + \u6570\u5217 + \u9996\u5957\u771f\u9898\u8bd5\u6c34',en:'Functions + Sequences + First Past Paper',dates:'3\/31-4\/6',\n       goal:'\u5de9\u56fa\u51fd\u6570\u548c\u6570\u5217\u6838\u5fc3\u3002\u5468\u672b\u505a\u7b2c\u4e00\u5957\u771f\u9898\u6478\u5e95\u3002\u6bcf\u5929\u7ea62h\u3002 Functions + sequences core, then first past paper diagnostic. ~2h\/day.',\n       days:[\n         {label:'\u7b2c1-2\u5929 Day 1-2',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u51fd\u6570\u590d\u4e60\uff1a\u5b9a\u4e49\u57df\u3001\u503c\u57df\u3001\u53cd\u51fd\u6570 f\u207b\u00b9(x)',en:'Functions review: domain, range, inverse',tag:'haese',tagText:'Haese Ch.2-3'},\n           {cn:'\u590d\u5408\u51fd\u6570\uff1a(f\u2218g)(x)\uff0c\u5b9a\u4e49\u57df\u9650\u5236',en:'Composite functions: (f\u2218g)(x), domain restrictions'},\n           {cn:'\u56fe\u50cf\u53d8\u6362\uff1a\u5e73\u79fb\u3001\u62c9\u4f38\u3001\u53cd\u5c04',en:'Graph transformations: translate, stretch, reflect'},\n           {cn:'GDC\u7ec3\u4e60\uff1a\u753b\u51fd\u6570\u56fe\u50cf\u3001\u6c42\u4ea4\u70b9\u548c\u96f6\u70b9',en:'GDC: graphing, intersections, zeros',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\u7b2c3-4\u5929 Day 3-4',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u7b49\u5dee\u6570\u5217\uff1a\u901a\u9879\u516c\u5f0f u\u2099 = u\u2081 + (n-1)d\uff0c\u6c42\u548c S\u2099',en:'Arithmetic sequences: u\u2099 formula, S\u2099',tag:'haese',tagText:'Haese Ch.6'},\n           {cn:'\u7b49\u6bd4\u6570\u5217\uff1a\u901a\u9879\u516c\u5f0f u\u2099 = u\u2081 \u00b7 r\u207f\u207b\u00b9\uff0c\u6c42\u548c',en:'Geometric sequences: u\u2099 formula, S\u2099'},\n           {cn:'\u65e0\u7a77\u7b49\u6bd4\u7ea7\u6570\uff1a\u6536\u655b\u6761\u4ef6 |r|<1\uff0cS\u221e = u\u2081\/(1-r)',en:'Infinite geometric series: convergence, S\u221e'},\n           {cn:'\u4e8c\u9879\u5f0f\u5b9a\u7406\uff1a\u5c55\u5f00 (a+b)\u207f\uff0c\u6c42\u6307\u5b9a\u9879',en:'Binomial theorem: expansion, specific terms'}\n         ]},\n         {label:'\u7b2c5\u5929 Day 5',time:'2h \u771f\u9898\u6478\u5e95',tasks:[\n           {cn:'\u771f\u9898\u6478\u5e95\uff1aNov 2021 Paper 1\uff08\u4e25\u683c1.5h\uff0c\u65e0\u8ba1\u7b97\u5668\uff09',en:'Diagnostic: Nov 2021 Paper 1 (strict 1.5h, no calc)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + \u8bb0\u5f55\u5404Topic\u5f97\u5206\u7387\uff0c\u627e\u51fa\u8584\u5f31\u73af\u8282',en:'Mark + record score by topic, identify weak areas'}\n         ]},\n         {label:'\u7b2c6\u5929 Day 6',time:'2h \u771f\u9898\u6478\u5e95',tasks:[\n           {cn:'\u771f\u9898\u6478\u5e95\uff1aNov 2021 Paper 2\uff08\u4e25\u683c1.5h\uff0c\u6709\u8ba1\u7b97\u5668\uff09',en:'Diagnostic: Nov 2021 Paper 2 (strict 1.5h, with calc)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + \u5206\u6790\uff1a\u54ea\u4e9b\u9898\u578b\u80fd\u62ff\u5206\u3001\u54ea\u4e9b\u5b8c\u5168\u4e0d\u4f1a',en:'Mark + analyze: which topics score well, which need work'},\n           {cn:'\u6839\u636e\u6478\u5e95\u7ed3\u679c\u8c03\u6574\u540e\u7eed\u590d\u4e60\u91cd\u70b9',en:'Adjust study priorities based on diagnostic results'}\n         ]}\n       ]},\n      {num:'W2',title:'\u4e09\u89d2 + \u6307\u6570\u5bf9\u6570 + \u771f\u9898\u4e13\u9879',en:'Trig + Exp\/Log + Topic Past Papers',dates:'4\/7-4\/13',\n       goal:'\u638c\u63e1\u4e09\u89d2\u548c\u6307\u6570\u5bf9\u6570\u3002\u6bcf\u5b66\u5b8c\u4e00\u5757\u7acb\u523b\u505a\u771f\u9898\u76f8\u5173\u9898\u76ee\u3002\u6bcf\u5929\u7ea62h\u3002 Master trig + exp\/log with immediate past paper practice. ~2h\/day.',\n       days:[\n         {label:'\u7b2c1-2\u5929 Day 1-2',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u4e09\u89d2\u6bd4\u590d\u4e60\uff1aCAST\u56fe + \u5f27\u5ea6\u5236',en:'Trig ratios: CAST diagram + radians',tag:'haese',tagText:'Haese Ch.10'},\n           {cn:'\u6b63\u5f26\/\u4f59\u5f26\u56fe\u50cf\u53d8\u6362\uff1a\u632f\u5e45\u3001\u5468\u671f\u3001\u76f8\u79fb',en:'Sine\/Cosine graphs: amplitude, period, phase shift'},\n           {cn:'\u6b63\u5f26\u5b9a\u5f8b + \u4f59\u5f26\u5b9a\u5f8b + \u4e09\u89d2\u5f62\u9762\u79ef',en:'Sine rule + Cosine rule + triangle area'},\n           {cn:'\u4e09\u89d2\u6052\u7b49\u5f0f\uff1asin\u00b2\u03b8 + cos\u00b2\u03b8 = 1\uff0c\u4e8c\u500d\u89d2\u516c\u5f0f',en:'Trig identities: Pythagorean, double angle',tag:'haese',tagText:'Haese Ch.11'}\n         ]},\n         {label:'\u7b2c3\u5929 Day 3',time:'2h',tasks:[\n           {cn:'\u4e09\u89d2\u65b9\u7a0b\u6c42\u89e3\uff08\u6307\u5b9a\u533a\u95f4\u5185\uff096\u9053',en:'Solving trig equations (given interval) x6'},\n           {cn:'\u771f\u9898\u4e13\u9879\uff1a\u4ece May 2022 P1 &#038; P2 \u4e2d\u6311\u6240\u6709\u4e09\u89d2\u9898\u505a',en:'Past paper topic drill: all trig Qs from May 2022',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u5bf9\u7167markscheme\u5b66\u4e60\u5f97\u5206\u6280\u5de7',en:'Study markscheme for scoring techniques'}\n         ]},\n         {label:'\u7b2c4-5\u5929 Day 4-5',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u6307\u6570\u8fd0\u7b97\u6cd5\u5219 + \u6307\u6570\u65b9\u7a0b',en:'Exponent laws + exponential equations',tag:'haese',tagText:'Haese Ch.4'},\n           {cn:'\u5bf9\u6570\u8fd0\u7b97\u6cd5\u5219 + \u5bf9\u6570\u65b9\u7a0b',en:'Logarithm laws + log equations'},\n           {cn:'\u6307\u6570\u589e\u957f\/\u8870\u51cf\u6a21\u578b\uff1aA = A\u2080e\u1d4f\u1d57 \u5e94\u7528\u9898',en:'Exp growth\/decay models: A = A\u2080e\u1d4f\u1d57 applications'},\n           {cn:'\u771f\u9898\u4e13\u9879\uff1a\u4ece Nov 2022 P1 &#038; P2 \u4e2d\u6311\u6240\u6709\u6307\u6570\u5bf9\u6570\u9898',en:'Past paper drill: all exp\/log Qs from Nov 2022',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\u7b2c6\u5929 Day 6',time:'2h',tasks:[\n           {cn:'\u771f\u9898\u9650\u65f6\uff1aMay 2022 Paper 1 \u5b8c\u6574\u5377\uff081.5h\uff09',en:'Timed: May 2022 Paper 1 full (1.5h)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + \u5bf9\u6bd4W1\u6478\u5e95\u5206\u6570\u53d8\u5316',en:'Mark + compare score vs W1 diagnostic'},\n           {cn:'\u590d\u4e60W1-W2\u9519\u9898',en:'Review W1-W2 errors'}\n         ]}\n       ]},\n      {num:'W3',title:'\u5fae\u79ef\u5206\uff08\u4e00\uff09\uff1a\u6c42\u5bfc + \u771f\u9898',en:'Differentiation + Past Papers',dates:'4\/14-4\/20',\n       goal:'\u7cfb\u7edf\u638c\u63e1\u6c42\u5bfc\u3002\u5b66\u5b8c\u5373\u505a\u771f\u9898\u5fae\u79ef\u5206\u5927\u9898\u3002AA SL\u6700\u6838\u5fc3\u7ae0\u8282\u3002\u6bcf\u5929\u7ea62h\u3002 Master differentiation with immediate past paper practice. ~2h\/day.',\n       days:[\n         {label:'\u7b2c1-2\u5929 Day 1-2',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u5bfc\u6570\u6982\u5ff5\uff1a\u6781\u9650\u5b9a\u4e49\u3001\u5207\u7ebf\u659c\u7387',en:'Derivative concept: first principles, tangent slope',tag:'haese',tagText:'Haese Ch.20'},\n           {cn:'\u57fa\u672c\u6c42\u5bfc\u6cd5\u5219\uff1ax\u207f, e\u02e3, ln x, sin x, cos x, tan x',en:'Basic derivatives: power, exp, ln, trig'},\n           {cn:'\u94fe\u5f0f\u6cd5\u5219 (chain rule)\uff1a8\u9053\u7ec3\u4e60',en:'Chain rule: 8 practice problems'},\n           {cn:'\u4e58\u79ef\u6cd5\u5219 + \u5546\u6cd5\u5219',en:'Product rule + quotient rule'}\n         ]},\n         {label:'\u7b2c3-4\u5929 Day 3-4',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u5207\u7ebf\u4e0e\u6cd5\u7ebf\u65b9\u7a0b',en:'Tangent and normal lines'},\n           {cn:'\u6781\u503c\u70b9\uff1a\u4e00\u9636 + \u4e8c\u9636\u5bfc\u6570\u68c0\u9a8c',en:'Stationary points: 1st and 2nd derivative tests',tag:'haese',tagText:'Haese Ch.20'},\n           {cn:'\u6700\u4f18\u5316\u5e94\u7528\u9898 4\u9053',en:'Optimization problems x4'},\n           {cn:'\u771f\u9898\u4e13\u9879\uff1a\u4ece Nov 2023 P1 \u4e2d\u6311\u6240\u6709\u5fae\u79ef\u5206\u9898',en:'Past paper drill: all calculus Qs from Nov 2023 P1',tag:'pp',tagText:'Past Paper'},\n           {cn:'GDC\u9a8c\u8bc1\uff1a\u7528\u56fe\u50cf\u786e\u8ba4\u6781\u503c\u548c\u62d0\u70b9',en:'GDC: verify max\/min and inflection points',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\u7b2c5\u5929 Day 5',time:'2h',tasks:[\n           {cn:'\u8fd0\u52a8\u5b66\uff1as(t), v(t)=s\\'(t), a(t)=v\\'(t)',en:'Kinematics: displacement, velocity, acceleration'},\n           {cn:'\u76f8\u5173\u53d8\u5316\u7387\uff08\u94fe\u5f0f\u6cd5\u5219\u5e94\u7528\uff09',en:'Related rates (chain rule application)'},\n           {cn:'\u771f\u9898\u4e13\u9879\uff1a\u4ece May 2023 P2 \u4e2d\u6311\u5fae\u79ef\u5206+\u8fd0\u52a8\u5b66\u9898',en:'Past paper drill: calculus + kinematics from May 2023 P2',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\u7b2c6\u5929 Day 6',time:'2.5h \u771f\u9898\u6574\u5377',tasks:[\n           {cn:'\u771f\u9898\u9650\u65f6\uff1aNov 2022 Paper 2 \u5b8c\u6574\u5377\uff081.5h\uff09',en:'Timed: Nov 2022 Paper 2 full (1.5h)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + \u91cd\u70b9\u5206\u6790\u5fae\u79ef\u5206\u5927\u9898\u5f97\u5206',en:'Mark + focus on calculus section scoring'},\n           {cn:'\u6574\u7406\u6c42\u5bfc\u9519\u9898\u672c',en:'Organize differentiation error notebook'}\n         ]}\n       ]},\n      {num:'W4',title:'\u79ef\u5206 + \u6982\u7387\u7edf\u8ba1 + \u771f\u9898',en:'Integration + Stats + Past Papers',dates:'4\/21-4\/27',\n       goal:'\u638c\u63e1\u79ef\u5206\u3002\u626b\u6982\u7387\u7edf\u8ba1\u3002\u7ee7\u7eed\u771f\u9898\u8bad\u7ec3\u3002\u6bcf\u5929\u7ea62h\u3002 Integration + stats + continued past paper practice. ~2h\/day.',\n       days:[\n         {label:'\u7b2c1-2\u5929 Day 1-2',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u4e0d\u5b9a\u79ef\u5206\uff1a\u57fa\u672c\u79ef\u5206\u516c\u5f0f\uff08x\u207f, e\u02e3, 1\/x, sin, cos\uff09',en:'Indefinite integrals: basic formulas',tag:'haese',tagText:'Haese Ch.21'},\n           {cn:'\u5b9a\u79ef\u5206 + \u66f2\u7ebf\u4e0b\u9762\u79ef + \u4e24\u66f2\u7ebf\u95f4\u9762\u79ef',en:'Definite integrals + area under\/between curves'},\n           {cn:'\u8fd0\u52a8\u5b66\u4e2d\u7684\u79ef\u5206\uff1a\u5df2\u77e5v(t)\u6c42s(t)',en:'Integration in kinematics: v(t) to s(t)'},\n           {cn:'GDC: fnInt \u6570\u503c\u79ef\u5206\u9a8c\u8bc1',en:'GDC: fnInt numerical integration',tag:'gdc',tagText:'GDC'}\n         ]},\n         {label:'\u7b2c3\u5929 Day 3',time:'2h',tasks:[\n           {cn:'\u6982\u7387\u590d\u4e60\uff1a\u6761\u4ef6\u6982\u7387\u3001\u6811\u5f62\u56fe\u3001\u4e8c\u9879\u5206\u5e03',en:'Probability review: conditional, tree, binomial',tag:'haese',tagText:'Haese Ch.16'},\n           {cn:'\u6b63\u6001\u5206\u5e03\uff1a\u6807\u51c6\u5316 Z=(X-\u03bc)\/\u03c3 + GDC\u64cd\u4f5c',en:'Normal distribution + GDC: normalcdf, invNorm',tag:'gdc',tagText:'GDC'},\n           {cn:'\u771f\u9898\u4e13\u9879\uff1a\u4ece May 2024 P2 \u4e2d\u6311\u6982\u7387\u7edf\u8ba1\u9898',en:'Past paper drill: stats Qs from May 2024 P2',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\u7b2c4\u5929 Day 4',time:'2.5h \u771f\u9898\u6574\u5377',tasks:[\n           {cn:'\u771f\u9898\u9650\u65f6\uff1aNov 2023 Paper 1 \u5b8c\u6574\u5377\uff081.5h\uff09',en:'Timed: Nov 2023 Paper 1 full (1.5h)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + \u9010\u9898\u5206\u6790\u9519\u56e0',en:'Mark + analyze each error'},\n           {cn:'\u91cd\u505a\u6240\u6709\u9519\u9898\uff08\u4e0d\u770b\u7b54\u6848\uff09',en:'Redo all errors without answers'}\n         ]},\n         {label:'\u7b2c5\u5929 Day 5',time:'2.5h \u771f\u9898\u6574\u5377',tasks:[\n           {cn:'\u771f\u9898\u9650\u65f6\uff1aNov 2023 Paper 2 \u5b8c\u6574\u5377\uff081.5h\uff09',en:'Timed: Nov 2023 Paper 2 full (1.5h)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + \u6807\u8bb0GDC\u53ef\u52a0\u901f\u7684\u9898',en:'Mark + highlight GDC-acceleratable questions'},\n           {cn:'\u7edf\u8ba1\u7d2f\u8ba1\u5206\u6570\uff1a\u5bf9\u6bd4W1\u6478\u5e95\u6709\u591a\u5c11\u63d0\u5347',en:'Track cumulative score: compare vs W1 diagnostic'}\n         ]},\n         {label:'\u7b2c6\u5929 Day 6',time:'1.5h',tasks:[\n           {cn:'\u590d\u4e60W1-W4\u5168\u90e8\u9519\u9898\u672c',en:'Review all W1-W4 error notebooks'},\n           {cn:'\u6574\u7406\u9ad8\u9891\u5931\u5206\u77e5\u8bc6\u70b9\u6e05\u5355',en:'Compile list of frequently-missed topics'},\n           {cn:'RV \u5168Topic\u7efc\u5408Quiz',en:'RV comprehensive Quiz (all topics)',tag:'rv',tagText:'RV Quiz'}\n         ]}\n       ]},\n      {num:'W5',title:'\u5411\u91cf + \u7b2c\u4e00\u8f6e\u6a21\u8003 + \u67e5\u6f0f',en:'Vectors + Mock Round 1 + Gap Fill',dates:'4\/28-5\/4',\n       goal:'\u5411\u91cf\u901f\u6210 + \u6b63\u5f0f\u6a21\u8003\u3002\u76ee\u6807\u6a21\u8003\u8fbe\u5230 Grade 5+ (65%)\u3002\u6bcf\u5929\u7ea62-2.5h\u3002 Vectors + formal mock targeting Grade 5+. ~2-2.5h\/day.',\n       days:[\n         {label:'\u7b2c1-2\u5929 Day 1-2',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u5411\u91cf\u57fa\u7840\uff1a\u52a0\u6cd5\u3001\u6570\u4e58\u3001\u5206\u91cf\u5f62\u5f0f',en:'Vector basics: addition, scalar multiplication, components',tag:'haese',tagText:'Haese Ch.15'},\n           {cn:'\u70b9\u79ef a\u00b7b = |a||b|cos\u03b8\uff1a\u8ba1\u7b97+\u51e0\u4f55\u610f\u4e49',en:'Dot product: calculation + geometric meaning'},\n           {cn:'\u5411\u91cf\u76f4\u7ebf\u65b9\u7a0b r = a + \u03bbb',en:'Vector equation of a line'},\n           {cn:'\u4e24\u76f4\u7ebf\u5939\u89d2 + \u5e73\u884c\/\u5782\u76f4\u5224\u65ad',en:'Angle between lines + parallel\/perpendicular'},\n           {cn:'\u771f\u9898\u4e13\u9879\uff1a\u4ece May 2023 P1 \u4e2d\u6311\u5411\u91cf\u9898',en:'Past paper drill: vector Qs from May 2023 P1',tag:'pp',tagText:'Past Paper'}\n         ]},\n         {label:'\u7b2c3\u5929 Day 3',time:'3h \u6a21\u8003 #1',tasks:[\n           {cn:'\u6b63\u5f0f\u6a21\u8003 #1\uff1aPaper 1\uff08\u4e25\u683c1.5h\uff0c\u65e0\u8ba1\u7b97\u5668\uff09',en:'Formal Mock #1: Paper 1 (strict 1.5h, no calc)',tag:'pp',tagText:'Mock'},\n           {cn:'\u6279\u6539 + \u5404Topic\u5f97\u5206\u7387\u5206\u6790',en:'Mark + score breakdown by topic'}\n         ]},\n         {label:'\u7b2c4\u5929 Day 4',time:'3h \u6a21\u8003 #1',tasks:[\n           {cn:'\u6b63\u5f0f\u6a21\u8003 #1\uff1aPaper 2\uff08\u4e25\u683c1.5h\uff0c\u6709\u8ba1\u7b97\u5668\uff09',en:'Formal Mock #1: Paper 2 (strict 1.5h, with calc)',tag:'pp',tagText:'Mock'},\n           {cn:'\u6279\u6539 + \u8ba1\u7b97\u603b\u5206\uff0c\u5224\u65ad\u5f53\u524dGrade',en:'Mark + calculate total, determine current grade'},\n           {cn:'\u6a21\u8003\u590d\u76d8\uff1a\u5217\u51fa\u5fc5\u987b\u7a81\u7834\u76843\u4e2a\u77e5\u8bc6\u70b9',en:'Mock review: list top 3 must-improve topics'}\n         ]},\n         {label:'\u7b2c5-6\u5929 Day 5-6',time:'\u6bcf\u59292h',tasks:[\n           {cn:'\u8584\u5f31\u73af\u8282\u8865\u5f3a #1\uff1a\u6a21\u8003\u6700\u4f4e\u5206Topic\u4e13\u9879\u8bad\u7ec3',en:'Gap fill #1: intensive drill on weakest mock topic'},\n           {cn:'\u8584\u5f31\u73af\u8282\u8865\u5f3a #2\uff1a\u7b2c\u4e8c\u4f4e\u5206Topic\u4e13\u9879\u8bad\u7ec3',en:'Gap fill #2: drill on second weakest topic'},\n           {cn:'P1 \u5e38\u89c1\u8bc1\u660e\u9898\u578b\u6574\u7406\uff08\u6570\u5217\u6c42\u548c\u3001\u4e09\u89d2\u6052\u7b49\u5f0f\uff09',en:'P1 common proof types: series, trig identities'},\n           {cn:'\u771f\u9898\u9650\u65f6\uff1aMay 2024 Paper 1\uff081.5h\uff09',en:'Timed: May 2024 Paper 1 (1.5h)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + \u5bf9\u6bd4\u6a21\u8003\u5206\u6570',en:'Mark + compare vs mock score'}\n         ]}\n       ]},\n      {num:'W6',title:'\u771f\u9898\u51b2\u523a + \u6a21\u8003 #2',en:'Past Paper Sprint + Mock #2',dates:'5\/5-5\/11',\n       goal:'\u5bc6\u96c6\u771f\u9898 + \u7b2c\u4e8c\u8f6e\u6a21\u8003\u3002\u76ee\u6807 P1 56\/80 + P2 56\/80 = 112\/160 (70%, Grade 6)\u3002 Intensive papers + Mock #2 targeting Grade 6. ~2.5-3h\/day.',\n       days:[\n         {label:'\u7b2c1\u5929 Day 1',time:'2.5h',tasks:[\n           {cn:'\u771f\u9898\u9650\u65f6\uff1aMay 2025 Paper 1\uff081.5h\uff09',en:'Timed: May 2025 Paper 1 (1.5h)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + \u91cd\u70b9\u770bmethod marks\u600e\u4e48\u62ff',en:'Mark + focus on earning method marks'},\n           {cn:'\u9519\u9898\u7acb\u5373\u91cd\u505a',en:'Redo errors immediately'}\n         ]},\n         {label:'\u7b2c2\u5929 Day 2',time:'2.5h',tasks:[\n           {cn:'\u771f\u9898\u9650\u65f6\uff1aMay 2025 Paper 2\uff081.5h\uff09',en:'Timed: May 2025 Paper 2 (1.5h)',tag:'pp',tagText:'Past Paper'},\n           {cn:'\u6279\u6539 + GDC\u4f7f\u7528\u6280\u5de7\u603b\u7ed3',en:'Mark + summarize GDC techniques'},\n           {cn:'\u7edf\u8ba1\u5404\u5957\u771f\u9898\u5206\u6570\u8d8b\u52bf',en:'Track score trends across all papers done'}\n         ]},\n         {label:'\u7b2c3\u5929 Day 3',time:'2h',tasks:[\n           {cn:'\u8584\u5f31Topic\u6700\u540e\u7a81\u7834\uff1a\u96c6\u4e2d\u5237\u8be5Topic\u771f\u9898',en:'Final breakthrough: intensive weak topic past paper Qs'},\n           {cn:'\u8003\u524d\u516c\u5f0f\u8868\u786e\u8ba4\uff1a\u9010\u6761\u8fc7\uff0c\u786e\u4fdd\u5168\u90e8\u8bb0\u4f4f',en:'Formula booklet check: go through each formula'},\n           {cn:'P1\u7b54\u9898\u7b56\u7565\u7ec3\u4e60\uff1a\u65e0GDC\u6761\u4ef6\u4e0b\u624b\u7b97\u901f\u5ea6\u8bad\u7ec3',en:'P1 strategy: no-calc computation speed drill'}\n         ]},\n         {label:'\u7b2c4\u5929 Day 4',time:'3h \u6a21\u8003 #2',tasks:[\n           {cn:'\u6b63\u5f0f\u6a21\u8003 #2\uff1aPaper 1\uff08\u4e25\u683c1.5h\uff0c\u65e0\u8ba1\u7b97\u5668\uff09',en:'Formal Mock #2: Paper 1 (strict 1.5h, no calc)',tag:'pp',tagText:'Mock'},\n           {cn:'\u6279\u6539 + \u5bf9\u6bd4\u6a21\u8003 #1 \u5206\u6570\u53d8\u5316',en:'Mark + compare vs Mock #1 score'}\n         ]},\n         {label:'\u7b2c5\u5929 Day 5',time:'3h \u6a21\u8003 #2',tasks:[\n           {cn:'\u6b63\u5f0f\u6a21\u8003 #2\uff1aPaper 2\uff08\u4e25\u683c1.5h\uff0c\u6709\u8ba1\u7b97\u5668\uff09',en:'Formal Mock #2: Paper 2 (strict 1.5h, with calc)',tag:'pp',tagText:'Mock'},\n           {cn:'\u6279\u6539 + \u8ba1\u7b97\u603b\u5206\uff1a\u786e\u8ba4\u662f\u5426\u8fbe\u5230Grade 6\u7ebf',en:'Mark + calculate total: confirm Grade 6 threshold'},\n           {cn:'\u6700\u7ec8\u5f31\u9879\u6e05\u5355\uff1a\u8003\u524d\u6700\u540e\u9700\u8981\u770b\u7684\u77e5\u8bc6\u70b9',en:'Final weak spots list: last topics to review'}\n         ]},\n         {label:'\u7b2c6\u5929 Day 6',time:'1.5h \u6700\u7ec8\u590d\u4e60',tasks:[\n           {cn:'\u6700\u7ec8\u9519\u9898\u56de\u987e\uff1a\u53ea\u770b\u505a\u9519\u7684\u9898\uff0c\u4e0d\u505a\u65b0\u9898',en:'Final error review: mistakes only, no new problems'},\n           {cn:'\u516c\u5f0f\u8868\u6700\u540e\u8fc7\u4e00\u904d',en:'Final formula booklet pass'},\n           {cn:'\u8003\u8bd5\u7b56\u7565\u786e\u8ba4\uff1a\u65f6\u95f4\u5206\u914d\u3001\u7b54\u9898\u987a\u5e8f\u3001GDC\u6280\u5de7',en:'Confirm exam strategy: timing, order, GDC tips'},\n           {cn:'\u65e9\u7761\uff0c\u4fdd\u6301\u72b6\u6001\uff01',en:'Sleep early, stay sharp!'}\n         ]}\n       ]},\n      {num:'EXAM',title:'\u8003\u8bd5\u5468',en:'Examination Week',dates:'5\/14-5\/15',\n       goal:'AA SL \u8003\u8bd5\uff01P1 + P2\u3002\u76ee\u6807 Grade 6\uff01 Exam time! Target Grade 6!',\n       days:[\n         {label:'5\u670814\u65e5 Paper 1',time:'1.5h \u65e0GDC',tasks:[\n           {cn:'Paper 1\uff081.5\u5c0f\u65f6\uff0c\u65e0\u8ba1\u7b97\u5668\uff09',en:'Paper 1 (1.5 hours, no calculator)'},\n           {cn:'\u7b56\u7565\uff1a\u5148\u901a\u8bfb\u2192\u4f1a\u505a\u7684\u5148\u5199\u2192\u8bc1\u660e\u9898\u5199\u6e05\u6bcf\u4e00\u6b65',en:'Strategy: read all \u2192 easy first \u2192 show all working'}\n         ]},\n         {label:'5\u670815\u65e5 Paper 2',time:'1.5h \u5e26GDC',tasks:[\n           {cn:'Paper 2\uff081.5\u5c0f\u65f6\uff0c\u6709\u8ba1\u7b97\u5668\uff09',en:'Paper 2 (1.5 hours, with calculator)'},\n           {cn:'\u7b56\u7565\uff1aGDC\u9898\u62ff\u6ee1\u5206\u2192\u5e94\u7528\u9898\u5199\u6e05\u6a21\u578b\u2192\u68c0\u67e5\u5355\u4f4d',en:'Strategy: GDC full marks \u2192 show model \u2192 check units'},\n           {cn:'\u8003\u5b8c\u5566\uff01\u5e86\u795d\uff01\u76ee\u68076\u5206\u8fbe\u6210\uff01',en:'Done! Celebrate! Grade 6 achieved!'}\n         ]}\n       ]}\n    ]\n  },\n  {\n    id:'zz', name:'Z', course:'IB Math AI HL', exam:'May 2026', avatar:'Z', color:'#0891b2',\n    examDate:'2026-05-14',\n    badge:'2026\u5e745\u6708\u8003\u8bd5 May Examination \u00b7 \u76ee\u6807 Grade 7',\n    paperMax:{'Paper 1':'110','Paper 2':'110','Paper 3':'55'},\n    papers:[\n      {session:'May 2025',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2024',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'May 2024',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2023',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'May 2023',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Nov 2022',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'Specimen \u6837\u5377',p:['Paper 1','Paper 2','Paper 3']},\n      {session:'RV Mock \u6a21\u62df\u5377',p:['Paper 1','Paper 2','Paper 3']}\n    ],\n    weeks:[\n      {num:'T1',title:'Topic 1 \u2014 \u6570\u4e0e\u4ee3\u6570',en:'Number &#038; Algebra',dates:'SL+HL',\n       goal:'\u6db5\u76d6\u6570\u5217\u3001\u5bf9\u6570\u3001\u4e8c\u9879\u5f0f\u3001\u590d\u6570\u3001\u77e9\u9635\u7b49\u3002 Sequences, logs, binomial, complex numbers, matrices.',\n       days:[\n         {label:'SL \u6838\u5fc3',time:'',tasks:[\n           {cn:'\u6570\u5217\u4e0e\u7ea7\u6570\uff1a\u7b49\u5dee\u3001\u7b49\u6bd4\u3001\u6c42\u548c\u516c\u5f0f',en:'Sequences &#038; Series: arithmetic, geometric, sigma notation'},\n           {cn:'\u5bf9\u6570\u8fd0\u7b97\u6cd5\u5219 + \u6362\u5e95\u516c\u5f0f',en:'Logarithm laws + change of base'},\n           {cn:'\u4e8c\u9879\u5f0f\u5b9a\u7406 (a+b)\u207f \u5c55\u5f00',en:'Binomial theorem expansion'},\n           {cn:'\u8fd1\u4f3c\u4e0e\u8bef\u5dee\uff1a\u767e\u5206\u6bd4\u8bef\u5dee\u3001\u6709\u6548\u6570\u5b57',en:'Approximation &#038; error: percentage error, sig figs'}\n         ]},\n         {label:'HL \u6269\u5c55',time:'',tasks:[\n           {cn:'\u590d\u6570\uff1aa+bi \u8fd0\u7b97\u3001\u6a21\u3001\u8f90\u89d2\u3001Argand \u56fe',en:'Complex numbers: operations, modulus, argument, Argand'},\n           {cn:'\u6781\u5750\u6807\u5f62\u5f0f r cis \u03b8 + \u68e3\u83ab\u5f17\u5b9a\u7406',en:'Polar form + De Moivre\\'s theorem'},\n           {cn:'\u590d\u6570 n \u6b21\u65b9\u6839',en:'nth roots of complex numbers'},\n           {cn:'\u77e9\u9635\u8fd0\u7b97\uff1a\u52a0\u6cd5\u3001\u4e58\u6cd5\u3001\u884c\u5217\u5f0f\u3001\u9006\u77e9\u9635',en:'Matrices: addition, multiplication, determinant, inverse'},\n           {cn:'\u7279\u5f81\u503c\u4e0e\u7279\u5f81\u5411\u91cf',en:'Eigenvalues &#038; eigenvectors'},\n           {cn:'\u77e9\u9635\u53d8\u6362\uff1a\u65cb\u8f6c\u3001\u53cd\u5c04\u3001\u7ec4\u5408\u53d8\u6362',en:'Matrix transformations: rotation, reflection, composition'},\n           {cn:'\u6570\u5217\u6c42\u548c\u4e0e\u7ea7\u6570\u6536\u655b',en:'Series &#038; convergence'}\n         ]}\n       ]},\n      {num:'T2',title:'Topic 2 \u2014 \u51fd\u6570',en:'Functions',dates:'SL+HL',\n       goal:'\u6db5\u76d6\u5404\u7c7b\u51fd\u6570\u6a21\u578b\u3001\u53d8\u6362\u548c\u5efa\u6a21\u3002 Function types, transformations, modelling.',\n       days:[\n         {label:'SL \u6838\u5fc3',time:'',tasks:[\n           {cn:'\u7ebf\u6027\u6a21\u578b + \u5206\u6bb5\u51fd\u6570',en:'Linear models + piecewise functions'},\n           {cn:'\u4e8c\u6b21\u6a21\u578b\uff1a\u9876\u70b9\u3001\u5bf9\u79f0\u8f74\u3001\u5224\u522b\u5f0f',en:'Quadratic models: vertex, axis, discriminant'},\n           {cn:'\u6307\u6570\u6a21\u578b + \u5bf9\u6570\u6a21\u578b\uff08\u589e\u957f\/\u8870\u51cf\uff09',en:'Exponential + logarithmic models (growth\/decay)'},\n           {cn:'\u56fe\u50cf\u53d8\u6362\uff1a\u5e73\u79fb\u3001\u62c9\u4f38\u3001\u53cd\u5c04',en:'Graph transformations: translate, stretch, reflect'},\n           {cn:'\u5efa\u6a21\u4e0e\u56de\u5f52\uff08GDC\uff09',en:'Modelling &#038; regression (GDC)'}\n         ]},\n         {label:'HL \u6269\u5c55',time:'',tasks:[\n           {cn:'\u5bf9\u6570\u51fd\u6570\u6df1\u5165 + \u81ea\u7136\u5bf9\u6570 ln',en:'Logarithmic functions in depth + natural log'},\n           {cn:'\u903b\u8f91\u65af\u8482\u6a21\u578b L\/(1+Ce\u207b\u1d4f\u1d57)',en:'Logistic model L\/(1+Ce\u207b\u1d4f\u1d57)'},\n           {cn:'\u5206\u6bb5\u51fd\u6570\u4e0e\u7edd\u5bf9\u503c\u51fd\u6570',en:'Piecewise &#038; absolute value functions'},\n           {cn:'\u51fd\u6570\u7684\u56fe\u50cf\u53d8\u6362\u8fdb\u9636',en:'Advanced graph transformations'}\n         ]}\n       ]},\n      {num:'T3',title:'Topic 3 \u2014 \u51e0\u4f55\u4e0e\u4e09\u89d2',en:'Geometry &#038; Trigonometry',dates:'SL+HL',\n       goal:'\u6db5\u76d6\u4e09\u89d2\u3001\u5411\u91cf\u3001\u56fe\u8bba\u7b49\u3002 Trigonometry, vectors, graph theory.',\n       days:[\n         {label:'SL \u6838\u5fc3',time:'',tasks:[\n           {cn:'\u4e09\u89d2\u6bd4 + \u6b63\u5f26\u5b9a\u5f8b + \u4f59\u5f26\u5b9a\u5f8b',en:'Trig ratios + sine rule + cosine rule'},\n           {cn:'\u5f27\u5ea6\u5236\uff1a\u5f27\u957f\u3001\u6247\u5f62\u9762\u79ef',en:'Radians: arc length, sector area'},\n           {cn:'\u4e09\u89d2\u51fd\u6570\u56fe\u50cf\uff08\u632f\u5e45\u3001\u5468\u671f\u3001\u76f8\u79fb\uff09',en:'Trig graphs: amplitude, period, phase shift'},\n           {cn:'\u4e09\u7ef4\u51e0\u4f55\uff1a\u89d2\u5ea6\u548c\u8ddd\u79bb',en:'3D geometry: angles and distances'},\n           {cn:'Voronoi \u56fe',en:'Voronoi diagrams'}\n         ]},\n         {label:'HL \u6269\u5c55',time:'',tasks:[\n           {cn:'\u5411\u91cf\uff1a\u52a0\u6cd5\u3001\u6570\u4e58\u3001\u70b9\u79ef',en:'Vectors: addition, scalar multiplication, dot product'},\n           {cn:'\u5411\u91cf\u53c9\u79ef + \u51e0\u4f55\u610f\u4e49',en:'Cross product + geometric meaning'},\n           {cn:'\u5411\u91cf\u76f4\u7ebf\u65b9\u7a0b r = a + \u03bbb',en:'Vector line equation r = a + \u03bbb'},\n           {cn:'\u5411\u91cf\u8fd0\u52a8\u5b66\uff1a\u4f4d\u79fb\u3001\u901f\u5ea6',en:'Vector kinematics: displacement, velocity'},\n           {cn:'\u56fe\u8bba\uff1a\u56fe\u3001\u6811\u3001\u90bb\u63a5\u77e9\u9635\u3001\u6700\u77ed\u8def\u5f84',en:'Graph theory: graphs, trees, adjacency matrix, shortest path'},\n           {cn:'\u4e2d\u56fd\u90ae\u9012\u5458\u95ee\u9898 + \u65c5\u884c\u5546\u95ee\u9898',en:'Chinese Postman + Travelling Salesman'},\n           {cn:'\u751f\u6210\u6811\uff1aKruskal \/ Prim \u7b97\u6cd5',en:'Spanning trees: Kruskal \/ Prim algorithms'}\n         ]}\n       ]},\n      {num:'T4',title:'Topic 4 \u2014 \u7edf\u8ba1\u4e0e\u6982\u7387',en:'Statistics &#038; Probability',dates:'SL+HL',\n       goal:'\u6db5\u76d6\u63cf\u8ff0\u7edf\u8ba1\u3001\u5206\u5e03\u3001\u5047\u8bbe\u68c0\u9a8c\u7b49\u3002 Descriptive stats, distributions, hypothesis testing.',\n       days:[\n         {label:'SL \u6838\u5fc3',time:'',tasks:[\n           {cn:'\u63cf\u8ff0\u7edf\u8ba1\uff1a\u5747\u503c\u3001\u4e2d\u4f4d\u6570\u3001\u6807\u51c6\u5dee\u3001\u56db\u5206\u4f4d\u6570',en:'Descriptive stats: mean, median, SD, quartiles'},\n           {cn:'\u6570\u636e\u5c55\u793a\uff1a\u7bb1\u7ebf\u56fe\u3001\u76f4\u65b9\u56fe\u3001\u7d2f\u79ef\u9891\u7387',en:'Data display: box plot, histogram, cumulative frequency'},\n           {cn:'\u6982\u7387\u57fa\u7840\uff1a\u6837\u672c\u7a7a\u95f4\u3001\u6761\u4ef6\u6982\u7387\u3001\u6811\u5f62\u56fe',en:'Probability: sample space, conditional, tree diagrams'},\n           {cn:'\u4e8c\u9879\u5206\u5e03 B(n,p)',en:'Binomial distribution B(n,p)'},\n           {cn:'\u6b63\u6001\u5206\u5e03 N(\u03bc,\u03c3\u00b2) + \u6807\u51c6\u5316',en:'Normal distribution N(\u03bc,\u03c3\u00b2) + standardization'},\n           {cn:'\u5361\u65b9\u68c0\u9a8c \u03c7\u00b2\uff08\u72ec\u7acb\u6027 + \u62df\u5408\u4f18\u5ea6\uff09',en:'Chi-square test (independence + GOF)'},\n           {cn:'\u76f8\u5173\u7cfb\u6570 r + \u56de\u5f52\u7ebf',en:'Correlation r + regression line'}\n         ]},\n         {label:'HL \u6269\u5c55',time:'',tasks:[\n           {cn:'\u6cca\u677e\u5206\u5e03 Po(\u03bb)',en:'Poisson distribution Po(\u03bb)'},\n           {cn:'\u5047\u8bbe\u68c0\u9a8c\uff1aZ \u68c0\u9a8c\u3001t \u68c0\u9a8c',en:'Hypothesis testing: Z-test, t-test'},\n           {cn:'\u7f6e\u4fe1\u533a\u95f4',en:'Confidence intervals'},\n           {cn:'\u53ef\u9760\u6027\u4e0e\u6709\u6548\u6027',en:'Reliability &#038; validity'},\n           {cn:'\u8d1d\u53f6\u65af\u5b9a\u7406',en:'Bayes\\' theorem'},\n           {cn:'\u9a6c\u5c14\u53ef\u592b\u94fe + \u8f6c\u79fb\u77e9\u9635',en:'Markov chains + transition matrices'},\n           {cn:'\u671f\u671b\u4e0e\u65b9\u5dee\u7684\u7ebf\u6027\u7ec4\u5408',en:'Linear combinations of E(X) and Var(X)'}\n         ]}\n       ]},\n      {num:'T5',title:'Topic 5 \u2014 \u5fae\u79ef\u5206',en:'Calculus',dates:'SL+HL',\n       goal:'\u6db5\u76d6\u6c42\u5bfc\u3001\u79ef\u5206\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u3002 Differentiation, integration, DEs.',\n       days:[\n         {label:'SL \u6838\u5fc3',time:'',tasks:[\n           {cn:'\u5bfc\u6570\u6982\u5ff5 + \u57fa\u672c\u6c42\u5bfc\u6cd5\u5219',en:'Derivative concept + basic rules'},\n           {cn:'\u94fe\u5f0f\u6cd5\u5219',en:'Chain rule'},\n           {cn:'\u6781\u503c\u70b9 + \u6700\u4f18\u5316',en:'Stationary points + optimization'},\n           {cn:'\u79ef\u5206\u57fa\u7840 + \u5b9a\u79ef\u5206',en:'Integration basics + definite integrals'},\n           {cn:'\u66f2\u7ebf\u4e0b\u9762\u79ef + \u68af\u5f62\u6cd5\u5219',en:'Area under curve + trapezoidal rule'},\n           {cn:'\u8fd0\u52a8\u5b66\uff1as(t), v(t), a(t)',en:'Kinematics: s(t), v(t), a(t)'}\n         ]},\n         {label:'HL \u6269\u5c55',time:'',tasks:[\n           {cn:'\u4e58\u79ef\u6cd5\u5219 + \u5546\u6cd5\u5219',en:'Product rule + quotient rule'},\n           {cn:'\u4e8c\u9636\u5bfc\u6570 + \u51f9\u51f8\u6027 + \u62d0\u70b9',en:'Second derivative + concavity + inflection'},\n           {cn:'\u76f8\u5173\u53d8\u5316\u7387',en:'Related rates'},\n           {cn:'\u6362\u5143\u79ef\u5206\u6cd5',en:'Integration by substitution'},\n           {cn:'\u8fd0\u52a8\u5b66\u8fdb\u9636\uff1a\u79ef\u5206\u6c42\u4f4d\u79fb',en:'Advanced kinematics: integration'},\n           {cn:'\u53ef\u5206\u79bb\u5fae\u5206\u65b9\u7a0b dy\/dx = f(x)g(y)',en:'Separable DEs dy\/dx = f(x)g(y)'},\n           {cn:'\u659c\u7387\u573a + \u6b27\u62c9\u65b9\u6cd5',en:'Slope fields + Euler\\'s method'},\n           {cn:'\u8026\u5408\u5fae\u5206\u65b9\u7a0b\uff08\u77e9\u9635\u65b9\u6cd5\uff09',en:'Coupled DEs (matrix method)'}\n         ]}\n       ]}\n    ]\n  }\n];\n\nvar currentStudent = null;\nvar grid = document.getElementById('rv-student-grid');\nif(grid){\n  STUDENTS.forEach(function(s){\n    var card = document.createElement('div');\n    card.className = 'rv-student-card';\n    card.onclick = function(){ openStudent(s); };\n    card.innerHTML = '<div class=\"rv-student-avatar\" style=\"background:linear-gradient(135deg,'+s.color+','+s.color+'aa);\">'+s.avatar+'<\/div>'\n      +'<div class=\"rv-student-name\">'+s.name+'<\/div>'\n      +'<div class=\"rv-student-course\">'+s.course+'<\/div>'\n      +'<div class=\"rv-student-meta\">\\u8003\\u8BD5 Exam: '+s.exam+'<\/div>'\n      +'<div class=\"rv-student-arrow\">\\u67E5\\u770B\\u8FDB\\u5EA6 View Tracker \\u2192<\/div>';\n    grid.appendChild(card);\n  });\n}\n\nfunction renderWeeks(s){\n  var sec = document.getElementById('rv-weeks-section');\n  var h = '<div class=\"rv-section\"><div class=\"rv-section-head\"><div class=\"rv-section-icon\" style=\"background:rgba(245,158,11,0.1);\">\\uD83D\\uDCC5<\/div><h2>\\u6BCF\\u5468\\u590D\\u4E60\\u8BA1\\u5212 <span class=\"rv-en\">Weekly Revision Plan<\/span><\/h2><span class=\"rv-section-sub\">\\u70B9\\u51FB\\u5C55\\u5F00 Click to expand<\/span><\/div>';\n  s.weeks.forEach(function(w,wi){\n    var exSt = w.isExam ? ' style=\"border-color:var(--red);border-width:2px;\"' : '';\n    var numSt = w.isExam ? ' style=\"border-color:var(--red);color:var(--red);\"' : '';\n    var hdrSt = w.isExam ? ' style=\"background:rgba(248,113,113,0.04);\"' : '';\n    var pctColor = w.isExam ? 'var(--red)' : 'var(--accent)';\n    h += '<div class=\"rv-week\" data-week=\"'+wi+'\"'+exSt+'>';\n    h += '<div class=\"rv-week-hdr\" onclick=\"rvToggle(this)\"'+hdrSt+'>';\n    h += '<span class=\"rv-week-num\"'+numSt+'>'+w.num+'<\/span>';\n    h += '<span class=\"rv-week-title\">'+w.title+'<span class=\"rv-en\">'+w.en+'<\/span><\/span>';\n    h += '<span class=\"rv-week-dates\">'+w.dates+'<\/span>';\n    h += '<span class=\"rv-week-pct\" style=\"color:'+pctColor+';\">0%<\/span>';\n    h += '<span class=\"rv-week-chevron\">\\u25BC<\/span><\/div>';\n    h += '<div class=\"rv-week-body\">';\n    if(w.goal) h += '<div class=\"rv-info strategy\"><strong>\\u76EE\\u6807 Goal:<\/strong> '+w.goal+'<\/div>';\n    w.days.forEach(function(d){\n      h += '<div class=\"rv-day\"><div class=\"rv-day-label\">'+d.label+' <span class=\"rv-time\">'+d.time+'<\/span><\/div><ul class=\"rv-cl\">';\n      d.tasks.forEach(function(t,ti){\n        var tid = s.id+'-w'+wi+'-'+d.label.replace(\/[^a-zA-Z0-9]\/g,'')+'-'+ti;\n        h += '<li><input type=\"checkbox\" data-id=\"'+tid+'\"><span>'+t.cn+' <span style=\"font-size:0.88em;color:var(--text-dim);\">'+t.en+'<\/span>';\n        if(t.tag) h += ' <span class=\"rv-tag '+t.tag+'\">'+t.tagText+'<\/span>';\n        h += '<\/span><\/li>';\n      });\n      h += '<\/ul><\/div>';\n    });\n    h += '<div class=\"rv-pbar\"><div class=\"rv-pbar-label\"><span>\\u7B2C'+(wi+1)+'\\u5468 '+w.num+'<\/span><span class=\"pct\">0%<\/span><\/div><div class=\"rv-pbar-track\"><div class=\"rv-pbar-fill\" style=\"width:0%\"><\/div><\/div><\/div>';\n    h += '<\/div><\/div>';\n  });\n  h += '<\/div>';\n  sec.innerHTML = h;\n}\n\nfunction renderPapers(s){\n  var sec = document.getElementById('rv-pp-section');\n  var h = '<div class=\"rv-section\"><div class=\"rv-section-head\"><div class=\"rv-section-icon\" style=\"background:rgba(96,165,250,0.1);\">\\uD83D\\uDCDD<\/div><h2>\\u5386\\u5E74\\u771F\\u9898\\u8FFD\\u8E2A <span class=\"rv-en\">Past Papers Tracker<\/span><\/h2><span class=\"rv-section-sub\" id=\"rv-pp-summary\">\\u5DF2\\u5B8C\\u6210 0 \\u5957<\/span><\/div>';\n  h += '<div class=\"rv-info tip\" style=\"margin-bottom:16px;\"><strong>\\u7B56\\u7565 Strategy:<\/strong> \\u6BCF\\u5957\\u9898\\u5FC5\\u987B\\u8BA1\\u65F6\\u5B8C\\u6210\\u3002\\u6279\\u6539\\u540E\\u8BB0\\u5F55\\u6210\\u7EE9\\u5E76\\u590D\\u4E60\\u9519\\u9898\\u3002 <span style=\"color:var(--text-dim);\">Complete timed. Record score and review errors.<\/span><\/div>';\n  h += '<div class=\"rv-pp-grid\">';\n  s.papers.forEach(function(pp){\n    h += '<div class=\"rv-pp-card\"><div class=\"rv-pp-session\">'+pp.session+'<\/div>';\n    pp.p.forEach(function(p){\n      var pid = (s.id+'-pp-'+pp.session+'-'+p).replace(\/\\s+\/g,'-').toLowerCase();\n      var max = s.paperMax[p] || '80';\n      h += '<div style=\"margin-top:8px;\"><ul class=\"rv-cl\"><li><input type=\"checkbox\" data-id=\"'+pid+'\" data-pp=\"1\"><span>'+p+'<\/span><\/li><\/ul>';\n      h += '<div class=\"rv-score\"><span>\\u5F97\\u5206 Score:<\/span><input type=\"text\" data-score=\"'+pid+'\" placeholder=\"--\"> <span>\/ '+max+'<\/span><\/div><\/div>';\n    });\n    h += '<\/div>';\n  });\n  h += '<\/div><\/div>';\n  sec.innerHTML = h;\n}\n\nfunction openStudent(s){\n  currentStudent = s;\n  document.getElementById('rv-directory').style.display = 'none';\n  document.getElementById('rv-tracker').style.display = 'block';\n  document.getElementById('rv-user-display').textContent = s.name;\n  document.getElementById('rv-badge').textContent = s.badge;\n  document.getElementById('rv-tracker-title').innerHTML = s.course+'<br>\\u590D\\u4E60\\u8FDB\\u5EA6\\u8FFD\\u8E2A Revision Tracker';\n  document.getElementById('rv-tracker-sub').innerHTML = '\\u4E92\\u52A8\\u5F0F\\u590D\\u4E60\\u8BA1\\u5212\\u4E0E\\u8FDB\\u5EA6\\u8DDF\\u8E2A | Interactive revision plan with progress tracking';\n  renderWeeks(s);\n  renderPapers(s);\n  if(fbListener && fbRef){ fbRef.off('value', fbListener); }\n  fbRef = db.ref('students\/' + s.id);\n  fbListener = fbRef.on('value', function(snap){\n    var st = snap.val() || {};\n    applyState(st);\n    updateAll();\n  });\n  window.scrollTo(0,0);\n}\n\nwindow.rvBackToDirectory = function(){\n  if(fbListener && fbRef){ fbRef.off('value', fbListener); fbListener=null; fbRef=null; }\n  currentStudent = null;\n  document.getElementById('rv-tracker').style.display = 'none';\n  document.getElementById('rv-directory').style.display = 'block';\n  window.scrollTo(0,0);\n};\n\nfunction applyState(st){\n  document.querySelectorAll('#rv-tracker input[type=\"checkbox\"][data-id]').forEach(function(cb){\n    var v = !!st[cb.dataset.id];\n    if(cb.checked !== v){ cb.checked = v; }\n    if(v) cb.closest('li').classList.add('done'); else cb.closest('li').classList.remove('done');\n  });\n  document.querySelectorAll('#rv-tracker input[data-score]').forEach(function(inp){\n    var v = st['score-'+inp.dataset.score]||'';\n    if(inp.value !== v && document.activeElement !== inp){ inp.value = v; }\n  });\n}\n\ndocument.getElementById('rv-app').addEventListener('change',function(e){\n  if(e.target.type==='checkbox'&&e.target.dataset.id){\n    var li=e.target.closest('li');\n    if(e.target.checked)li.classList.add('done');else li.classList.remove('done');\n    if(fbRef){\n      var u={};u[e.target.dataset.id]=e.target.checked;fbRef.update(u);\n    }\n  }\n});\ndocument.getElementById('rv-app').addEventListener('input',function(e){\n  if(e.target.dataset&&e.target.dataset.score){\n    if(fbRef){\n      var u={};u['score-'+e.target.dataset.score]=e.target.value;fbRef.update(u);\n    }\n  }\n});\n\nwindow.rvToggle = function(hdr){\n  var body=hdr.nextElementSibling;var isA=hdr.classList.contains('active');\n  document.querySelectorAll('#rv-app .rv-week-hdr').forEach(function(h){h.classList.remove('active');});\n  document.querySelectorAll('#rv-app .rv-week-body').forEach(function(b){b.classList.remove('show');});\n  if(!isA){hdr.classList.add('active');body.classList.add('show');}\n};\n\nfunction updateAll(){\n  document.querySelectorAll('#rv-tracker .rv-week').forEach(function(w){\n    var cbs=w.querySelectorAll('input[type=\"checkbox\"][data-id]');\n    var done=w.querySelectorAll('input[type=\"checkbox\"][data-id]:checked');\n    var pct=cbs.length?Math.round(done.length\/cbs.length*100):0;\n    var pe=w.querySelector('.rv-week-pct'),bl=w.querySelector('.rv-pbar-label .pct'),bf=w.querySelector('.rv-pbar-fill');\n    if(pe)pe.textContent=pct+'%';\n    if(pe)pe.style.color=pct===100?'var(--green)':pct>0?'var(--accent)':'var(--text-muted)';\n    if(bl)bl.textContent=pct+'%';if(bf)bf.style.width=pct+'%';\n  });\n  var at=document.querySelectorAll('#rv-tracker .rv-week input[type=\"checkbox\"][data-id]');\n  var dt=document.querySelectorAll('#rv-tracker .rv-week input[type=\"checkbox\"][data-id]:checked');\n  document.getElementById('rv-tasks-done').textContent=dt.length+'\/'+at.length;\n  var pa=document.querySelectorAll('#rv-tracker input[data-pp]');\n  var pd=document.querySelectorAll('#rv-tracker input[data-pp]:checked');\n  document.getElementById('rv-papers-done').textContent=pd.length+'\/'+pa.length;\n  var pps=document.getElementById('rv-pp-summary');\n  if(pps)pps.textContent='\\u5DF2\\u5B8C\\u6210 '+pd.length+' \\u5957 | '+pd.length+' completed';\n  var ta=at.length+pa.length,td=dt.length+pd.length;\n  document.getElementById('rv-total-pct').textContent=(ta?Math.round(td\/ta*100):0)+'%';\n  if(currentStudent){\n    var ed=new Date(currentStudent.examDate),now=new Date(),diff=Math.ceil((ed-now)\/(864e5));\n    document.getElementById('rv-days-left').textContent=diff>0?diff:(diff===0?'TODAY':'DONE');\n  }\n}\n\n(function(){\n  var hash=window.location.hash.replace('#','');\n  if(hash){for(var i=0;i<STUDENTS.length;i++){if(STUDENTS[i].id===hash){openStudent(STUDENTS[i]);return;}}}\n})();\n})();\n<\/script>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Edu-Creator Academy Student Portal Select a student to view their revision tracker&#36873;&#25321;&#23398;&#29983;&#26597;&#30475;&#22797;&#20064;&#36827;&#24230; &#8592; &#36820;&#22238;&#23398;&#29983;&#21015;&#34920; Back to Students &#23398;&#29983; Student: 0% Overall Progress &#24635;&#20307;&#36827;&#24230; 0\/0 Tasks Completed &#20219;&#21153;&#23436;&#25104; 0\/0 Past Papers Done &#30495;&#39064;&#23436;&#25104; &#8212; Days to Exam &#36317;&#32771;&#35797;&#22825;&#25968;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-873","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/edu-creator.com\/index.php\/wp-json\/wp\/v2\/pages\/873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edu-creator.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/edu-creator.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/edu-creator.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/edu-creator.com\/index.php\/wp-json\/wp\/v2\/comments?post=873"}],"version-history":[{"count":13,"href":"https:\/\/edu-creator.com\/index.php\/wp-json\/wp\/v2\/pages\/873\/revisions"}],"predecessor-version":[{"id":895,"href":"https:\/\/edu-creator.com\/index.php\/wp-json\/wp\/v2\/pages\/873\/revisions\/895"}],"wp:attachment":[{"href":"https:\/\/edu-creator.com\/index.php\/wp-json\/wp\/v2\/media?parent=873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}