@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;700&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Heebo', sans-serif; background: transparent; overflow: hidden; direction: rtl; } .hidden { display: none !important; } .game-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95) 0%, rgba(20, 20, 40, 0.95) 50%, rgba(40, 0, 40, 0.95) 100%); backdrop-filter: blur(10px); display: flex; align-items: center; justify-content: center; animation: fadeIn 0.5s ease-out; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .game-panel { background: linear-gradient(145deg, rgba(30, 30, 50, 0.95) 0%, rgba(50, 30, 70, 0.95) 100%); border: 2px solid #8b5cf6; border-radius: 20px; padding: 40px; box-shadow: 0 20px 40px rgba(139, 92, 246, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1); max-width: 500px; width: 90%; text-align: center; position: relative; overflow: hidden; } .game-panel::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent 30%, rgba(139, 92, 246, 0.1) 50%, transparent 70%); animation: shimmer 3s infinite; pointer-events: none; } @keyframes shimmer { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .header { margin-bottom: 30px; } .header h1 { color: #ffffff; font-size: 2.5rem; font-weight: 700; margin-bottom: 10px; text-shadow: 0 0 20px rgba(139, 92, 246, 0.8); } .round-indicator { color: #a855f7; font-size: 1.2rem; font-weight: 500; } .progress-dots { display: flex; justify-content: center; gap: 15px; margin-bottom: 40px; } .dot { width: 15px; height: 15px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); transition: all 0.3s ease; position: relative; } .dot.active { background: #8b5cf6; box-shadow: 0 0 15px rgba(139, 92, 246, 0.8); animation: pulse 1s infinite; } .dot.success { background: #10b981; box-shadow: 0 0 15px rgba(16, 185, 129, 0.8); } .dot.failed { background: #ef4444; box-shadow: 0 0 15px rgba(239, 68, 68, 0.8); } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.2); } } .game-circle-container { display: flex; justify-content: center; margin-bottom: 30px; } .game-circle { width: 300px; height: 300px; border: 4px solid rgba(139, 92, 246, 0.3); border-radius: 50%; position: relative; background: radial-gradient(circle, rgba(30, 30, 50, 0.8) 0%, rgba(20, 20, 40, 0.9) 100%); box-shadow: inset 0 0 50px rgba(139, 92, 246, 0.2), 0 0 30px rgba(139, 92, 246, 0.3); } .target-zone { position: absolute; width: 6px; height: 80px; background: linear-gradient(to bottom, #10b981 0%, #34d399 50%, #10b981 100%); border-radius: 3px; top: 10px; left: 50%; transform-origin: 50% 140px; transform: translateX(-50%); box-shadow: 0 0 20px rgba(16, 185, 129, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.3); animation: targetGlow 2s infinite alternate; } @keyframes targetGlow { 0% { box-shadow: 0 0 20px rgba(16, 185, 129, 0.8); } 100% { box-shadow: 0 0 30px rgba(16, 185, 129, 1); } } .rotating-line { position: absolute; width: 4px; height: 120px; background: linear-gradient(to bottom, #8b5cf6 0%, #a855f7 50%, #8b5cf6 100%); border-radius: 2px; top: 10px; left: 50%; transform-origin: 50% 140px; transform: translateX(-50%); box-shadow: 0 0 15px rgba(139, 92, 246, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.3); animation: rotate 2s linear infinite; } @keyframes rotate { from { transform: translateX(-50%) rotate(0deg); } to { transform: translateX(-50%) rotate(360deg); } } .center-dot { position: absolute; width: 20px; height: 20px; background: radial-gradient(circle, #ffffff 0%, #e5e7eb 100%); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 10px rgba(255, 255, 255, 0.5); } .status-text { color: #ffffff; font-size: 1.3rem; font-weight: 500; margin-bottom: 30px; min-height: 30px; display: flex; align-items: center; justify-content: center; } .status-text.success { color: #10b981; animation: successPulse 0.5s ease-out; } .status-text.failed { color: #ef4444; animation: shake 0.5s ease-out; } @keyframes successPulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } } @keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } } .controls { display: flex; justify-content: center; gap: 30px; margin-bottom: 20px; } .control-item { display: flex; flex-direction: column; align-items: center; gap: 8px; } .key { background: linear-gradient(145deg, #374151, #4b5563); color: #ffffff; padding: 8px 16px; border-radius: 8px; font-weight: 600; font-size: 0.9rem; border: 1px solid #6b7280; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1); } .control-item span:last-child { color: #d1d5db; font-size: 0.9rem; } .difficulty-indicator { display: flex; align-items: center; justify-content: center; gap: 10px; color: #d1d5db; font-size: 0.9rem; } .difficulty-bars { display: flex; gap: 4px; } .bar { width: 20px; height: 8px; background: rgba(255, 255, 255, 0.2); border-radius: 4px; transition: all 0.3s ease; } .bar.active { background: linear-gradient(90deg, #fbbf24, #f59e0b); box-shadow: 0 0 8px rgba(251, 191, 36, 0.6); } /* Responsive Design */ @media (max-width: 600px) { .game-panel { padding: 20px; margin: 20px; } .header h1 { font-size: 2rem; } .game-circle { width: 250px; height: 250px; } .target-zone { height: 60px; transform-origin: 50% 115px; } .rotating-line { height: 100px; transform-origin: 50% 115px; } }