/* Text to Speech — tool-specific styles */
.tts-text { width: 100%; background: var(--bg-soft); border: 1px solid var(--line); color: var(--text);
  padding: 16px 18px; border-radius: var(--radius-sm); font-size: 1.05rem; font-family: inherit; resize: vertical;
  line-height: 1.6; }
.tts-text:focus { outline: none; border-color: var(--accent); box-shadow: var(--ring); }

.tts-highlight { background: var(--bg-soft); border: 1px solid var(--accent); border-radius: var(--radius-sm);
  padding: 16px 18px; font-size: 1.05rem; line-height: 1.6; max-height: 240px; overflow-y: auto;
  margin-bottom: 14px; white-space: pre-wrap; word-break: break-word; }
.tts-highlight .w-on { background: var(--accent); color: #0b0e1c; border-radius: 4px; padding: 0 2px;
  box-shadow: 0 0 0 2px var(--accent); }

.tts-controls { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; margin-top: 16px; }
.tts-controls .field label b { color: var(--accent-2); font-variant-numeric: tabular-nums; }
.tts-controls select { background: var(--bg-soft); border: 1px solid var(--line); color: var(--text);
  padding: 11px 12px; border-radius: var(--radius-sm); font-family: inherit; font-size: .92rem; width: 100%; }

.tts-buttons { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 18px;
  padding-top: 16px; border-top: 1px solid var(--line); }
.tts-count { color: var(--muted-2); font-size: .88rem; font-variant-numeric: tabular-nums; }
.np-spacer { flex: 1; }

@media (max-width: 680px) { .tts-controls { grid-template-columns: 1fr; } }
