/* ── FLASHCARDS MODULE ────────────────────────────────────── */
  #page-flashcards.active { display: flex; flex-direction: column; align-items: center; }
  #page-flashcards .fc-header { width: 100%; max-width: 720px; margin-bottom: 24px; }
  #page-flashcards h1 { font-size: 1.4rem; font-weight: 700; color: #f8fafc; letter-spacing: -0.02em; }
  #page-flashcards h1 span { color: #6366f1; }
  #page-flashcards .fc-controls { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
  #page-flashcards .btn-filter { padding: 6px 14px; border-radius: 20px; border: 1.5px solid #334155; background: transparent; color: #94a3b8; font-size: 0.82rem; cursor: pointer; transition: all 0.15s; }
  #page-flashcards .btn-filter:hover { border-color: #6366f1; color: #c7d2fe; }
  #page-flashcards .btn-filter.active { background: #6366f1; border-color: #6366f1; color: #fff; }
  #page-flashcards .fc-btn-shuffle { padding: 6px 14px; border-radius: 20px; border: 1.5px solid #334155; background: transparent; color: #94a3b8; font-size: 0.82rem; cursor: pointer; transition: all 0.15s; margin-left: auto; }
  #page-flashcards .fc-btn-shuffle:hover { border-color: #38bdf8; color: #7dd3fc; }
  #page-flashcards .fc-btn-missed { padding: 6px 14px; border-radius: 20px; border: 1.5px solid #7f1d1d; background: transparent; color: #f87171; font-size: 0.82rem; cursor: pointer; transition: all 0.15s; opacity: 0.35; }
  #page-flashcards .fc-btn-missed:disabled { cursor: default; }
  #page-flashcards .fc-btn-missed.has-missed { opacity: 1; }
  #page-flashcards .fc-btn-missed.has-missed:hover { background: #450a0a; }
  #page-flashcards .fc-progress-wrap { width: 100%; max-width: 720px; margin-bottom: 20px; }
  #page-flashcards .fc-progress-meta { display: flex; justify-content: space-between; font-size: 0.8rem; color: #64748b; margin-bottom: 6px; }
  #page-flashcards .fc-progress-bar-bg { height: 4px; background: #1e293b; border-radius: 2px; overflow: hidden; }
  #page-flashcards .fc-progress-bar-fill { height: 100%; background: linear-gradient(90deg, #6366f1, #818cf8); border-radius: 2px; transition: width 0.3s ease; }
  #page-flashcards .fc-score-row { display: flex; gap: 16px; font-size: 0.82rem; margin-top: 8px; }
  #page-flashcards .fc-score-yes { color: #4ade80; }
  #page-flashcards .fc-score-no  { color: #f87171; }
  #page-flashcards .fc-card-wrap { width: 100%; max-width: 720px; perspective: 1000px; margin-bottom: 20px; }
  #page-flashcards .fc-card { width: 100%; min-height: 260px; border-radius: 16px; background: #1e293b; border: 1.5px solid #334155; padding: 36px 40px; cursor: pointer; transition: border-color 0.2s, transform 0.15s; position: relative; user-select: none; }

  /* ─── MOBILE: Flashcards polish ─────────────────────────────────────── */
  @media (max-width: 640px) {
    #page-flashcards .fc-card { padding: 24px 20px; min-height: 220px; }
    #page-flashcards .fc-term { font-size: 18px; }
    #page-flashcards .fc-definition { font-size: 14px; line-height: 1.55; }
    #page-flashcards .fc-card-num { top: 12px; right: 14px; font-size: 0.7rem; }
    #page-flashcards .fc-controls { gap: 6px; }
    #page-flashcards .btn-filter, #page-flashcards .fc-btn-shuffle,
    #page-flashcards .fc-btn-missed { flex: 1; min-width: calc(50% - 4px); font-size: 12px; padding: 10px 8px; }
    #page-flashcards .fc-progress-meta { font-size: 0.75rem; }
    #page-flashcards .fc-result-stats { flex-direction: column; gap: 12px; }
    #page-flashcards .fc-result-stats > * { width: 100%; }
    #page-flashcards .fc-answer-btns { flex-direction: column; gap: 10px; }
    #page-flashcards .fc-btn-yes, #page-flashcards .fc-btn-no { width: 100%; }
  }
  #page-flashcards .fc-card:hover { border-color: #6366f1; transform: translateY(-2px); }
  #page-flashcards .fc-card.revealed { cursor: default; border-color: #4f46e5; }
  #page-flashcards .fc-card.revealed:hover { transform: none; }
  #page-flashcards .fc-badge { display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; padding: 3px 8px; border-radius: 10px; margin-bottom: 20px; text-transform: uppercase; }
  #page-flashcards .fc-badge-HIGH { background: #4f1818; color: #f87171; }
  #page-flashcards .fc-badge-MED  { background: #1c2a1a; color: #4ade80; }
  #page-flashcards .fc-card-num { position: absolute; top: 16px; right: 20px; font-size: 0.75rem; color: #475569; }
  #page-flashcards .fc-term { font-size: 1.6rem; font-weight: 700; color: #f1f5f9; line-height: 1.3; margin-bottom: 6px; }
  #page-flashcards .fc-hint { font-size: 0.82rem; color: #475569; margin-top: 16px; }
  #page-flashcards .fc-definition { display: none; margin-top: 24px; padding-top: 24px; border-top: 1px solid #334155; font-size: 0.95rem; color: #cbd5e1; line-height: 1.7; animation: fadeIn 0.25s ease; }
  #page-flashcards .fc-definition.show { display: block; }
  @keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
  #page-flashcards .fc-answer-btns { display: none; gap: 12px; width: 100%; max-width: 720px; margin-bottom: 20px; }
  #page-flashcards .fc-answer-btns.show { display: flex; }
  #page-flashcards .fc-btn-yes, #page-flashcards .fc-btn-no { flex: 1; padding: 14px; border-radius: 12px; border: none; font-size: 1rem; font-weight: 700; cursor: pointer; transition: all 0.15s; }
  #page-flashcards .fc-btn-yes { background: #14532d; color: #4ade80; border: 1.5px solid #166534; }
  #page-flashcards .fc-btn-yes:hover { background: #166534; }
  #page-flashcards .fc-btn-no { background: #450a0a; color: #f87171; border: 1.5px solid #7f1d1d; }
  #page-flashcards .fc-btn-no:hover { background: #7f1d1d; }
  #page-flashcards .fc-result-screen { display: none; width: 100%; max-width: 720px; background: #1e293b; border: 1.5px solid #334155; border-radius: 16px; padding: 40px; text-align: center; }
  #page-flashcards .fc-result-screen.show { display: block; }
  #page-flashcards .fc-result-title { font-size: 1.6rem; font-weight: 700; margin-bottom: 8px; }
  #page-flashcards .fc-result-sub { color: #64748b; font-size: 0.9rem; margin-bottom: 32px; }
  #page-flashcards .fc-result-stats { display: flex; justify-content: center; gap: 40px; margin-bottom: 32px; }
  #page-flashcards .fc-stat-box { text-align: center; }
  #page-flashcards .fc-stat-num { font-size: 2.8rem; font-weight: 800; }
  #page-flashcards .fc-stat-yes .fc-stat-num { color: #4ade80; }
  #page-flashcards .fc-stat-no  .fc-stat-num { color: #f87171; }
  #page-flashcards .fc-stat-label { font-size: 0.8rem; color: #64748b; margin-top: 4px; }
  #page-flashcards .fc-btn-restart { padding: 12px 32px; background: #6366f1; color: #fff; border: none; border-radius: 10px; font-size: 1rem; font-weight: 700; cursor: pointer; transition: background 0.15s; }
  #page-flashcards .fc-btn-restart:hover { background: #4f46e5; }
  #page-flashcards .fc-btn-restart.ghost { background: #1e293b; border: 1.5px solid #334155; color: #94a3b8; }
  #page-flashcards .fc-missed-list { text-align: left; margin-top: 28px; border-top: 1px solid #334155; padding-top: 20px; }
  #page-flashcards .fc-missed-list h3 { font-size: 0.85rem; color: #64748b; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.06em; }
  #page-flashcards .fc-missed-item { background: #0f1117; border-radius: 8px; padding: 10px 14px; margin-bottom: 8px; font-size: 0.85rem; }
  #page-flashcards .fc-missed-term { font-weight: 700; color: #f87171; margin-bottom: 4px; }
  #page-flashcards .fc-missed-def  { color: #94a3b8; line-height: 1.5; }
