/* Dictation transport and optional transcript use the portal's existing tokens. */
.dict-transport { display:flex;align-items:center;gap:20px;text-align:left;padding:22px 4px 14px; }
.dict-transport .play-btn { width:58px;height:58px;flex:0 0 58px;margin:0;font-size:18px; }
.dict-transport-info { flex:1;min-width:0; }
.dict-transport-title { font-size:14px;font-weight:550;color:var(--text);margin-bottom:6px; }
.dict-transport .status { margin:0;font-size:12px; }
.dict-transport .vol { margin:0;display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted); }
.dict-transport .vol input { width:100px; }
[data-transcription][hidden],.transcription [hidden],[data-recording-controls][hidden] { display:none !important; }
.dict-recording { display:flex;align-items:center;gap:16px;padding:8px 4px 12px;text-align:left; }
.dict-recording input { min-width:50px;flex:1;height:24px; }
.dict-recording time { color:var(--muted);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums; }
.dict-recording button { background:none;border:0;color:var(--gold);font:inherit;font-size:11px;padding:8px 0;white-space:nowrap;cursor:pointer; }
.transcription { margin-top:22px;text-align:left;border:1px solid var(--line-2);border-radius:16px;background:var(--surface-1);overflow:hidden; }
.transcription.is-on { border-color:var(--gold-a40); }
.tr-header { display:flex;align-items:center;gap:12px;padding:18px 20px; }
.tr-icon { width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;color:var(--muted);border:1px solid var(--line-2);border-radius:11px;background:var(--surface-2); }
.is-on .tr-icon { color:var(--gold);background:var(--gold-a14);border-color:var(--gold-a40); }
.tr-heading { flex:1;min-width:0; }
.tr-heading h3 { font-size:14px;font-weight:600;margin:0 0 4px;letter-spacing:.1px; }
.tr-status { margin:0;color:var(--muted);font-size:11.5px;line-height:1.5; }
.tr-status[data-state=listening] { color:var(--gold); }
.tr-status[data-state=listening]::before { content:'';display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%;vertical-align:2px;margin-right:6px; }
.tr-status[data-state=error] { color:#e4ab94; }
.tr-switch { width:42px;height:25px;flex:0 0 42px;border:1px solid var(--line-3);border-radius:20px;background:var(--surface-3);padding:3px;cursor:pointer;transition:background .15s; }
.tr-switch span { display:block;width:17px;height:17px;background:var(--muted);border-radius:50%;transition:transform .15s; }
.tr-switch[aria-checked=true] { background:var(--gold);border-color:var(--gold); }
.tr-switch[aria-checked=true] span { background:#201c15;transform:translateX(17px); }
.tr-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:13px 20px;background:rgba(0,0,0,.09); }
.tr-language { display:flex;align-items:center;gap:12px; }
.tr-label { color:var(--muted);font-size:11px; }
.tr-segment { display:flex;gap:3px;background:rgba(0,0,0,.25);padding:3px;border:1px solid var(--line);border-radius:8px; }
.tr-segment button { border:0;border-radius:5px;background:transparent;color:var(--muted);padding:6px 12px;font:inherit;font-size:11px;cursor:pointer; }
.tr-segment button.selected { background:var(--gold-a14);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-a40); }
.tr-actions { display:flex;align-items:center;gap:14px; }
.tr-actions button,.tr-footer button { border:0;background:none;color:var(--muted);font:inherit;font-size:11px;cursor:pointer;padding:7px 0; }
.tr-actions button[aria-pressed=true],.tr-footer button { color:var(--gold); }
.tr-list { max-height:310px;min-height:190px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-3) transparent;padding:4px 20px; }
.tr-line { padding:14px 0;border-bottom:1px solid var(--line); }
.tr-line:last-child { border-bottom:0; }
.tr-line-text { min-width:0; }
.tr-line p { margin:0;overflow-wrap:anywhere; }
.tr-translation { color:var(--text);font-size:16px;line-height:1.6;letter-spacing:.05px; }
.tr-source { margin-top:4px !important;font-size:12px;line-height:1.6;color:var(--muted); }
.tr-draft .tr-translation { color:var(--gold); }
.tr-pending { color:var(--faint);line-height:25px; }
.tr-empty { min-height:188px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:var(--faint);font-size:11.5px; }
.tr-empty-icon { color:var(--faint);margin-bottom:5px;opacity:.65; }
.tr-empty strong { color:var(--muted);font-size:13px;font-weight:500; }
.tr-footer { display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:10px 20px;min-height:40px;font-size:10px;color:var(--faint); }
.transcription button:focus-visible,.tr-list:focus-visible,.dict-recording button:focus-visible { outline:2px solid var(--gold);outline-offset:3px; }
@media(max-width:600px) {
  .dict-transport { gap:14px;flex-wrap:wrap; }
  .dict-transport .vol { width:100%;padding-left:72px; }
  .dict-transport .vol input { width:120px; }
  .dict-recording { flex-wrap:wrap;gap:8px 12px; }
  .dict-recording input { flex-basis:100%; }
  .dict-recording button { margin-left:auto; }
  .tr-header { padding:16px 14px;gap:10px; }
  .tr-toolbar { padding:12px 14px;gap:10px; }
  .tr-language { width:100%;justify-content:space-between; }
  .tr-actions { justify-content:space-between;width:100%; }
  .tr-list { padding:3px 14px;max-height:300px; }
  .tr-translation { font-size:15px; }.tr-footer { padding:10px 14px; }
}
@media(prefers-reduced-motion:reduce) { .tr-switch,.tr-switch span { transition:none; } }
