.jm-jobsie__voice-entry {
	padding: 0 16px 12px;
	text-align: center;
}

.jm-jobsie__voice-start {
	border: 0;
	border-radius: 999px;
	padding: 10px 18px;
	background: #111827;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.jm-jobsie__voice-start:focus-visible,
.jm-jobsie.is-voice-active .jm-jobsie__launcher:focus-visible {
	outline: 3px solid #38bdf8;
	outline-offset: 4px;
}

.jm-jobsie__voice-notice {
	margin: 8px 0 0;
	color: #4b5563;
	font-size: 11px;
	line-height: 1.45;
}

.jm-jobsie.is-voice-active .jm-jobsie__panel {
	display: none !important;
}

.jm-jobsie--full.is-voice-active {
	position: fixed;
	right: 100px;
	bottom: 22px;
	z-index: 999998;
	width: auto;
	margin: 0;
}

.jm-jobsie--full.is-voice-active .jm-jobsie__launcher {
	display: inline-flex;
}

.jm-jobsie.is-voice-active .jm-jobsie__launcher-label,
.jm-jobsie.is-voice-active .jm-jobsie__drag-handle {
	display: none;
}

.jm-jobsie__voice-stop {
	display: none;
}

.jm-jobsie__confirmation {
	position: absolute;
	right: 112px;
	bottom: 0;
	z-index: 999999;
	width: min(340px, calc(100vw - 140px));
	padding: 16px;
	border: 1px solid #dbeafe;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(15, 23, 42, .22);
	color: #172554;
}

.jm-jobsie__confirmation[hidden] { display: none !important; }
.jm-jobsie__confirmation-title { display: block; margin-bottom: 6px; }
.jm-jobsie__confirmation-summary { margin: 0 0 12px; font-size: 14px; line-height: 1.45; }
.jm-jobsie__confirmation-actions { display: flex; justify-content: flex-end; gap: 8px; }
.jm-jobsie__confirmation-actions button { padding: 8px 12px; border: 1px solid #bfdbfe; border-radius: 999px; background: #fff; color: #172554; cursor: pointer; font-weight: 700; }
.jm-jobsie__confirmation-actions button[data-jobsie-confirm="accept"] { background: #172554; color: #fff; }
.jm-jobsie__confirmation-actions button:focus-visible { outline: 3px solid #38bdf8; outline-offset: 2px; }

.jm-jobsie.is-voice-active .jm-jobsie__voice-stop:not([hidden]) {
	position: absolute;
	top: -10px;
	right: -42px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0 0 2px;
	border: 1px solid rgba(255, 255, 255, .82);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 7px 20px rgba(15, 23, 42, .24);
	color: #172554;
	cursor: pointer;
	font: 700 23px/1 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	transition: transform .16s ease, background .16s ease, color .16s ease;
}

.jm-jobsie.is-voice-active .jm-jobsie__voice-stop:hover {
	transform: scale(1.08);
	background: #172554;
	color: #fff;
}

.jm-jobsie.is-voice-active .jm-jobsie__voice-stop:focus-visible {
	outline: 3px solid #38bdf8;
	outline-offset: 3px;
}

.jm-jobsie.is-voice-active .jm-jobsie__launcher {
	position: relative;
	isolation: isolate;
	min-width: 92px;
	width: 92px;
	height: 92px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 50%;
	background:
		radial-gradient(circle at 36% 28%, rgba(255, 255, 255, .98) 0 7%, rgba(255, 255, 255, .42) 15%, transparent 34%),
		radial-gradient(circle at 66% 70%, #22d3ee 0, #3b82f6 32%, #7c3aed 67%, #172554 100%);
	box-shadow:
		0 10px 30px rgba(30, 64, 175, .34),
		0 0 22px rgba(56, 189, 248, .38),
		inset 0 1px 10px rgba(255, 255, 255, .62);
	overflow: visible;
	transform: translateZ(0) scale(calc(1 + (var(--jobsie-voice-level, 0) * .055)));
	transition: transform 90ms linear, opacity 180ms ease;
	will-change: transform;
}

.jm-jobsie.is-voice-active .jm-jobsie__launcher::before {
	content: "";
	position: absolute;
	z-index: -2;
	inset: -7px;
	border-radius: inherit;
	background: conic-gradient(from 25deg, #67e8f9, #60a5fa, #a78bfa, #f0abfc, #67e8f9);
	opacity: calc(.42 + (var(--jobsie-voice-level, 0) * .38));
	animation: jm-jobsie-voice-orbit 10s linear infinite;
	will-change: transform, opacity;
}

.jm-jobsie.is-voice-active .jm-jobsie__launcher::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: -3px;
	border: 2px solid rgba(255, 255, 255, .7);
	border-radius: inherit;
	box-shadow: inset 0 0 16px rgba(255, 255, 255, .35);
	pointer-events: none;
}

.jm-jobsie.is-voice-active .jm-jobsie__launcher-mark {
	position: relative;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin: auto;
	border-radius: 50%;
	overflow: visible;
	box-shadow: 0 4px 10px rgba(15, 23, 42, .2);
}

.jm-jobsie.is-voice-active .jm-jobsie__launcher-mark::after {
	content: "";
	position: absolute;
	inset: -7px;
	border: 1px solid rgba(255, 255, 255, .64);
	border-radius: 50%;
	opacity: .75;
	pointer-events: none;
}

.jm-jobsie.is-voice-active .jm-jobsie__launcher-mark img {
	width: 62px;
	height: 62px;
	border-radius: 50%;
	object-fit: cover;
}

.jm-jobsie[data-jm-jobsie-voice-state="requesting_permission"] .jm-jobsie__launcher,
.jm-jobsie[data-jm-jobsie-voice-state="connecting"] .jm-jobsie__launcher,
.jm-jobsie[data-jm-jobsie-voice-state="delegating"] .jm-jobsie__launcher,
.jm-jobsie[data-jm-jobsie-voice-state="executing_tool"] .jm-jobsie__launcher,
.jm-jobsie[data-jm-jobsie-voice-state="reconnecting"] .jm-jobsie__launcher {
	animation: jm-jobsie-voice-breathe 1.9s ease-in-out infinite;
}

.jm-jobsie[data-jm-jobsie-voice-state="listening"] .jm-jobsie__launcher::before {
	animation-duration: 4s;
}

.jm-jobsie[data-jm-jobsie-voice-state="speaking"] .jm-jobsie__launcher {
	box-shadow: 0 10px 30px rgba(30, 64, 175, .34), 0 0 28px rgba(56, 189, 248, .52), inset 0 1px 10px rgba(255, 255, 255, .62);
}

.jm-jobsie[data-jm-jobsie-voice-state="speaking"] .jm-jobsie__launcher-mark::after {
	animation: jm-jobsie-voice-speaking-ring 1s ease-in-out infinite;
}

.jm-jobsie[data-jm-jobsie-voice-state="awaiting_confirmation"] .jm-jobsie__launcher {
	box-shadow: 0 10px 30px rgba(180, 83, 9, .3), 0 0 24px rgba(251, 191, 36, .5);
}

.jm-jobsie[data-jm-jobsie-voice-state="awaiting_confirmation"] .jm-jobsie__launcher::before {
	background: conic-gradient(#f59e0b, #fde68a, #f97316, #f59e0b);
}

.jm-jobsie[data-jm-jobsie-voice-state="muted"] .jm-jobsie__launcher {
	opacity: .64;
}

.jm-jobsie[data-jm-jobsie-voice-state="error"] .jm-jobsie__launcher::before {
	background: conic-gradient(#ef4444, #fca5a5, #b91c1c, #ef4444);
}

@keyframes jm-jobsie-voice-orbit {
	to { transform: rotate(360deg); }
}

@keyframes jm-jobsie-voice-breathe {
	0%, 100% { transform: scale(.98); }
	50% { transform: scale(1.045); }
}

@keyframes jm-jobsie-voice-speaking-ring {
	0%, 100% { transform: scale(1); opacity: .58; }
	50% { transform: scale(1.13); opacity: 1; }
}

@media (max-width: 600px) {
	.jm-jobsie__confirmation { position: fixed; right: 12px; bottom: 124px; width: calc(100vw - 24px); }
	.jm-jobsie.is-voice-active .jm-jobsie__launcher {
		min-width: 84px;
		width: 84px;
		height: 84px;
	}

	.jm-jobsie.is-voice-active .jm-jobsie__voice-stop:not([hidden]) {
		top: -8px;
		right: -36px;
		width: 32px;
		height: 32px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jm-jobsie.is-voice-active .jm-jobsie__launcher,
	.jm-jobsie.is-voice-active .jm-jobsie__launcher::before,
	.jm-jobsie.is-voice-active .jm-jobsie__launcher-mark::after {
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}
