:root{
  --bg:#f6fbff;
  --surface:#ffffff;
  --surface-soft:#f8fbff;
  --text:#16324a;
  --muted:#70879a;
  --line:#e4edf4;
  --primary:#1597e5;
  --primary-dark:#0875bf;
  --primary-soft:#e8f5ff;
  --teal:#14b8a6;
  --teal-soft:#e8fbf8;
  --success:#22a06b;
  --success-soft:#e9f8f1;
  --warning:#f59e0b;
  --danger:#e5484d;
  --danger-soft:#fff0f0;
  --shadow:0 22px 65px rgba(40,88,125,.13);
  --shadow-sm:0 10px 30px rgba(40,88,125,.09);
  --radius:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#fbfdff 0%,#f2f9ff 48%,#f8fcff 100%);
  overflow-x:hidden;
}
button{font:inherit}
button:focus-visible{outline:3px solid rgba(21,151,229,.25);outline-offset:2px}
.ambient{position:fixed;border-radius:999px;filter:blur(1px);pointer-events:none;z-index:0;opacity:.8}
.ambient-1{width:410px;height:410px;right:-160px;top:-130px;background:radial-gradient(circle,rgba(66,211,187,.22),rgba(66,211,187,0) 69%)}
.ambient-2{width:520px;height:520px;left:-210px;bottom:-260px;background:radial-gradient(circle,rgba(77,169,255,.19),rgba(77,169,255,0) 68%)}

.app-shell{position:relative;z-index:1;min-height:100vh;width:min(1440px,100%);margin:0 auto;padding:28px 34px 36px}
.screen{display:none;min-height:calc(100vh - 64px)}
.screen.active{display:block}

.brand-row{display:flex;align-items:center;gap:13px;padding:4px 0 24px}
.brand-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),#4cc9bd);box-shadow:0 8px 22px rgba(21,151,229,.22)}
.brand-mark svg{width:31px;height:31px;fill:none;stroke:#fff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.brand-kicker,.quiz-kicker{font-size:11px;letter-spacing:.13em;font-weight:800;color:var(--primary);margin-bottom:3px}
.brand-name{font-size:18px;font-weight:800;letter-spacing:-.02em}

.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);gap:64px;align-items:center;min-height:calc(100vh - 220px)}
.hero-copy{padding:22px 0 30px 42px;max-width:760px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--teal-soft);color:#087f73;font-size:11px;letter-spacing:.09em;font-weight:800;margin-bottom:22px}
.hero-copy h1{font-size:clamp(46px,5.4vw,82px);line-height:1.01;letter-spacing:-.055em;margin:0 0 24px;color:#15334b}
.hero-copy h1 span{background:linear-gradient(105deg,var(--primary) 5%,var(--teal) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy p{font-size:18px;line-height:1.7;color:var(--muted);max-width:650px;margin:0 0 30px}
.feature-row{display:flex;gap:12px;flex-wrap:wrap}
.feature-pill{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.74);border:1px solid rgba(214,230,240,.9);backdrop-filter:blur(8px);padding:11px 15px;border-radius:14px;box-shadow:var(--shadow-sm)}
.feature-pill strong{font-size:18px;color:var(--primary-dark)}
.feature-pill span{font-size:12px;font-weight:700;color:var(--muted)}

.start-card{background:rgba(255,255,255,.94);border:1px solid rgba(221,235,244,.95);border-radius:30px;box-shadow:var(--shadow);padding:30px}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}
.card-label{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--teal)}
.card-head h2{font-size:22px;margin:5px 0 0;letter-spacing:-.02em}
.mini-clock{width:43px;height:43px;border-radius:14px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary)}
.mini-clock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.time-choice{position:relative;border:1.5px solid var(--line);background:#fff;border-radius:18px;min-height:112px;padding:18px 10px 14px;cursor:pointer;color:var(--text);transition:.2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center}
.time-choice:hover{transform:translateY(-2px);border-color:#b7dff7;box-shadow:0 8px 20px rgba(21,151,229,.09)}
.time-choice.selected{border-color:var(--primary);background:linear-gradient(180deg,#f2faff,#eaf7ff);box-shadow:inset 0 0 0 1px rgba(21,151,229,.1),0 8px 22px rgba(21,151,229,.12)}
.time-number{font-size:31px;font-weight:850;line-height:1;letter-spacing:-.04em}
.time-unit{font-size:12px;color:var(--muted);font-weight:700;margin-top:7px}
.time-choice.selected .time-number{color:var(--primary-dark)}
.recommend{position:absolute;top:-8px;padding:4px 8px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;letter-spacing:.04em;font-weight:800}
.start-note{display:flex;gap:10px;align-items:flex-start;margin:20px 0;color:var(--muted);font-size:13px;line-height:1.5}
.start-note svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--teal);stroke-width:1.8;stroke-linecap:round}
.primary-btn,.secondary-btn,.danger-btn{border:none;border-radius:15px;min-height:52px;padding:0 18px;font-weight:800;cursor:pointer;transition:.2s ease}
.primary-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(105deg,var(--primary),#21b7b0);color:#fff;box-shadow:0 12px 28px rgba(21,151,229,.22)}
.primary-btn:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(21,151,229,.28)}
.primary-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.secondary-btn{width:100%;margin-top:10px;background:#f3f7fa;color:#456176;border:1px solid #e0e9ef}
.secondary-btn:hover{background:#edf4f8}
.hidden{display:none!important}
.start-footer{display:flex;align-items:center;justify-content:center;gap:10px;color:#86a0b3;font-size:12px;padding-top:12px}
.start-footer strong{color:#4f6a7e}
.dot{width:4px;height:4px;border-radius:50%;background:#bed0dc}

/* Quiz */
.screen-quiz{padding-top:0}
.quiz-header{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.88);border:1px solid #e5eef4;border-radius:20px 20px 0 0;padding:0 22px;backdrop-filter:blur(12px)}
.quiz-brand{display:flex;align-items:center;gap:11px}
.brand-mark.small{width:40px;height:40px;border-radius:12px}
.brand-mark.small svg{width:25px;height:25px}
.quiz-brand strong{display:block;font-size:14px}
.header-stats{display:flex;align-items:center;gap:10px}
.stat-chip{display:flex;align-items:baseline;gap:8px;padding:9px 13px;border-radius:12px;background:#f5f9fc;border:1px solid #e8eff4}
.stat-chip .stat-label{font-size:11px;color:var(--muted);font-weight:700}
.stat-chip strong{font-size:14px}
.timer-chip{display:flex;gap:9px;align-items:center;padding:8px 13px;border-radius:12px;background:var(--primary-soft);border:1px solid #d6edfb;color:var(--primary-dark);min-width:116px}
.timer-chip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.timer-chip div{display:flex;flex-direction:column;line-height:1.05}
.timer-chip span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;opacity:.7}
.timer-chip strong{font-size:18px;letter-spacing:.02em;margin-top:4px}
.timer-chip.warning{background:#fff6df;border-color:#fbe6af;color:#a96800}
.timer-chip.danger{background:var(--danger-soft);border-color:#ffd7d9;color:#bd2d32;animation:pulse 1.15s infinite alternate}
@keyframes pulse{to{box-shadow:0 0 0 4px rgba(229,72,77,.07)}}
.submit-top{border:0;background:#17364e;color:#fff;border-radius:12px;padding:11px 17px;font-weight:800;cursor:pointer}
.progress-track{height:4px;background:#e8f0f5;overflow:hidden}
.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--teal));transition:width .25s ease}
.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;padding-top:18px;min-height:calc(100vh - 133px)}
.question-panel,.navigator-panel{background:rgba(255,255,255,.96);border:1px solid #e5eef4;border-radius:22px;box-shadow:var(--shadow-sm)}
.question-panel{padding:28px 34px;display:flex;flex-direction:column;min-height:620px}
.question-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}
.question-number{font-size:15px;font-weight:700;color:#728b9e}
.question-number strong{font-size:23px;color:#17364e;margin-left:4px}
.question-number span{font-size:13px;margin-left:2px}
.category-badge{padding:7px 11px;border-radius:999px;background:var(--teal-soft);color:#0c8379;font-size:11px;font-weight:800}
.category-badge.invest{background:#edf1ff;color:#5a64bd}
.question-text{font-size:clamp(19px,1.65vw,25px);line-height:1.52;letter-spacing:-.018em;margin:0 0 25px;color:#17364e;font-weight:760}
.options{display:grid;gap:12px}
.option-btn{width:100%;border:1.5px solid #e0eaf0;background:#fff;border-radius:16px;padding:15px 17px;display:grid;grid-template-columns:38px 1fr;gap:13px;align-items:center;text-align:left;cursor:pointer;color:#2c4c63;transition:.16s ease}
.option-btn:hover{border-color:#b8dff5;background:#fbfdff;transform:translateX(2px)}
.option-letter{width:38px;height:38px;border-radius:11px;background:#f2f7fa;color:#678197;display:grid;place-items:center;font-size:13px;font-weight:850;transition:.16s ease}
.option-text{font-size:15px;line-height:1.52;font-weight:560}
.option-btn.selected{border-color:var(--primary);background:linear-gradient(90deg,#f0f9ff 0%,#fbfeff 100%);box-shadow:inset 0 0 0 1px rgba(21,151,229,.07)}
.option-btn.selected .option-letter{background:var(--primary);color:#fff;box-shadow:0 5px 12px rgba(21,151,229,.23)}
.question-actions{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:30px}
.nav-btn{border:1px solid #e1eaf0;background:#fff;border-radius:13px;min-height:48px;padding:0 17px;display:flex;align-items:center;gap:8px;color:#537087;font-weight:800;cursor:pointer}
.nav-btn:hover:not(:disabled){border-color:#bfdcec;background:#f8fcff}
.nav-btn.next{background:#17364e;border-color:#17364e;color:#fff}
.nav-btn:disabled{opacity:.4;cursor:not-allowed}
.nav-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.navigator-panel{padding:21px;align-self:start;position:sticky;top:18px}
.navigator-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #edf2f5}
.navigator-head span{display:block;font-size:9px;letter-spacing:.11em;color:var(--teal);font-weight:850;margin-bottom:3px}
.navigator-head strong{font-size:14px}
.navigator-percent{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:850}
.legend{display:flex;gap:10px;flex-wrap:wrap;padding:13px 0 15px;color:#8aa0b0;font-size:9px;font-weight:700}
.legend span{display:flex;align-items:center;gap:4px}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;border:1px solid #d5e1e8;background:#fff}
.legend-dot.current{background:var(--primary);border-color:var(--primary)}
.legend-dot.done{background:var(--teal);border-color:var(--teal)}
.question-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.q-cell{aspect-ratio:1;border:1px solid #dee8ee;background:#fff;border-radius:9px;color:#698295;font-size:11px;font-weight:800;cursor:pointer;transition:.15s ease}
.q-cell:hover{border-color:#b5d8eb;background:#f7fbfe}
.q-cell.done{background:var(--teal-soft);border-color:#c3eee8;color:#0d8a7e}
.q-cell.current{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 5px 12px rgba(21,151,229,.23)}
.submit-side{width:100%;margin-top:18px;border:0;background:#17364e;color:#fff;border-radius:13px;min-height:48px;font-weight:800;cursor:pointer}

/* Result */
.screen-result{display:none;align-items:center;justify-content:center;padding:30px 0}
.screen-result.active{display:flex}
.result-card{width:min(690px,100%);background:rgba(255,255,255,.97);border:1px solid #e4edf4;border-radius:32px;box-shadow:var(--shadow);padding:38px 44px;text-align:center}
.result-icon{width:56px;height:56px;border-radius:18px;background:var(--success-soft);color:var(--success);display:grid;place-items:center;margin:0 auto 14px}
.result-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.result-kicker{font-size:10px;letter-spacing:.14em;font-weight:850;color:var(--teal)}
.result-card h1{font-size:31px;letter-spacing:-.035em;margin:7px 0 22px}
.score-ring{--score-angle:0deg;width:180px;height:180px;border-radius:50%;margin:0 auto 25px;background:conic-gradient(var(--primary) var(--score-angle),#eaf1f5 0);display:grid;place-items:center;position:relative;box-shadow:0 12px 30px rgba(21,151,229,.12)}
.score-ring::before{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}
.score-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.score-inner strong{font-size:50px;line-height:1;letter-spacing:-.055em;color:#17364e}
.score-inner span{font-size:11px;color:#8ba0af;font-weight:750;margin-top:7px}
.result-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:0 0 20px}
.result-stat{border:1px solid #e5edf3;background:#f9fcfe;border-radius:16px;padding:15px 10px}
.result-stat.success{background:var(--success-soft);border-color:#d5f0e3}
.result-stat-label{display:block;color:#879cac;font-size:10px;font-weight:750;margin-bottom:7px}
.result-stat strong{font-size:20px;letter-spacing:-.02em}
.result-stat strong small{font-size:11px;color:#8ca0ae;margin-left:2px}
.result-message{color:#72899a;font-size:14px;line-height:1.6;margin:0 auto 22px;max-width:500px}
.result-actions{display:grid;grid-template-columns:1.25fr .75fr;gap:10px}
.result-primary{min-height:52px}
.result-actions .secondary-btn{margin:0}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(10,34,51,.34);backdrop-filter:blur(5px);z-index:50;display:none;align-items:center;justify-content:center;padding:18px}
.modal-backdrop.open{display:flex}
.modal{width:min(430px,100%);background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(10,34,51,.25);padding:28px;text-align:center}
.modal-icon{width:48px;height:48px;border-radius:15px;background:#fff5dc;color:#b77300;display:grid;place-items:center;margin:0 auto 13px;font-weight:900;font-size:20px}
.modal h3{margin:0 0 9px;font-size:21px}
.modal p{margin:0 0 22px;color:#758b9b;font-size:13px;line-height:1.55}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.modal-actions .secondary-btn{margin:0}
.danger-btn{background:#17364e;color:#fff}

@media (max-width:1040px){
  .app-shell{padding:22px}
  .hero-grid{grid-template-columns:1fr 430px;gap:28px}
  .hero-copy{padding-left:10px}
  .hero-copy h1{font-size:clamp(44px,5.2vw,66px)}
  .quiz-layout{grid-template-columns:1fr 280px}
  .question-panel{padding:25px}
}

@media (max-width:820px){
  .app-shell{padding:14px}
  .screen{min-height:calc(100vh - 28px)}
  .brand-row{padding:3px 2px 14px}
  .hero-grid{grid-template-columns:1fr;gap:24px;min-height:0}
  .hero-copy{padding:20px 6px 0;text-align:center;margin:auto}
  .hero-copy h1{font-size:clamp(42px,12vw,64px)}
  .hero-copy p{font-size:16px;margin-inline:auto}
  .feature-row{justify-content:center}
  .start-card{max-width:540px;width:100%;margin:0 auto;padding:24px}
  .start-footer{padding:24px 0 5px;flex-wrap:wrap}

  .quiz-header{height:auto;min-height:70px;padding:12px 13px;border-radius:16px 16px 0 0;align-items:center}
  .quiz-brand .quiz-kicker{display:none}
  .quiz-brand strong{font-size:12px}
  .stat-chip{display:none}
  .submit-top{display:none}
  .timer-chip{min-width:103px;padding:7px 10px}
  .quiz-layout{grid-template-columns:1fr;gap:12px;min-height:0}
  .navigator-panel{order:-1;position:static;padding:15px;border-radius:16px}
  .navigator-head{padding-bottom:11px}
  .navigator-head strong{font-size:13px}
  .legend{display:none}
  .question-grid{grid-template-columns:repeat(10,1fr);gap:5px;margin-top:10px}
  .q-cell{border-radius:7px;font-size:9px}
  .submit-side{display:none}
  .question-panel{min-height:0;padding:20px;border-radius:16px}
  .question-text{font-size:19px;margin-bottom:18px}
  .option-btn{padding:12px;grid-template-columns:34px 1fr;gap:10px}
  .option-letter{width:34px;height:34px}
  .option-text{font-size:14px}
  .question-actions{padding-top:20px}
  .nav-btn{flex:1;justify-content:center;padding:0 10px;font-size:12px}

  .result-card{padding:28px 18px;border-radius:24px}
  .result-summary{gap:7px}
  .result-stat{padding:13px 5px}
  .result-stat strong{font-size:17px}
  .result-actions{grid-template-columns:1fr}
}

@media (max-width:520px){
  .app-shell{padding:10px}
  .brand-mark{width:42px;height:42px;border-radius:13px}
  .brand-name{font-size:15px}
  .brand-kicker{font-size:9px}
  .hero-copy{padding-top:8px}
  .eyebrow{font-size:9px;margin-bottom:15px}
  .hero-copy h1{font-size:42px;margin-bottom:18px}
  .hero-copy p{font-size:14px;line-height:1.6}
  .feature-pill{padding:9px 11px;box-shadow:none}
  .feature-pill strong{font-size:15px}.feature-pill span{font-size:10px}
  .start-card{padding:20px 15px;border-radius:22px}
  .time-options{gap:7px}
  .time-choice{min-height:96px;border-radius:14px;padding:15px 5px 10px}
  .time-number{font-size:27px}
  .question-grid{grid-template-columns:repeat(10,1fr);gap:4px}
  .quiz-brand{gap:7px}
  .brand-mark.small{width:34px;height:34px}
  .quiz-brand strong{font-size:11px;max-width:135px}
  .timer-chip{min-width:96px}
  .timer-chip strong{font-size:16px}
  .question-meta{margin-bottom:15px}
  .question-number strong{font-size:20px}
  .category-badge{font-size:9px}
  .result-summary{grid-template-columns:1fr 1fr}
  .result-stat:last-child{grid-column:1/-1}
  .score-ring{width:158px;height:158px}
  .score-inner strong{font-size:44px}
}

/* ===== V2: Chế độ Ôn luyện ===== */
.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.mode-choice{border:1.5px solid var(--line);background:#fff;border-radius:16px;min-height:78px;padding:13px 12px;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;text-align:left;color:var(--text);cursor:pointer;transition:.2s ease}
.mode-choice:hover{transform:translateY(-1px);border-color:#b7dff7;background:#fbfdff}
.mode-choice.selected{border-color:var(--primary);background:linear-gradient(135deg,#f1f9ff,#f5fffd);box-shadow:inset 0 0 0 1px rgba(21,151,229,.08)}
.mode-icon{width:36px;height:36px;border-radius:11px;background:#f1f6f9;color:#6b8496;display:grid;place-items:center;font-weight:900;font-size:18px}
.mode-choice.selected .mode-icon{background:linear-gradient(145deg,var(--primary),var(--teal));color:#fff;box-shadow:0 6px 15px rgba(21,151,229,.18)}
.mode-choice strong{display:block;font-size:13px;margin-bottom:4px}
.mode-choice small{display:block;color:var(--muted);font-size:10px;line-height:1.4;font-weight:650}
.setup-subtitle{font-size:11px;font-weight:800;color:#698294;margin:0 0 10px 2px}
.time-section{animation:fadeIn .18s ease}
.practice-info{border:1px solid #cdeee6;background:linear-gradient(135deg,#f1fcf8,#f2faff);border-radius:16px;padding:15px 16px;margin-bottom:3px;animation:fadeIn .18s ease}
.practice-info strong{display:block;color:#0b8177;font-size:13px;margin-bottom:5px}
.practice-info span{display:block;color:#688193;font-size:11px;line-height:1.55;font-weight:600}
@keyframes fadeIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

.practice-chip{display:flex;flex-direction:column;justify-content:center;padding:8px 13px;border-radius:12px;background:var(--teal-soft);border:1px solid #c9efe9;color:#0b8177;min-width:142px}
.practice-chip span{font-size:9px;letter-spacing:.08em;font-weight:850;opacity:.72}
.practice-chip strong{font-size:12px;margin-top:4px}

.option-btn:disabled{cursor:default;opacity:1}
.option-btn:disabled:hover{transform:none}
.option-btn.correct,.option-btn.correct.selected{border-color:#65c89c;background:linear-gradient(90deg,#edf9f3,#fbfffd);box-shadow:inset 0 0 0 1px rgba(34,160,107,.08)}
.option-btn.correct .option-letter,.option-btn.correct.selected .option-letter{background:var(--success);color:#fff;box-shadow:0 5px 12px rgba(34,160,107,.18)}
.option-btn.wrong,.option-btn.wrong.selected{border-color:#ef9b9e;background:linear-gradient(90deg,#fff1f1,#fffafa);box-shadow:inset 0 0 0 1px rgba(229,72,77,.06)}
.option-btn.wrong .option-letter,.option-btn.wrong.selected .option-letter{background:var(--danger);color:#fff;box-shadow:0 5px 12px rgba(229,72,77,.16)}

.practice-feedback{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;margin-top:16px;padding:15px 16px;border-radius:16px;border:1px solid #dcebf2;background:#f8fcfe}
.practice-feedback.success{background:var(--success-soft);border-color:#cfeada}
.practice-feedback.error{background:var(--danger-soft);border-color:#ffd4d5}
.feedback-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:22px;background:#fff;color:var(--text);box-shadow:0 5px 15px rgba(40,88,125,.07)}
.practice-feedback.success .feedback-icon{color:var(--success)}
.practice-feedback.error .feedback-icon{color:var(--danger)}
.practice-feedback strong{display:block;font-size:14px;margin:2px 0 4px}
.practice-feedback.success strong{color:#117b54}
.practice-feedback.error strong{color:#b5363a}
.practice-feedback p{margin:0;color:#49667a;font-size:13px;line-height:1.55;font-weight:650}
.feedback-source{display:block;margin-top:7px;color:#78909f;font-size:10px;line-height:1.45;font-weight:600}

.q-cell.correct{background:var(--success-soft);border-color:#bde6d0;color:#16835a}
.q-cell.wrong{background:var(--danger-soft);border-color:#f6c4c6;color:#c43c41}
.q-cell.correct.current,.q-cell.wrong.current{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 5px 12px rgba(21,151,229,.23)}

@media (max-width:820px){
  .mode-options{margin-bottom:16px}
  .mode-choice{min-height:72px;padding:11px 10px;grid-template-columns:32px 1fr}
  .mode-icon{width:32px;height:32px;border-radius:10px}
  .practice-chip{min-width:122px;padding:7px 9px}
  .practice-chip strong{font-size:10px}
  .practice-feedback{grid-template-columns:36px 1fr;padding:13px;gap:10px}
  .feedback-icon{width:36px;height:36px;border-radius:10px;font-size:19px}
}

@media (max-width:520px){
  .mode-options{grid-template-columns:1fr;gap:7px}
  .mode-choice{min-height:64px}
  .mode-choice small{font-size:9px}
  .practice-chip{min-width:auto}
  .practice-chip span{font-size:8px}.practice-chip strong{font-size:9px}
  .practice-feedback p{font-size:12px}
}
.legend-dot.correct{background:var(--success);border-color:var(--success)}
.legend-dot.wrong{background:var(--danger);border-color:var(--danger)}
