/**
 * Table UI Styles
 * Message overlays and hand result displays, plus chip/pot animation classes.
 *
 * Previously also contained game-over modal, exploit signals, and reward shop.
 * Those have been extracted to:
 * - arena/arena-game-over.css
 * - components/exploit-signals.css
 * - arena/arena-reward-shop.css
 */

/* Message & Result Overlay - Compact banner below board */
.message-overlay {
    position: absolute;
    bottom: 18%;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.9);
    padding: var(--space-sm) var(--space-6);
    border-radius: var(--radius-sm);
    text-align: center;
    z-index: var(--z-modal);
    display: none;
    border: 1px solid #444;
    white-space: nowrap;
}

.message-overlay.visible {
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: messageBounceIn 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}


.message-overlay.winner {
    border-color: var(--chip-green);
    box-shadow: 0 0 20px rgba(34, 139, 34, 0.5), 0 0 40px rgba(34, 139, 34, 0.2);
    animation: messageBounceIn 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Winner glow pulse — compositor-only pseudo animation */
.message-overlay.winner::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: 0 0 30px rgba(34, 139, 34, 0.7), 0 0 60px rgba(34, 139, 34, 0.3);
    pointer-events: none;
    opacity: 0;
    animation: winnerGlow 1.5s ease-in-out infinite 0.5s;
}


.message-overlay.winner .message-text {
    color: var(--color-positive);
    text-shadow: 0 0 10px rgba(var(--color-positive-rgb), 0.5);
}

.message-overlay.loser {
    border-color: var(--chip-red);
    box-shadow: 0 0 15px rgba(196, 30, 58, 0.4);
    animation: messageBounceIn 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),
               loserShake 0.4s ease-in-out 0.5s;
}


.message-overlay.loser .message-text {
    color: var(--color-negative);
}

.message-overlay.neutral {
    border-color: var(--accent);
    box-shadow: 0 0 20px rgba(var(--turn-gold-rgb), 0.4), 0 0 40px rgba(var(--turn-gold-rgb), 0.2);
    animation: messageBounceIn 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.message-overlay.neutral .message-text {
    color: var(--accent);
    text-shadow: 0 0 10px rgba(var(--turn-gold-rgb), 0.5);
}

.message-text {
    font-size: 1em;
    font-weight: var(--font-weight-semibold);
    margin-bottom: var(--space-0-5);
}

.message-subtext {
    font-size: 0.75em;
    color: var(--text-muted);
}

/* Animation Classes */

/* Card animation classes moved to components/card-animations.css:
 * - .card.flip-3d
 * - .card.animate-in
 * - .card.animate-reveal
 */

.bet-display.animate-in {
    animation: chipMove 0.3s ease forwards;
}

.pot-display.animate-grow {
    animation: potGrow 0.4s ease;
}

/* Responsive table/seat sizing is now owned by arena + seat-layout modules. */
