/* Retro Media Player Styles */
.retro-player {
    /* Ensure pixel-perfect rendering */
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

/* VU Meter animations */
@keyframes vuPulseLeft {
    0% { width: 15%; }
    25% { width: 45%; }
    50% { width: 75%; }
    75% { width: 35%; }
    100% { width: 15%; }
}

@keyframes vuPulseRight {
    0% { width: 20%; }
    25% { width: 60%; }
    50% { width: 40%; }
    75% { width: 80%; }
    100% { width: 20%; }
}

.vu-meter-l {
    animation: vuPulseLeft 1.8s ease-in-out infinite !important;
}

.vu-meter-r {
    animation: vuPulseRight 2.2s ease-in-out infinite !important;
}

/* LED-style blinking cursor */
@keyframes blinkCursor {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

.led-cursor {
    animation: blinkCursor 1s infinite;
    color: #00ff00;
}

/* Retro button press effects */
.retro-player button:active {
    border: 1px inset #888 !important;
    transform: translateY(1px) !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

.retro-player button:focus {
    outline: 1px dotted #fff;
    outline-offset: -3px;
}

/* Retro scrollbar styling */
.retro-player *::-webkit-scrollbar {
    width: 14px;
}

.retro-player *::-webkit-scrollbar-track {
    background: #222;
    border: 1px inset #666;
    border-radius: 0;
}

.retro-player *::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #666 0%, #444 50%, #222 100%);
    border: 1px outset #888;
    border-radius: 0;
}

.retro-player *::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(to bottom, #777 0%, #555 50%, #333 100%);
}

.retro-player *::-webkit-scrollbar-corner {
    background: #333;
}

/* Text selection styling for authentic feel */
.retro-player *::selection {
    background: #0066cc;
    color: white;
}

.retro-player *::-moz-selection {
    background: #0066cc;
    color: white;
}

/* Enhance the green terminal text glow */
.terminal-text {
    text-shadow: 
        0 0 5px #00ff00,
        0 0 10px #00ff00,
        0 0 15px #00ff00;
    filter: brightness(1.2);
}

/* Digital clock styling */
.digital-clock {
    font-variant-numeric: tabular-nums;
    letter-spacing: 2px;
    text-shadow: 
        0 0 3px currentColor,
        0 0 6px currentColor;
}

/* Status bar typing effect */
@keyframes typewriter {
    from { width: 0; }
    to { width: 100%; }
}

.status-typing {
    overflow: hidden;
    white-space: nowrap;
    animation: typewriter 2s steps(50, end);
}

/* Enhance the overall retro window styling */
.retro-window-border {
    position: relative;
}

.retro-window-border::before {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    background: linear-gradient(135deg, #ffffff 0%, #cccccc 50%, #999999 100%);
    z-index: -1;
    border-radius: 8px;
}

/* Retro gradient backgrounds */
.retro-gradient-silver {
    background: linear-gradient(135deg, #f0f0f0 0%, #d0d0d0 25%, #b0b0b0 50%, #909090 75%, #707070 100%);
}

.retro-gradient-dark {
    background: linear-gradient(135deg, #4a4a4a 0%, #3a3a3a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%);
}

/* Matrix-style text effect for bio content */
.matrix-text {
    font-family: 'Courier New', monospace;
    background: linear-gradient(to bottom, #003300 0%, #001100 100%);
    color: #00ff00;
    text-shadow: 0 0 8px #00ff00;
    border: 1px solid #004400;
    position: relative;
    overflow: hidden;
}

.matrix-text::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 255, 0, 0.1), transparent);
    animation: matrixScan 3s linear infinite;
}

@keyframes matrixScan {
    0% { left: -100%; }
    100% { left: 100%; }
}

/* Mobile responsive adjustments */
@media (max-width: 568px) {
    .retro-player {
        width: 95vw !important;
        max-width: 400px !important;
        font-size: 10px !important;
    }
    
    .retro-player button {
        width: 28px !important;
        height: 20px !important;
        font-size: 9px !important;
    }
    
    .digital-clock {
        font-size: 10px !important;
    }
}
