169 lines
6.5 KiB
Plaintext
169 lines
6.5 KiB
Plaintext
/* BlackjackGame.razor.css - Стили для компонента Blackjack */
|
||
|
||
/* Общие стили для секций игрока и дилера */
|
||
h4 {
|
||
margin-bottom: 0.8rem; /* Немного больше отступа снизу */
|
||
font-weight: 600; /* Немного жирнее */
|
||
color: #e0e0e0; /* Светлый цвет для темного фона (если будете добавлять) */
|
||
text-shadow: 1px 1px 2px rgba(0,0,0,0.5); /* Легкая тень для читаемости */
|
||
}
|
||
|
||
/* Контейнер для карт (рука) */
|
||
.hand {
|
||
display: flex;
|
||
flex-wrap: wrap; /* Карты будут переноситься, если не помещаются */
|
||
gap: 10px; /* Пространство между картами */
|
||
min-height: 95px; /* Минимальная высота, чтобы контейнер не схлопывался без карт */
|
||
margin-bottom: 1.5rem; /* Отступ под рукой */
|
||
padding: 8px;
|
||
background-color: rgba(0, 0, 0, 0.1); /* Легкий фон для области карт */
|
||
border-radius: 8px;
|
||
border: 1px solid rgba(255, 255, 255, 0.1); /* Тонкая светлая рамка */
|
||
}
|
||
|
||
/* Стиль для отдельной карты */
|
||
.card {
|
||
background-color: #fff; /* Белый фон карты */
|
||
border: 1px solid #ababab; /* Серая рамка */
|
||
border-radius: 6px; /* Скругленные углы */
|
||
padding: 15px 10px; /* Внутренние отступы (больше по вертикали) */
|
||
min-width: 65px; /* Минимальная ширина карты */
|
||
text-align: center;
|
||
font-size: 1.5em; /* Размер шрифта ранга/масти */
|
||
font-weight: bold;
|
||
box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.25); /* Тень для объема */
|
||
display: inline-block;
|
||
position: relative;
|
||
user-select: none; /* Запретить выделение текста на карте */
|
||
transition: transform 0.1s ease-in-out; /* Плавность при наведении (если добавим) */
|
||
}
|
||
|
||
/* Если захотите эффект при наведении */
|
||
/*
|
||
.card:hover {
|
||
transform: translateY(-3px);
|
||
}
|
||
*/
|
||
|
||
/* Стиль для скрытой карты дилера ("???") */
|
||
/* Мы не можем легко стилизовать сам текст "???", но можем стилизовать */
|
||
/* первую карту в руке дилера, пока ход игрока. */
|
||
/* Однако, текущая логика просто выводит текст "???" в .card */
|
||
/* Давайте просто сделаем текст "?" серым, если бы мы обернули его в span */
|
||
/* Если вы изменили Razor, как обсуждалось ранее: */
|
||
/*
|
||
.hidden-card-content {
|
||
color: #9e9e9e;
|
||
font-style: italic;
|
||
font-size: 0.9em;
|
||
}
|
||
*/
|
||
/* В текущем варианте специальный стиль для "???" не применяется, она будет в стандартной карте */
|
||
|
||
/* Цвета для мастей */
|
||
.card-red {
|
||
color: #D32F2F; /* Насыщенный красный */
|
||
}
|
||
|
||
.card-black {
|
||
color: #212121; /* Глубокий черный */
|
||
}
|
||
|
||
/* Контейнер для кнопок действий */
|
||
.actions {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 12px; /* Расстояние между кнопками */
|
||
margin-top: 1.5rem; /* Отступ сверху */
|
||
}
|
||
|
||
/* Стиль для кнопок */
|
||
.actions button,
|
||
.btn-lg { /* Стиль для кнопки "Начать игру" */
|
||
padding: 10px 20px; /* Увеличим кнопки */
|
||
font-size: 1em;
|
||
cursor: pointer;
|
||
border-radius: 5px;
|
||
border: none; /* Убираем стандартную рамку Bootstrap */
|
||
transition: background-color 0.2s ease, transform 0.1s ease; /* Плавные переходы */
|
||
box-shadow: 0 2px 5px rgba(0,0,0,0.2); /* Легкая тень для кнопок */
|
||
}
|
||
|
||
/* Улучшенные стили для кнопок Bootstrap (можно настроить под себя) */
|
||
.actions .btn-primary { /* Взять карту */
|
||
background-color: #1976D2; /* Синий */
|
||
color: white;
|
||
}
|
||
.actions .btn-primary:hover:not(:disabled) {
|
||
background-color: #1565C0;
|
||
transform: translateY(-1px);
|
||
}
|
||
|
||
.actions .btn-secondary { /* Стоп */
|
||
background-color: #6c757d; /* Серый */
|
||
color: white;
|
||
}
|
||
.actions .btn-secondary:hover:not(:disabled) {
|
||
background-color: #5a6268;
|
||
transform: translateY(-1px);
|
||
}
|
||
|
||
.actions .btn-warning { /* Новая игра */
|
||
background-color: #FFA000; /* Оранжевый */
|
||
color: #212121; /* Темный текст на оранжевом */
|
||
}
|
||
.actions .btn-warning:hover:not(:disabled) {
|
||
background-color: #FF8F00;
|
||
transform: translateY(-1px);
|
||
}
|
||
|
||
/* Кнопка "Начать игру" */
|
||
.btn-success.btn-lg {
|
||
background-color: #388E3C; /* Зеленый */
|
||
color: white;
|
||
font-size: 1.2em; /* Крупнее */
|
||
padding: 12px 25px;
|
||
}
|
||
.btn-success.btn-lg:hover:not(:disabled) {
|
||
background-color: #2E7D32;
|
||
transform: translateY(-1px);
|
||
}
|
||
|
||
|
||
/* Стиль для отключенных кнопок */
|
||
.actions button:disabled {
|
||
cursor: not-allowed;
|
||
opacity: 0.5; /* Сделать полупрозрачными */
|
||
box-shadow: none; /* Убрать тень у неактивных */
|
||
}
|
||
|
||
/* Сообщения игры */
|
||
.alert {
|
||
margin-top: 1rem;
|
||
margin-bottom: 1.5rem;
|
||
padding: 1rem;
|
||
border-radius: 6px;
|
||
font-weight: 500;
|
||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||
}
|
||
|
||
/* Успешное сообщение (выигрыш) */
|
||
.alert-success {
|
||
background-color: #E8F5E9; /* Светло-зеленый фон */
|
||
color: #2E7D32; /* Темно-зеленый текст */
|
||
border: 1px solid #A5D6A7; /* Зеленая рамка */
|
||
}
|
||
|
||
/* Информационное сообщение (ход игры, ничья, проигрыш) */
|
||
.alert-info {
|
||
background-color: #E3F2FD; /* Светло-голубой фон */
|
||
color: #1565C0; /* Темно-синий текст */
|
||
border: 1px solid #90CAF9; /* Голубая рамка */
|
||
}
|
||
|
||
/* Разделитель */
|
||
hr {
|
||
border: none; /* Убираем стандартную линию */
|
||
border-top: 1px solid rgba(255, 255, 255, 0.2); /* Светлая полупрозрачная линия */
|
||
margin: 2rem 0; /* Увеличим отступы */
|
||
} |