/* Free speaking */
.fs-topics { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; margin: 10px 0 14px; }
.fs-topic { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; text-align: left; padding: 10px 12px; }
.fs-topic small { color: var(--muted); font-weight: 400; }
.fs-topic[aria-pressed="true"] { border-color: var(--primary); background: var(--primary-soft); }
.fs-stage .tr-vi { font-size: 1.25em; }
.fs-phase { font-weight: 600; }
.fs-tips { color: var(--muted); font-size: .9em; padding-left: 20px; }
.fs-transcript { line-height: 1.9; }
.fs-filler { background: var(--warn-soft); color: var(--warn-text); border-radius: 4px; padding: 0 3px; }
.fs-pause { font-size: .8em; color: var(--danger-text); background: var(--danger-soft); border-radius: 4px; padding: 0 4px; white-space: nowrap; }
.fs-words .cv-link { margin-right: 8px; }
