/* Recognition tuning section. Shares .pp-* helpers with rules.css; colors
 * come from the shared theme variables, so the section follows the
 * light/dark switch like the rest of the SC surface. */

/* Step headings ("1. Pick a recent request") and their one-line hint. */
.tn-title {
    color: var(--text-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
}

.tn-hint {
    font-size: 12px;
    line-height: 16px;
}

/* "Speech model" / "Text processing" inside the settings panel. */
.tn-group {
    color: var(--text-muted);
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--border-color);
    padding: 8px 0 2px 0;
}

.tn-legend {
    margin: 0 0 8px 0;
    font-size: 12px;
}

.tn-block {
    margin: 0 0 10px 0;
}

.tn-block audio {
    width: 100%;
    max-width: 520px;
}

.tn-text {
    color: var(--text-primary);
    line-height: 1.6;
    white-space: pre-wrap;
}

.tn-score {
    color: var(--text-muted);
    font-size: 12px;
}

/* One re-run, newest on top. */
.tn-run {
    border: 1px solid var(--border-color);
    border-radius: 3px;
    background: var(--bg-secondary);
    padding: 8px 10px;
    margin: 0 0 10px 0;
}

/* Word alignment against the reference: the reference word that is wrong
 * or missing, the word the result has instead, and a matching word whose
 * capitalisation or punctuation differs. */
.tn-del {
    color: var(--accent-danger);
    text-decoration: line-through;
    margin-right: 4px;
}

.tn-ins {
    color: var(--accent-success);
    text-decoration: none;
    font-weight: 600;
}

.tn-warn {
    color: var(--accent-warning);
    border-bottom: 1px dotted var(--accent-warning);
    cursor: help;
}

.tn-ok {
    color: var(--accent-success);
}

.tn-error {
    color: var(--accent-danger);
    white-space: pre-wrap;
}
