/* CSS Emoticon Sprites - 2000's Style */

/* Create classic emoticon images using CSS */
.css-emoticon {
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    text-align: center;
    line-height: 20px;
    font-size: 12px;
    vertical-align: middle;
    margin: 0 2px;
    background: linear-gradient(145deg, #ffdd00, #ffaa00);
    border: 1px solid #cc8800;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

/* Specific emoticon styles */
.emoticon-happy {
    background: linear-gradient(145deg, #ffdd00, #ffaa00);
}

.emoticon-happy::before {
    content: '😊';
}

.emoticon-sad {
    background: linear-gradient(145deg, #aaddff, #6699cc);
}

.emoticon-sad::before {
    content: '😢';
}

.emoticon-laugh {
    background: linear-gradient(145deg, #ffdd00, #ff8800);
    animation: laugh 0.5s ease-in-out infinite alternate;
}

.emoticon-laugh::before {
    content: '😆';
}

.emoticon-wink {
    background: linear-gradient(145deg, #ffdd00, #ffaa00);
}

.emoticon-wink::before {
    content: '😉';
}

.emoticon-cool {
    background: linear-gradient(145deg, #333333, #666666);
}

.emoticon-cool::before {
    content: '😎';
    color: white;
}

.emoticon-angry {
    background: linear-gradient(145deg, #ff6666, #cc0000);
}

.emoticon-angry::before {
    content: '😠';
}

.emoticon-shock {
    background: linear-gradient(145deg, #ffff99, #ffcc00);
    animation: shock 0.3s ease-in-out infinite alternate;
}

.emoticon-shock::before {
    content: '😱';
}

.emoticon-evil {
    background: linear-gradient(145deg, #660000, #990000);
}

.emoticon-evil::before {
    content: '😈';
    color: #ffff00;
}

.emoticon-roll {
    background: linear-gradient(145deg, #cccccc, #999999);
    animation: roll 2s linear infinite;
}

.emoticon-roll::before {
    content: '🙄';
}

.emoticon-confused {
    background: linear-gradient(145deg, #ffddaa, #cc9966);
}

.emoticon-confused::before {
    content: '😕';
}

/* Animations */
@keyframes laugh {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

@keyframes shock {
    0% { transform: rotate(-2deg); }
    100% { transform: rotate(2deg); }
}

@keyframes roll {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Classic blinking effect */
.emoticon-blink {
    animation: blink 1.5s ease-in-out infinite;
}

@keyframes blink {
    0%, 85% { opacity: 1; }
    90%, 95% { opacity: 0.3; }
    100% { opacity: 1; }
}

/* Hover effects */
.css-emoticon:hover {
    transform: scale(1.2);
    cursor: pointer;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.5);
}

/* Retro pulse effect */
.emoticon-pulse {
    animation: pulse 1s ease-in-out infinite;
}

@keyframes pulse {
    0% { 
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 221, 0, 0.7);
    }
    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(255, 221, 0, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 221, 0, 0);
    }
}