:root {
}

[data-bs-theme="dark"] {
	--bs-body-bg: #222;
	--bs-link-color-rgb: 110, 168, 254;
}

[data-bs-theme="light"] {
	--bs-body-bg: white;
	--bs-link-color-rgb: 10, 81, 187;
}

html, body {
  height: 100dvh;
  margin: 0;
  padding: 0;
}

header {
	width: 100%;
	background: var(--bs-body-bg);
	border-bottom: 1px solid var(--bs-dark);
}

header h1 {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 32px;
}

footer {
	flex-shrink: 0; /* не сжимается */
	width: 100%;
	height: 2em;
	background: var(--bs-body-bg);
	border-top: 1px solid var(--bs-dark);
	text-align: center;

}

.page-content {
	display: flex;
	flex-direction: column;
	height: 100dvh;
	max-width: 900px;
	margin: auto;
	position: relative;
	padding: 1em;
}

.page-content p {
	margin-bottom: 0.2em;
}

.phrases-body {
	flex: 1 1 auto; /* растягивается на всё свободное место */
	overflow-y: auto; /* скролл если нужно */
	margin: 1em 0;
	background: var(--bs-secondary-bg);
	padding: 1em;
	border-radius: 1em;
	min-height: 10em;
}

.phrases-list {
	display: flex;
	gap: 0.5em;
	flex-direction: column;
	width: fit-content;
}

.item > div {
	border: 1px solid rgba(0, 0, 0, 0);
}

.target {
	margin-left: 1em;
	padding: 0 1em;
}

.play {
	cursor: pointer;
	margin-right: 1em;
}

.item .playing {
	border: 1px solid gray;
	background: var(--bs-light);
	color: var(--bs-dark);
}

.navigator {
		display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.navigator > * {
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 12em;
    overflow: hidden;
}

a {
	text-decoration: none;
}

.navigator span {
	margin: 0 0.2em;
}

.app-name .bi {
}