/* TEF Canada practice (tef.js). Report cards reuse CELPIP's cp-* styles; the live stage reuses speaking-live.css. */
.tef-task{margin:4px 0 6px;font-size:16px;line-height:1.55;color:var(--espresso)}
.tef-help{margin:0 0 14px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.tef-article{padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--terracotta);border-radius:12px;background:#fff}
.tef-article small,.tef-doc small{font:800 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta-dark)}
.tef-article h5{margin:4px 0 8px;font:700 20px/1.25 var(--serif);color:var(--espresso)}
.tef-article p{margin:0;font-size:16px;line-height:1.7;color:var(--brown)}
.tef-quote{margin:0;padding:20px 22px;border-radius:14px;background:#f6ece0}
.tef-quote p{margin:0 0 8px;font:700 20px/1.35 var(--serif);color:var(--espresso)}
.tef-quote cite{font-style:normal;font-size:14px;color:var(--muted)}
.tef-accents{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.tef-accents button{min-width:38px;min-height:38px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:#fffaf2;font:700 16px var(--sans);color:var(--espresso);cursor:pointer}
.tef-accents button:hover{border-color:var(--terracotta);background:#fff}
/* Speaking intro */
.live-intro.tef-intro{text-align:center}
.tef-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;text-align:left}
.tef-sec{display:grid;gap:10px;align-content:start;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fffdf8}
.tef-sec>p{margin:0;font-size:14.5px;line-height:1.55;color:var(--brown)}
.tef-sec-head{display:flex;align-items:center;gap:12px}
.tef-sec-head b{display:block;font:700 17px var(--serif);color:var(--espresso)}
.tef-sec-head small{font-size:13px;color:var(--muted)}
.tef-badge{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--espresso);color:#fff;font:700 16px var(--serif)}
.tef-sec-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tef-doc{padding:14px 16px;border-radius:14px;background:#fff;border:1px dashed #d9b79c}
.tef-doc.flyer{border-style:solid;background:#fbf3e9}
.tef-doc h5{margin:4px 0 6px;font:700 18px/1.25 var(--serif);color:var(--espresso)}
.tef-doc ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.6;color:var(--brown)}
.tef-goal{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);font-weight:700;color:var(--terracotta-dark)}
/* Live stage */
.tef-stage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start;margin-top:14px;text-align:left}
.tef-stage-live{display:grid;justify-items:center;text-align:center}
.tef-stage-task{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted)}
/* Report */
.tef-sec-notes{display:grid;gap:8px;margin:12px 0}
.tef-sec-notes>div{display:flex;gap:10px;align-items:flex-start}
.tef-sec-notes p{margin:4px 0 0;line-height:1.5;color:var(--brown)}
.tef-better{display:grid;gap:10px}
.tef-better>div{padding:12px 14px;border-radius:12px;background:var(--cream)}
.tef-better small{font-weight:800;color:var(--espresso)}
.tef-better .was{margin:6px 0;color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(113,95,83,.4)}
.tef-better .now{margin:0;color:var(--espresso);font-weight:600}
.tef-phrases{margin:0;padding-left:18px;line-height:1.7;color:var(--espresso)}
@media (max-width:760px){
  .tef-sections,.tef-stage-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .tef-article,.tef-quote,.tef-sec{padding:14px}
  .tef-article h5,.tef-quote p{font-size:18px}
  .tef-accents button{min-width:36px;min-height:40px}
  .tef-sec-actions{flex-direction:column;align-items:stretch}
  .tef-sec-actions>*{justify-content:center;white-space:nowrap}
}
/* Compréhension écrite (tef-reading.js); questions reuse CELPIP Reading's cr-* styles */
.tr-clock{margin:0 0 12px}
.tr-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;padding-top:16px;border-top:1px solid var(--line)}
.tr-item:first-of-type{border-top:0;padding-top:0}
.tr-doc{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.tr-doc small{font:800 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta-dark)}
.tr-doc h5{margin:4px 0 8px;font:700 18px/1.3 var(--serif);color:var(--espresso)}
.tr-doc p{margin:0 0 10px;font-size:16px;line-height:1.65;color:var(--espresso)}
.tr-doc p:last-child{margin-bottom:0}
.tr-doc ul{margin:0;padding-left:18px;font-size:16px;line-height:1.65;color:var(--espresso)}
.tr-qs{display:grid;gap:12px}
.cr-steps em.tr-range{color:var(--muted);font-weight:700}
@media (max-width:900px){.tr-item{grid-template-columns:1fr}}
@media (max-width:600px){.tr-doc{padding:14px}.tr-doc p,.tr-doc ul{font-size:15.5px}}
