/* Общие стили */
html, body {
margin: 0;
padding: 0;
height: 100%; /* Занимает всю высоту viewport */
width: 100%;
overflow: hidden; /* Запрещаем появление полосы прокрутки */
}
body {
font-family: Arial, sans-serif;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
#app-container {
display: flex;
flex-direction: column;
height: 100vh;
}
#controls {
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 10px;
display: flex;
gap: 5px;
align-items: center;
justify-content: space-between;
flex-shrink: 0; /* Запрещаем сжатие */
width: auto; /* Автоматическая ширина */
}
#stats {
flex-grow: 1;
}
#game-container {
flex-grow: 1;
position: relative;
display: flex;
justify-content: center;
align-items: center;
min-height: 0; /* Позволяем уменьшаться до нуля */
max-height: 100%; /* Ограничиваем высоту размером родителя */
}
#mobile-controls {
display: none;
position: absolute;
bottom: 20px;
right: 20px;
flex-direction: column;
gap: 10px;
}
.control-row {
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
flex-wrap: wrap; /* Добавляем перенос при маленькой ширине */
}
.control-button, .navigate-button {
width: 50px;
height: 50px;
font-size: 24px;
font-weight: bold;
border: none;
border-radius: 50%;
background-color: hsl(153, 98%, 23%);
color: white;
cursor: pointer;
outline: none;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.1s ease-in-out, background-color 0.3s ease;
opacity: 0.5; /* Устанавливаем начальную прозрачность (70%) */
}
.control-button,.navigate-button:hover {
background-color: hsl(153, 98%, 20%);
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
opacity: 0.7; /* Полностью видимая при взаимодействии */
}
.control-button,.navigate-button:active {
transform: scale(0.95);
background-color: hsl(153, 98%, 10%);
opacity: 0.7; /* Полностью видимая при взаимодействии */
}
#win-container {
display: none;
position: fixed; /* Используем fixed для лучшей адаптивности */
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: rgba(0, 0, 0, 0.8); /* Полупрозрачный фон */
color: white;
padding: 20px;
border-radius: 15px; /* Сглаженные углы */
width: 80%; /* Адаптивная ширина */
max-width: 400px; /* Максимальная ширина */
text-align: center;
font-family: Arial, sans-serif; /* Более современный шрифт */
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5); /* Тень для эффекта глубины */
}
#win-container table {
margin: 10px auto; /* Центрирование таблицы */
border-collapse: collapse; /* Убираем лишние отступы между ячейками */
width: 100%; /* Ширина таблицы */
}
#win-container table td {
padding: 8px; /* Отступы внутри ячеек */
font-size: 1em; /* Размер текста */
}
#win-container caption {
font-size: 1.5em; /* Размер заголовка */
font-weight: bold; /* Жирный шрифт */
margin-bottom: 10px; /* Отступ под заголовком */
color: #FFD700; /* Золотистый цвет */
}
/* Стили для светлой темы */
@media (prefers-color-scheme: light) {
#controls {
background: rgba(0, 0, 0, 0.7);
}
#win-container {
background-color: rgba(0, 0, 0, 0.8);
color: white;
}
/* Изменяем цвет заголовков для темной темы */
#win-container caption {
color: #FFD700; /* Красный цвет для заголовков */
}
#game-container {
background-color: white;
}
}
/* Стили для темной темы */
@media (prefers-color-scheme: dark) {
#controls {
background: rgba(255, 255, 255, 0.7);
color: black;
}
#win-container {
background-color: rgba(255, 255, 255, 0.8);
color: black;
}
/* Изменяем цвет заголовков для темной темы */
#win-container caption {
color: red; /* Красный цвет для заголовков */
}
#game-container {
background-color: black;
}
}
/* Адаптивность для ландшафтной ориентации */
@media (orientation: landscape) {
#app-container {
flex-direction: row;
}
#controls {
flex-direction: column;
width: auto;
flex-shrink: 0;
}
#game-container {
min-width: 0;
max-width: 100%;
}
}
/* Адаптивность для мобильных устройств в портретной ориентации */
@media (max-width: 768px) and (orientation: portrait) {
#controls {
flex-direction: row;
gap: 5px;
}
.control-button {
width: 70px;
height: 70px;
font-size: 18px;
}
/* Показываем кнопки на мобильных устройствах */
#mobile-controls {
display: flex;
}
}
/* Адаптивность для мобильных устройств в ландшафтной ориентации */
@media (max-height: 768px) and (orientation: landscape) {
#controls {
flex-direction: column;
gap: 5px;
}
.control-button,.navigate-button {
width: 70px;
height: 70px;
font-size: 18px;
}
/* Показываем кнопки на мобильных устройствах */
#mobile-controls {
display: flex;
gap: 10px;
bottom: 10px; /* Отступ от нижней границы */
right: 10px; /* Отступ от правой границы */
}
}
/* Адаптивность для очень маленьких экранов */
@media (max-width: 480px) {
#controls {
font-size: 12px;
padding: 5px;
}
.control-button,.navigate-button {
width: 35px;
height: 35px;
font-size: 14px;
}
}
/* Основные стили для модального окна */
.modal {
display: none; /* Скрыто по умолчанию */
position: fixed; /* Остается на месте */
z-index: 1000; /* На переднем плане */
left: 0;
top: 0;
width: 100%; /* Полная ширина */
height: 100%; /* Полная высота */
overflow: auto; /* Включает прокрутку, если необходимо */
background-color: rgba(0, 0, 0, 0.5); /* Черный фон с прозрачностью */
}
/* Стили для содержимого модального окна */
.modal-content {
background-color: #fefefe; /* Белый фон */
margin: auto; /* Центрирование */
padding: 20px; /* Отступы */
border: 1px solid #888; /* Рамка */
width: 80%; /* Ширина */
max-width: 600px; /* Максимальная ширина */
max-height: 80%; /* Максимальная высота */
border-radius: 8px; /* Закругленные углы */
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Тень */
overflow-y: auto; /* Прокрутка по вертикали, если содержимое превышает высоту */
}
/* Стили для кнопки закрытия */
.close {
color: #aaa; /* Цвет кнопки */
float: right; /* Выравнивание вправо */
font-size: 28px; /* Размер шрифта */
font-weight: bold; /* Жирный шрифт */
}
.close:hover,
.close:focus {
color: black; /* Цвет при наведении */
text-decoration: none; /* Убираем подчеркивание */
cursor: pointer; /* Курсор в виде указателя */
}
/* Стили для заголовка модального окна */
.modal-content h2 {
margin-top: 0; /* Убираем верхний отступ */
}
/* Стили для таблицы внутри модального окна */
table {
width: 100%; /* Полная ширина */
border-collapse: collapse; /* Убираем промежутки между ячейками */
}
th, td {
padding: 10px; /* Отступы внутри ячеек */
text-align: left; /* Выравнивание текста */
border-bottom: 1px solid #ddd; /* Нижняя граница */
}
th {
background-color: #f2f2f2; /* Цвет фона заголовка */
}
/* Общий стиль для контейнера табов */
.tabs-container {
width: 100%;
max-width: 600px; /* Ограничение ширины для адаптивности */
margin: 0 auto; /* Центрирование */
font-family: Arial, sans-serif;
}
/* Стиль для панели табов */
.tabs {
display: flex;
border-bottom: 2px solid #ccc; /* Линия под табами */
background-color: #f9f9f9; /* Фоновый цвет панели табов */
border-radius: 5px 5px 0 0; /* Скругление углов сверху */
overflow: hidden; /* Убираем лишние отступы */
}
/* Стиль для каждой вкладки */
.tab {
padding: 10px 20px; /* Внутренний отступ */
cursor: pointer; /* Изменение курсора на "пальчик" */
border: none; /* Убираем границу */
background-color: transparent; /* Прозрачный фон */
color: #333; /* Цвет текста */
font-size: 16px; /* Размер шрифта */
transition: background-color 0.3s ease, color 0.3s ease; /* Плавный переход при наведении */
position: relative; /* Для создания эффекта подчеркивания */
}
/* Эффект при наведении мыши */
.tab:hover {
background-color: #e0e0e0; /* Цвет при наведении */
}
/* Стиль активной вкладки */
.tab.active {
background-color: #fff; /* Белый фон */
color: #007bff; /* Цвет текста активной вкладки */
border-bottom: 2px solid #007bff; /* Подчеркивание активной вкладки */
z-index: 1; /* Чтобы активная вкладка была поверх других */
}
/* Стиль содержимого табов */
.tab-content {
padding: 20px; /* Внутренний отступ */
border: 1px solid #ddd; /* Граница вокруг содержимого */
border-top: none; /* Убираем верхнюю границу, так как она заменяется линией под табами */
border-radius: 0 0 5px 5px; /* Скругление нижних углов */
background-color: #fff; /* Фоновый цвет */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Тени для эффекта глубины */
}