:root {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
		'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;

	color: var(--tg-theme-text-color);
	background-color: var(--tg-theme-bg-color);

	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

code,
pre {
	font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
	text-wrap-mode: wrap;
}

html,
body,
#root {
	width: 100%;
	height: 100%;
	margin: 0;
}
body {
	height: unset;
	padding-top: calc(var(--tg-content-safe-area-inset-top) * 2);
	transition: padding-top 0.3s ease-in-out;
}

header {
	background-color: var(--tg-theme-header-bg-color);
	color: var(--tg-theme-accent-text-color);
	padding: 16px;
	text-align: center;
	font-size: 1.5rem;
}

button {
	background-color: var(--tg-theme-button-color);
	color: var(--tg-theme-button-text-color);
	border: none;
	padding: 10px 20px;
	font-size: 1rem;
	border-radius: 4px;
	cursor: pointer;
}

button:hover {
	opacity: 0.9;
}

a {
	color: var(--tg-theme-link-color);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.footer {
	background-color: var(--tg-theme-bottom-bar-bg-color);
	color: var(--tg-theme-hint-color);
	text-align: center;
	padding: 10px;
	font-size: 0.9rem;
}

.section {
	background-color: var(--tg-theme-section-bg-color);
	border-bottom: 1px solid var(--tg-theme-section-separator-color);
	padding: 16px;
	color: var(--tg-theme-text-color);
}

.section-header {
	color: var(--tg-theme-section-header-text-color);
	font-size: 1.2rem;
	margin-bottom: 8px;
}

.hint {
	color: var(--tg-theme-hint-color);
	font-size: 0.9rem;
}

.subtitle {
	color: var(--tg-theme-subtitle-text-color);
	font-size: 1rem;
}

.destructive {
	color: var(--tg-theme-destructive-text-color);
	font-weight: bold;
}
