/* ECG Lab — Tutor IA + CaseCoach typography refinement.
   Keeps the existing visual language while improving reading rhythm, hierarchy,
   density and accessibility inside the two most text-heavy learning surfaces. */

.ft2-panel,
.case-layout,
.case-reasoning-tool{
  font-family:var(--font-body,"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Floating AI Tutor ------------------------------------------------------- */
.ft2-head strong{
  font-family:var(--font-heading,var(--font-body));
  font-size:16px!important;
  font-weight:var(--fw-semibold,600)!important;
  line-height:1.25;
  letter-spacing:-.012em!important;
}
.ft2-head small{
  font-size:11px!important;
  line-height:1.4;
  letter-spacing:0!important;
}
.ft2-controls label{
  font-size:11.5px!important;
  font-weight:var(--fw-semibold,600)!important;
  line-height:1.35;
}
.ft2-actions button{
  font-size:12px!important;
  font-weight:var(--fw-semibold,600)!important;
  line-height:1.25;
  letter-spacing:0!important;
}
.ft2-msg{
  font-family:var(--font-body)!important;
  font-size:14px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.62!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere;
  text-wrap:pretty;
}
.ft2-msg>div{
  min-width:0;
}
.ft2-msg small{
  margin-top:6px!important;
  font-size:10px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.35;
  letter-spacing:0!important;
  font-variant-numeric:tabular-nums;
}
.ft2-msg.thinking em{
  font-family:var(--font-body)!important;
  font-size:11px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.4;
}
.ft2-compose textarea{
  font-family:var(--font-body)!important;
  font-size:14px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}
.ft2-compose textarea::placeholder{
  color:var(--muted);
  opacity:.86;
}
.ft2-privacy{
  font-size:10px!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}
.ft2-history-head strong{
  font-family:var(--font-heading,var(--font-body));
  font-size:15px;
  font-weight:var(--fw-semibold,600);
  line-height:1.3;
  letter-spacing:-.01em;
}
.ft2-history-list>button strong{
  font-size:13px;
  font-weight:var(--fw-semibold,600);
  line-height:1.35;
  letter-spacing:-.005em;
}
.ft2-history-list>button small{
  font-size:10px!important;
  line-height:1.35;
}
.ft2-locked h3{
  font-family:var(--font-heading,var(--font-body));
  font-size:18px;
  font-weight:var(--fw-semibold,600);
  line-height:1.3;
  letter-spacing:-.012em;
}
.ft2-locked p{
  font-size:14px!important;
  line-height:1.6!important;
}
.ft2-locked small{
  font-size:11px!important;
  line-height:1.4;
}

/* Study case + CaseCoach -------------------------------------------------- */
.clinical-case-card h4{
  font-family:var(--font-heading,var(--font-body));
  font-size:15px!important;
  font-weight:var(--fw-semibold,600)!important;
  line-height:1.32;
  letter-spacing:-.01em!important;
}
.clinical-case-card p{
  font-size:13px!important;
  line-height:1.55!important;
}
.case-ecg-head strong{
  font-size:14px;
  font-weight:var(--fw-semibold,600);
  line-height:1.3;
}
.case-ecg-head small{
  font-size:11px!important;
  line-height:1.35;
}
.case-info-grid small{
  font-size:11px!important;
  font-weight:var(--fw-semibold,600)!important;
  line-height:1.35;
  letter-spacing:.035em!important;
}
.case-info-grid p{
  font-size:15px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.6!important;
  letter-spacing:0!important;
}
.case-question>p,
.case-answer>p{
  font-size:15px!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
.case-answer h4{
  font-family:var(--font-heading,var(--font-body));
  font-size:18px!important;
  font-weight:var(--fw-semibold,600)!important;
  line-height:1.3;
  letter-spacing:-.012em!important;
}
.case-trap strong,
.case-pearl strong{
  font-family:var(--font-heading,var(--font-body));
  font-size:13px;
  font-weight:var(--fw-semibold,600);
  line-height:1.35;
  letter-spacing:-.006em;
}
.case-trap p,
.case-pearl p{
  font-size:13px!important;
  line-height:1.58!important;
  letter-spacing:0!important;
}

.case-reasoning-tool>p{
  font-size:14px!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
.case-reasoning-input{
  font-family:var(--font-body)!important;
  font-size:14px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
.case-reasoning-input::placeholder{
  color:var(--muted);
  opacity:.84;
}
.case-ai-privacy{
  font-size:10.5px!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}
.case-ai-status{
  font-size:12px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}
.case-ai-score span{
  font-family:var(--font-body)!important;
  font-size:28px!important;
  font-weight:var(--fw-extrabold,800)!important;
  line-height:1;
  letter-spacing:-.025em!important;
  font-variant-numeric:tabular-nums lining-nums;
}
.case-ai-score small{
  font-size:11px!important;
  line-height:1.2;
  font-variant-numeric:tabular-nums lining-nums;
}
.case-ai-score strong{
  font-family:var(--font-heading,var(--font-body));
  font-size:15px!important;
  font-weight:var(--fw-semibold,600)!important;
  line-height:1.3!important;
  letter-spacing:-.012em!important;
}
.case-ai-score p{
  font-size:13.5px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.58!important;
  letter-spacing:0!important;
}
.case-ai-feedback h5{
  font-family:var(--font-heading,var(--font-body));
  font-size:13px!important;
  font-weight:var(--fw-semibold,600)!important;
  line-height:1.35!important;
  letter-spacing:-.008em!important;
}
.case-ai-feedback ul,
.case-ai-feedback ol{
  font-family:var(--font-body)!important;
  font-size:13.5px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
.case-ai-feedback li+li{
  margin-top:5px!important;
}
.case-ai-model-answer p{
  font-family:var(--font-body)!important;
  font-size:13.5px!important;
  font-weight:var(--fw-regular,400)!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}

@media(max-width:768px){
  .ft2-head strong{font-size:15px!important}
  .ft2-head small{font-size:10.5px!important}
  .ft2-msg{font-size:14px!important;line-height:1.6!important}
  .ft2-actions button{font-size:11.5px!important}
  .ft2-compose textarea{font-size:14px!important}

  .clinical-case-card h4{font-size:15px!important}
  .clinical-case-card p{font-size:13px!important}
  .case-info-grid p,
  .case-question>p,
  .case-answer>p{font-size:14px!important;line-height:1.6!important}
  .case-reasoning-tool>p,
  .case-reasoning-input{font-size:14px!important}
  .case-ai-score strong{font-size:14.5px!important}
  .case-ai-score p,
  .case-ai-feedback ul,
  .case-ai-feedback ol,
  .case-ai-model-answer p{font-size:13px!important;line-height:1.6!important}
  .case-ai-feedback h5{font-size:12.5px!important}
}
