/* 語音轉文字頁專用樣式；共用元件沿用 site.css */
.stt-priv { background: #fffbeb; border-left: 4px solid var(--warn); padding: 12px 16px; border-radius: 6px; font-size: 1.02rem; margin: 12px 0; }
.stt-priv strong { color: #92400e; }
.stt-warn { background: #fef2f2; border-left: 4px solid var(--bad); padding: 10px 14px; border-radius: 6px; font-size: 1rem; margin: 10px 0; }
.stt-ctl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0; }
.stt-ctl .btn { min-height: 56px; font-size: 1.1rem; }
.stt-live { display: flex; align-items: center; gap: 8px; margin: 6px 0; font-weight: 600; }
.stt-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--line); flex: none; }
.stt-dot.on { background: var(--bad); animation: stt-pulse 1s ease-in-out infinite; }
@keyframes stt-pulse { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .stt-dot.on { animation: none; } }
.stt-interim { min-height: 2.6em; background: var(--soft); border-radius: 10px; padding: 8px 14px; margin: 6px 0; color: var(--muted); overflow-wrap: anywhere; }
.stt-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0; }
@media (max-width: 480px) { .stt-actions { grid-template-columns: 1fr; } }
