/* Лучшее решение для большинства случаев */
html {
	overscroll-behavior: none;	/* ЗАПРЕТ запредельной прокрутки вверх */
	overflow-y: scroll;
	scrollbar-gutter: stable; 	/* если нужна избирательность */
}

/* Сброс стандартных отступов и базовые стили */
* {
    box-sizing: border-box; /* Устанавливаем box-sizing для расчета ширины и высоты */
    margin: 0; /* Убираем отступы */
    padding: 0; /* Убираем внутренние отступы */
}

/* Сброс стандартных отступов */
body, h0, h1, h2, h3, h4, p {
	margin: 0;
	padding: 0;
}

/* Общие стили */
body {
    font-family: Arial, sans-serif; /* Основной шрифт документа */
    line-height: 1.6; /* Межстрочный интервал */
    background-color: var(--bg-primary); /* Цвет фона (используется CSS переменная) */
    color: var(--text-primary); /* Цвет текста (используется CSS переменная) */
    display: flex; /* Используем flexbox */
    flex-direction: column; /* Располагаем элементы в колонку */
    min-height: 100vh; /* Минимальная высота - весь экран */
    transition: background-color 0.3s ease, color 0.3s ease; /* Плавное изменение цветов */
}

/* Основной контент */
main {
    flex: 1; /* Растягиваем на все доступное пространство */
    padding: 0; /* Убираем внутренние отступы */
}


/* Стили для .copy (копирование в буфер обмена) */
/* 
 * Стили для ссылок и кликабельных элементов 
 */
.a {
    cursor: pointer; /* Меняем курсор при наведении на кликабельный элемент */
    text-decoration: none; /* Убираем подчеркивание */
}

/* 
 * Классы для выравнивания текста 
 */
.tr {
    text-align: right; /* Выравнивание текста по правому краю */
}

.tl {
    text-align: left; /* Выравнивание текста по левому краю */
}

/* 
 * Класс для выравнивания элементов по правому краю 
 * через автоматический отступ слева
 */
.ar {
    margin-left: auto; /* Автоматический отступ слева для выравнивания вправо */
}
