sozday-detskuyu-igru-razviva/style.css

536 lines
9.5 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Comic Sans MS', 'Arial Rounded MT Bold', sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
padding: 20px;
color: #333;
}
.header {
text-align: center;
margin-bottom: 30px;
animation: bounce 2s infinite;
}
.header h1 {
font-size: clamp(32px, 6vw, 56px);
color: #fff;
text-shadow: 3px 3px 0 #ff6b6b, 6px 6px 0 #ffd93d;
margin-bottom: 10px;
}
.subtitle {
font-size: clamp(16px, 3vw, 22px);
color: #fff;
text-shadow: 2px 2px 0 #667eea;
}
.game-container {
max-width: 900px;
margin: 0 auto;
background: #fff;
border-radius: 30px;
padding: 30px;
box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.hidden {
display: none !important;
}
/* Меню игр */
.menu-section h2 {
font-size: clamp(24px, 4vw, 32px);
text-align: center;
color: #667eea;
margin-bottom: 30px;
}
.game-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin-bottom: 30px;
}
.game-card {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
border: none;
border-radius: 20px;
padding: 25px 20px;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
.game-card:hover {
transform: translateY(-10px) scale(1.05);
box-shadow: 0 15px 30px rgba(0,0,0,0.3);
}
.game-card:active {
transform: translateY(-5px) scale(1.02);
}
.card-icon {
font-size: clamp(40px, 8vw, 64px);
filter: drop-shadow(2px 2px 0 rgba(0,0,0,0.2));
}
.card-title {
font-size: clamp(16px, 3vw, 20px);
font-weight: bold;
color: #fff;
text-shadow: 2px 2px 0 rgba(0,0,0,0.2);
}
.card-desc {
font-size: clamp(12px, 2vw, 14px);
color: #fff;
opacity: 0.9;
}
/* Карточки других цветов */
.game-card:nth-child(2) {
background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
}
.game-card:nth-child(3) {
background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
}
.game-card:nth-child(4) {
background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
}
/* Секции игр */
.game-section {
animation: fadeIn 0.5s ease;
}
.game-section h2 {
font-size: clamp(24px, 4vw, 32px);
color: #667eea;
margin-bottom: 20px;
text-align: center;
}
.back-btn {
background: #f0f0f0;
border: 2px solid #ddd;
border-radius: 10px;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
margin-bottom: 20px;
transition: all 0.3s ease;
}
.back-btn:hover {
background: #e0e0e0;
transform: translateX(-5px);
}
/* Выбор категории */
.category-selector {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
margin-bottom: 30px;
}
.category-btn {
background: #f8f9fa;
border: 2px solid #667eea;
border-radius: 20px;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
transition: all 0.3s ease;
}
.category-btn:hover {
background: #667eea;
color: #fff;
}
.category-btn.active {
background: #667eea;
color: #fff;
box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}
/* Флеш-карточка */
.flashcard-container {
display: flex;
flex-direction: column;
align-items: center;
gap: 30px;
}
.flashcard {
width: 100%;
max-width: 400px;
height: 350px;
perspective: 1000px;
cursor: pointer;
}
.flashcard-front {
width: 100%;
height: 100%;
background: linear-gradient(135deg, #fff6b7 0%, #f6416c 100%);
border-radius: 25px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 20px;
box-shadow: 0 15px 35px rgba(0,0,0,0.2);
transition: transform 0.6s;
}
.flashcard-image {
font-size: clamp(80px, 15vw, 140px);
filter: drop-shadow(3px 3px 0 rgba(0,0,0,0.2));
}
.flashcard-word {
font-size: clamp(28px, 6vw, 42px);
font-weight: bold;
color: #fff;
text-shadow: 3px 3px 0 rgba(0,0,0,0.3);
}
/* Кнопки управления */
.controls {
display: flex;
flex-wrap: wrap;
gap: 15px;
justify-content: center;
}
.control-btn {
background: #f8f9fa;
border: 2px solid #667eea;
border-radius: 15px;
padding: 12px 25px;
font-size: 16px;
cursor: pointer;
transition: all 0.3s ease;
font-weight: bold;
}
.control-btn:hover {
background: #667eea;
color: #fff;
transform: scale(1.05);
}
.control-btn:active {
transform: scale(0.98);
}
.control-btn.primary {
background: #667eea;
color: #fff;
}
.control-btn.primary:hover {
background: #5568d3;
box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}
/* Игра со звуками */
.sound-exercise {
text-align: center;
padding: 30px;
}
.letter-display {
font-size: clamp(100px, 20vw, 180px);
font-weight: bold;
color: #667eea;
text-shadow: 4px 4px 0 #f5576c;
margin-bottom: 20px;
animation: pulse 2s infinite;
}
.exercise-text {
font-size: clamp(18px, 3vw, 24px);
color: #333;
margin-bottom: 30px;
}
.mouth-animation {
width: 150px;
height: 150px;
background: #ffe5e5;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 30px;
border: 4px solid #ff6b6b;
}
.mouth {
width: 60px;
height: 60px;
background: #ff6b6b;
border-radius: 50%;
animation: speak 1s infinite;
}
/* Викторина */
.quiz-container {
text-align: center;
padding: 30px;
}
.quiz-question {
margin-bottom: 30px;
}
.listen-btn {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #fff;
border: none;
border-radius: 50px;
padding: 20px 40px;
font-size: clamp(18px, 3vw, 22px);
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
.listen-btn:hover {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(0,0,0,0.3);
}
.listen-btn:active {
transform: scale(0.95);
}
.quiz-options {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 15px;
margin-bottom: 30px;
}
.quiz-option {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
border: none;
border-radius: 15px;
padding: 20px;
font-size: clamp(16px, 3vw, 20px);
color: #fff;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}
.quiz-option:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.quiz-option.correct {
background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
animation: celebrate 0.5s ease;
}
.quiz-option.wrong {
background: linear-gradient(135deg, #ff416c 0%, #ff4b2b 100%);
animation: shake 0.5s ease;
}
.feedback {
font-size: clamp(20px, 4vw, 28px);
font-weight: bold;
margin-bottom: 20px;
min-height: 40px;
}
.feedback.success {
color: #11998e;
animation: popIn 0.5s ease;
}
.feedback.error {
color: #ff416c;
}
/* История */
.story-container {
padding: 20px;
}
.story-slots {
display: flex;
gap: 15px;
justify-content: center;
margin-bottom: 30px;
flex-wrap: wrap;
}
.story-slot {
width: 120px;
height: 120px;
border: 3px dashed #667eea;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
font-size: 40px;
color: #667eea;
background: #f8f9fa;
cursor: pointer;
transition: all 0.3s ease;
}
.story-slot.filled {
border: 3px solid #11998e;
background: #e8f8f5;
}
.story-slot .piece {
font-size: 60px;
cursor: grab;
}
.story-pieces {
display: flex;
gap: 15px;
justify-content: center;
flex-wrap: wrap;
padding: 20px;
background: #f8f9fa;
border-radius: 15px;
}
.story-piece {
font-size: 60px;
cursor: grab;
transition: all 0.3s ease;
padding: 10px;
background: #fff;
border-radius: 10px;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.story-piece:hover {
transform: scale(1.1);
box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}
.story-piece.selected {
background: #667eea;
border-radius: 15px;
transform: scale(1.15);
box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
}
.instruction {
font-size: clamp(16px, 3vw, 20px);
text-align: center;
color: #667eea;
margin-bottom: 20px;
padding: 15px;
background: #f0f4ff;
border-radius: 15px;
}
/* Footer */
.footer {
text-align: center;
margin-top: 30px;
padding-top: 20px;
border-top: 3px solid #f0f0f0;
}
.footer p {
font-size: clamp(18px, 3vw, 24px);
color: #667eea;
animation: glow 2s infinite;
}
/* Анимации */
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.05); }
}
@keyframes speak {
0%, 100% { transform: scaleY(0.3); }
50% { transform: scaleY(1); }
}
@keyframes celebrate {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.1); }
}
@keyframes shake {
0%, 100% { transform: translateX(0); }
25% { transform: translateX(-10px); }
75% { transform: translateX(10px); }
}
@keyframes popIn {
0% { opacity: 0; transform: scale(0.5); }
100% { opacity: 1; transform: scale(1); }
}
@keyframes glow {
0%, 100% { text-shadow: 0 0 10px #667eea; }
50% { text-shadow: 0 0 20px #667eea, 0 0 30px #764ba2; }
}
/* Адаптивность */
@media (max-width: 600px) {
body {
padding: 10px;
}
.game-container {
padding: 20px;
border-radius: 20px;
}
.game-cards {
grid-template-columns: 1fr;
}
.controls {
flex-direction: column;
}
.control-btn {
width: 100%;
}
}