/* ─── LessIT · Flashcards & Quiz System ─── */

/* ══ Mode Toggle ══ */
.review-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--r3);overflow:hidden;margin-bottom:2rem;max-width:320px}
.review-toggle__btn{flex:1;padding:.6rem 1rem;font-size:.85rem;font-weight:600;border:none;background:var(--bg-2);color:var(--t3);cursor:pointer;transition:all .2s;font-family:var(--ff)}
.review-toggle__btn--active{background:var(--blue);color:#fff}
.review-toggle__btn:hover:not(.review-toggle__btn--active){background:var(--bg-3);color:var(--t1)}

/* ══ Flashcard Deck ══ */
.fc-deck{display:none}
.fc-deck--active{display:block}
.fc-progress{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.85rem;color:var(--t3)}
.fc-progress__bar{flex:1;height:6px;background:var(--bg-2);border-radius:3px;overflow:hidden}
.fc-progress__fill{height:100%;background:var(--blue);border-radius:3px;transition:width .3s}
.fc-counter{font-weight:600;color:var(--t2);min-width:48px;text-align:right}

.fc-card{position:relative;min-height:260px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r4);cursor:pointer;perspective:1000px;margin-bottom:1.5rem;user-select:none}
.fc-card__inner{position:relative;width:100%;min-height:260px;transition:transform .5s;transform-style:preserve-3d}
.fc-card--flipped .fc-card__inner{transform:rotateY(180deg)}
.fc-card__face{position:absolute;inset:0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 2.5rem;border-radius:var(--r4);text-align:center}
.fc-card__front{background:var(--bg-2)}
.fc-card__back{background:var(--bg-2);transform:rotateY(180deg)}
.fc-card__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--t4);margin-bottom:.75rem}
.fc-card__text{font-size:1.15rem;color:var(--t1);line-height:1.6;font-weight:500}
.fc-card__back .fc-card__text{font-size:1rem;color:var(--t2);font-weight:400}
.fc-card__hint{font-size:.78rem;color:var(--t4);margin-top:auto;padding-top:1rem}
.fc-card__category{position:absolute;top:1rem;right:1rem;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--r5);background:var(--blue-a);color:var(--blue)}

.fc-nav{display:flex;justify-content:center;gap:.75rem;margin-bottom:1rem}
.fc-nav__btn{padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;border:1px solid var(--border);border-radius:var(--r3);background:var(--bg-2);color:var(--t2);cursor:pointer;transition:all .15s;font-family:var(--ff)}
.fc-nav__btn:hover{background:var(--bg-3);color:var(--t1);border-color:var(--blue)}
.fc-nav__btn:disabled{opacity:.4;cursor:not-allowed}
.fc-nav__btn--shuffle{border-color:var(--purple);color:var(--purple)}
.fc-nav__btn--shuffle:hover{background:rgba(168,85,247,.1)}

/* ══ Quiz Section ══ */
.quiz-section{display:none}
.quiz-section--active{display:block}
.quiz-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}
.quiz-timer{font-size:.85rem;color:var(--t3);font-weight:600;font-variant-numeric:tabular-nums}

.quiz-q{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r3);padding:1.5rem;margin-bottom:1.25rem;transition:border-color .2s}
.quiz-q--answered{pointer-events:none}
.quiz-q__num{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--t4);margin-bottom:.5rem}
.quiz-q__text{font-size:1rem;color:var(--t1);line-height:1.6;margin-bottom:1rem;font-weight:500}
.quiz-q__options{display:flex;flex-direction:column;gap:.5rem}
.quiz-opt{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem 1rem;border:1px solid var(--border);border-radius:var(--r2);cursor:pointer;transition:all .15s;font-size:.9rem;color:var(--t2);line-height:1.5}
.quiz-opt:hover{border-color:var(--blue);background:var(--blue-a)}
.quiz-opt__marker{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;transition:all .2s;margin-top:1px}
.quiz-opt--selected{border-color:var(--blue);background:var(--blue-a)}
.quiz-opt--selected .quiz-opt__marker{border-color:var(--blue);background:var(--blue);color:#fff}
.quiz-opt--correct{border-color:var(--green)!important;background:var(--green-a)!important}
.quiz-opt--correct .quiz-opt__marker{border-color:var(--green)!important;background:var(--green)!important;color:#fff!important}
.quiz-opt--wrong{border-color:var(--red)!important;background:var(--red-a)!important}
.quiz-opt--wrong .quiz-opt__marker{border-color:var(--red)!important;background:var(--red)!important;color:#fff!important}
.quiz-q__explain{display:none;margin-top:.75rem;padding:.75rem 1rem;border-left:3px solid var(--blue);background:var(--blue-a);border-radius:0 var(--r2) var(--r2) 0;font-size:.85rem;color:var(--t2);line-height:1.6}
.quiz-q__explain--visible{display:block}

.quiz-submit{display:flex;justify-content:center;margin:2rem 0}
.quiz-submit__btn{padding:.7rem 2rem;font-size:.95rem;font-weight:600;border:none;border-radius:var(--r3);background:var(--blue);color:#fff;cursor:pointer;transition:all .2s;font-family:var(--ff)}
.quiz-submit__btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.quiz-submit__btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ══ Report Card ══ */
.report{display:none;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r4);padding:2rem;margin-top:2rem}
.report--visible{display:block}
.report__header{text-align:center;margin-bottom:2rem}
.report__score-box{display:inline-block;padding:1.5rem 2.5rem;border:3px solid var(--blue);border-radius:var(--r4);margin-bottom:1rem}
.report__score-num{font-size:3.5rem;font-weight:800;line-height:1;color:var(--blue);font-variant-numeric:tabular-nums}
.report__score-pct{font-size:1.5rem;font-weight:600}
.report__score-frac{font-size:.85rem;color:var(--t3);margin-top:.25rem}
.report__grade{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}
.report__grade--a{color:var(--green)}
.report__grade--b{color:var(--blue)}
.report__grade--c{color:var(--orange)}
.report__grade--f{color:var(--red)}
.report__summary{font-size:.9rem;color:var(--t3)}

.report__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}
.report__stat{text-align:center;padding:1rem;background:var(--bg-1);border-radius:var(--r3);border:1px solid var(--border)}
.report__stat-val{font-size:1.5rem;font-weight:700;color:var(--t1)}
.report__stat-label{font-size:.75rem;color:var(--t3);margin-top:.25rem}

.report__categories{margin-bottom:2rem}
.report__cat{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border)}
.report__cat-name{flex:1;font-size:.85rem;color:var(--t2)}
.report__cat-bar{flex:0 0 100px;height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden}
.report__cat-fill{height:100%;border-radius:3px}
.report__cat-pct{font-size:.8rem;font-weight:600;min-width:36px;text-align:right}

.report__improve{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r3);padding:1.5rem}
.report__improve h4{font-size:.95rem;color:var(--t1);margin-bottom:.75rem}
.report__improve ul{padding-left:1.25rem;color:var(--t2);font-size:.85rem;line-height:1.8}
.report__improve a{color:var(--blue);text-decoration:none}
.report__improve a:hover{text-decoration:underline}

.report__actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}

/* ══ Responsive ══ */
@media(max-width:640px){
  .fc-card{min-height:220px}
  .fc-card__inner{min-height:220px}
  .fc-card__text{font-size:1rem}
  .report__stats{grid-template-columns:repeat(2,1fr)}
}
