.slaa-audio-library { display: grid; gap: 14px; margin: 1.2em 0; }
.slaa-audio {
	--slaa-accent: #1d5f8a;
	--slaa-border: #d6dde3;
	--slaa-bg: #f7f9fb;
	--slaa-text: #1f2933;
	border: 1px solid var(--slaa-border);
	border-radius: 8px;
	background: var(--slaa-bg);
	color: var(--slaa-text);
	padding: 14px 16px;
	margin: 1em 0;
	-webkit-user-select: none;
	user-select: none;
}
.slaa-audio__title { font-size: 1.05em; font-weight: 600; }
.slaa-audio__desc { font-size: .9em; opacity: .8; margin-top: 2px; }
.slaa-audio__controls { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.slaa-audio__btn {
	appearance: none;
	border: 1px solid var(--slaa-border);
	background: #fff;
	color: var(--slaa-text);
	border-radius: 6px;
	min-width: 44px;
	height: 40px;
	padding: 0 10px;
	font-size: .95em;
	cursor: pointer;
	line-height: 1;
}
.slaa-audio__btn:hover { border-color: var(--slaa-accent); }
.slaa-audio__btn:focus-visible,
.slaa-audio__speed:focus-visible,
.slaa-audio__seek:focus-visible { outline: 2px solid var(--slaa-accent); outline-offset: 2px; }
.slaa-audio__play { background: var(--slaa-accent); border-color: var(--slaa-accent); color: #fff; min-width: 52px; }
.slaa-audio__play:hover { filter: brightness(1.08); }
.slaa-audio__time { font-variant-numeric: tabular-nums; margin-left: 4px; font-size: .92em; }
.slaa-audio__speedwrap { margin-left: auto; }
.slaa-audio__speed { height: 40px; border: 1px solid var(--slaa-border); border-radius: 6px; background: #fff; padding: 0 6px; }
.slaa-audio__seek { width: 100%; margin: 12px 0 2px; accent-color: var(--slaa-accent); }
.slaa-audio__status { min-height: 1.3em; font-size: .85em; opacity: .85; }
.slaa-audio-notice { font-size: .85em; opacity: .8; margin: .4em 0 1em; }
.slaa-audio-login { padding: 12px 14px; border: 1px solid #d6dde3; border-radius: 8px; background: #f7f9fb; }
.slaa-audio .screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal;
}
