#portal-voice[hidden] { display: none; }
#portal-voice { position: fixed; bottom: 0; right: 0; left: 230px; z-index: 30; padding: 8px 24px; background: var(--cp-bg); color: var(--cp-text); border-top: 1px solid var(--cp-border); }
.portal-voice-controls { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
#voice-toggle { width: 44px; height: 44px; flex: 0 0 44px; }
#voice-interrupt { width: 44px; height: 44px; flex: 0 0 44px; }
#voice-interrupt[hidden] { display: none; }
#voice-toggle[aria-pressed="true"] { background: var(--cp-accent); color: var(--cp-accent-fg); }
#voice-status { font-size: 14px; overflow-wrap: anywhere; }
#voice-transcript { margin: 0; max-height: 52px; overflow: auto; font-size: 14px; }
#voice-transcript:empty { display: none; }
.portal-voice-privacy { margin: 4px 0 0; font-size: 11px; text-align: right; line-height: 1.4; }
body.portal-voice-available .main { padding-bottom: 145px; }
body.portal-voice-available .conversation { height: calc(100dvh - 245px); min-height: 420px; }
body.portal-voice-available .chat-entry:not(:has(.provisional-reply)) { height: auto; min-height: max(420px, calc(100dvh - 245px)); }
@media (max-width: 850px) {
	#portal-voice { left: 0; padding: 8px 16px; }
	body.portal-voice-available .conversation { height: calc(100dvh - 310px); min-height: 370px; }
	body.portal-voice-available .chat-entry:not(:has(.provisional-reply)) { height: auto; min-height: max(370px, calc(100dvh - 310px)); }
}