:root {
    --poker-brown-btn: linear-gradient(180deg, #b45309 0%, #78350f 100%);
    --poker-brown-btn-hover: linear-gradient(180deg, #d97706 0%, #92400e 100%);
    --glass-border: rgba(255, 255, 255, 0.15);
}

* { box-sizing: border-box; margin: 0; padding: 0; user-select: none; }
body { 
    font-family: 'Outfit', sans-serif; 
    background: #111622 radial-gradient(circle, #1a2332 0%, #0a0d14 100%); 
    color: #fff; 
    min-height: 100vh; 
    padding: 8px; 
    display: flex; 
    flex-direction: column; 
}

@keyframes crownPulse {
    0% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 2px rgba(245, 158, 11, 0.6)); }
    50% { transform: scale(1.15) rotate(5deg); filter: drop-shadow(0 0 8px rgba(245, 158, 11, 0.9)); }
    100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 2px rgba(245, 158, 11, 0.6)); }
}

@keyframes firePulse {
    0% { transform: scale(1); filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.8)); }
    50% { transform: scale(1.25); filter: drop-shadow(0 0 10px rgba(245, 158, 11, 1)); }
    100% { transform: scale(1); filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.8)); }
}

@keyframes shake {
    0% { transform: translate(1px, 1px) rotate(0deg); }
    20% { transform: translate(-3px, 0px) rotate(-1deg); }
    40% { transform: translate(3px, 2px) rotate(1deg); }
    60% { transform: translate(-1px, -1px) rotate(0deg); }
    80% { transform: translate(1px, 2px) rotate(-1deg); }
    100% { transform: translate(0, 0) rotate(0deg); }
}

@keyframes spinSlow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes pulseGlow { 0%, 100% { filter: drop-shadow(0 0 5px #10b981); } 50% { filter: drop-shadow(0 0 15px #10b981); } }
@keyframes flameGlow { 0%, 100% { filter: drop-shadow(0 0 4px #ef4444); } 50% { filter: drop-shadow(0 0 12px #f59e0b); } }

.shake-animation { animation: shake 0.4s; }
.animated-crown { position: absolute; top: -14px; font-size: 13px; z-index: 5; display: inline-block; animation: crownPulse 2s infinite ease-in-out; transform-origin: bottom center; }
.animated-streak-fire { position: absolute; top: -14px; right: -6px; font-size: 13px; z-index: 6; display: inline-block; animation: firePulse 1.2s infinite ease-in-out; transform-origin: bottom center; }

.shop-preview-box {
    margin: 8px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 50px;
}
.preview-avatar-container {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #1e293b;
    border: 1px solid #f59e0b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.preview-cards-container {
    display: flex;
    gap: 3px;
    justify-content: center;
}

.modal-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.9); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 16px;
}
.modal-box {
    background: #1a2332; border: 1px solid #f59e0b; border-radius: 16px; padding: 20px; width: 100%; max-width: 340px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.8);
}
.modal-box h3 { color: #fbbf24; margin-bottom: 8px; font-size: 18px; }
.modal-box p { color: #94a3b8; font-size: 12px; margin-bottom: 14px; }
.modal-input {
    width: 100%; padding: 12px; border-radius: 10px; border: 1px solid #475569; background: #0f172a; color: #fff; font-size: 15px; text-align: center; margin-bottom: 12px; outline: none;
}
.modal-input:focus { border-color: #f59e0b; }
.modal-btn {
    width: 100%; padding: 12px; border-radius: 10px; background: linear-gradient(135deg, #f59e0b, #b45309); color: #000; font-weight: 800; font-size: 14px; border: none; cursor: pointer; margin-top: 4px;
}
.modal-link-btn { background: none; border: none; color: #60a5fa; font-size: 12px; font-weight: 600; cursor: pointer; margin-top: 10px; text-decoration: underline; }

.rules-modal-content {
    background: #1a2332; border: 1px solid #f59e0b; border-radius: 16px; padding: 20px; width: 92%; max-width: 440px; max-height: 85vh; overflow-y: auto; text-align: left; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,0.8);
}
.rules-modal-content h3 { color: #fbbf24; font-size: 14px; margin-top: 14px; margin-bottom: 6px; }
.rules-modal-content p, .rules-modal-content li { color: #cbd5e1; font-size: 11px; line-height: 1.4; margin-bottom: 4px; }
.rules-modal-content ul, .rules-modal-content ol { padding-left: 16px; }
.close-rules-btn { position: absolute; top: 12px; right: 16px; background: none; border: none; color: #94a3b8; font-size: 22px; cursor: pointer; }
.close-rules-btn:hover { color: #fff; }

.header { 
    display: flex; justify-content: space-between; align-items: center; background: rgba(15, 23, 42, 0.9); border: 1px solid var(--glass-border); padding: 6px 12px; border-radius: 12px; margin-bottom: 6px; box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.user-box { display: flex; align-items: center; gap: 8px; }

.avatar-top { 
    position: relative; width: 32px; height: 32px; border-radius: 50%; background: #1e293b; color: #000; font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 16px; border: 1px solid #fde047; flex-shrink: 0;
}
.avatar-top.neon-frame { border: 2px solid #38bdf8; box-shadow: 0 0 8px rgba(56, 189, 248, 0.8); }
.avatar-top.gold-frame { border: 2px solid #fbbf24; box-shadow: 0 0 10px rgba(251, 191, 36, 0.9); }
.avatar-top.fire-frame { border: 2px solid #ef4444; box-shadow: 0 0 10px rgba(239, 68, 68, 0.9); }
.avatar-top.diamond-frame { border: 2px solid #a855f7; box-shadow: 0 0 10px rgba(168, 85, 247, 0.9); }
.avatar-top.plasma-frame { border: 2px solid #06b6d4; box-shadow: 0 0 12px rgba(6, 182, 212, 0.9); }
.avatar-top.royal-frame { border: 2px solid #eab308; box-shadow: 0 0 15px rgba(234, 179, 8, 1), inset 0 0 5px rgba(255, 255, 255, 0.6); }

.balance { 
    background: #000; border: 1px solid #f59e0b; padding: 4px 10px; border-radius: 10px; color: #fbbf24; font-weight: 800; font-size: 12px; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.leave-btn { background: rgba(239, 68, 68, 0.2); border: 1px solid #ef4444; color: #fca5a5; padding: 5px 10px; border-radius: 8px; font-size: 11px; font-weight: 800; cursor: pointer; }

.menu-screen { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; max-width: 420px; margin: 0 auto; width: 100%; padding: 10px 0; }
.menu-logo-container { display: flex; justify-content: center; margin-bottom: 2px; }
.menu-logo { width: 90px; height: 90px; filter: drop-shadow(0 8px 16px rgba(0,0,0,0.7)); }

.menu-title { text-align: center; margin-bottom: 2px; color: #fbbf24; text-shadow: 0 2px 4px rgba(0,0,0,0.8); font-size: 22px; font-weight: 800; }
.menu-subtitle { text-align: center; color: #94a3b8; font-size: 11px; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px; }

.carousel-wrapper { position: relative; width: 100%; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.carousel-container { display: flex; overflow-x: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; width: 100%; max-width: 320px; border-radius: 20px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.carousel-container::-webkit-scrollbar { display: none; }

.game-card {
    flex: 0 0 100%; scroll-snap-align: center; background: linear-gradient(135deg, rgba(30, 41, 59, 0.9), rgba(15, 23, 42, 0.95)); border: 2px solid rgba(245, 158, 11, 0.4); border-radius: 20px; padding: 20px 18px; display: flex; flex-direction: column; align-items: center; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.7); min-height: 280px; justify-content: space-between;
}
.game-card-icon { font-size: 40px; margin-bottom: 8px; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.5)); }
.game-card-title { font-size: 17px; font-weight: 800; color: #fff; margin-bottom: 4px; }
.game-card-desc { font-size: 11px; color: #94a3b8; margin-bottom: 14px; line-height: 1.3; }
.game-card-btn {
    width: 100%; padding: 12px; border-radius: 12px; font-size: 13px; font-weight: 800; cursor: pointer; border: none; text-transform: uppercase; letter-spacing: 0.5px; box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.game-card-btn:active { transform: scale(0.97); }
.btn-gold-card { background: linear-gradient(135deg, #f59e0b, #b45309); color: #000; }
.btn-blue-card { background: linear-gradient(135deg, #3b82f6, #1d4ed8); color: #fff; }
.btn-purple-card { background: linear-gradient(135deg, #a855f7, #6b21a8); color: #fff; }
.btn-green-card { background: linear-gradient(135deg, #10b981, #047857); color: #fff; }
.btn-cyan-card { background: linear-gradient(135deg, #06b6d4, #0e7490); color: #fff; }
.btn-pink-card { background: linear-gradient(135deg, #ec4899, #be185d); color: #fff; }

.leaderboard-table { width: 100%; border-collapse: collapse; margin-bottom: 12px; font-size: 11px; }
.leaderboard-table th { color: #fbbf24; border-bottom: 1px solid rgba(245, 158, 11, 0.3); padding-bottom: 4px; font-weight: 700; }
.leaderboard-table td { padding: 5px 4px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); text-align: left; }
.leaderboard-table td:last-child { text-align: right; font-weight: 800; color: #fbbf24; }
.rank-cell { display: flex; align-items: center; gap: 6px; }

.carousel-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); background: rgba(15, 23, 42, 0.85); border: 1px solid #f59e0b; color: #fbbf24; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: bold; cursor: pointer; z-index: 10; box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.carousel-prev { left: -6px; }
.carousel-next { right: -6px; }

.carousel-dots { display: flex; gap: 6px; justify-content: center; margin-bottom: 12px; }
.carousel-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); cursor: pointer; transition: background 0.3s, transform 0.3s; }
.carousel-dot.active { background: #f59e0b; transform: scale(1.3); }

.quests-screen, .shop-screen {
    display: none; flex-direction: column; flex: 1; max-width: 420px; margin: 0 auto; width: 100%; padding: 10px 0; overflow-y: auto; max-height: 85vh;
}

.quest-day-card {
    background: rgba(30, 41, 59, 0.85); border: 1px solid rgba(245, 158, 11, 0.3); border-radius: 14px; padding: 12px 14px; margin-bottom: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.quest-day-card.active-day { border-color: #f59e0b; background: linear-gradient(135deg, rgba(30, 41, 59, 0.95), rgba(78, 45, 10, 0.4)); box-shadow: 0 0 16px rgba(245, 158, 11, 0.4); }
.quest-header-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.quest-title { font-size: 13px; font-weight: 800; color: #fbbf24; }
.quest-status-badge { font-size: 14px; }
.quest-desc { font-size: 11px; color: #94a3b8; margin-bottom: 6px; }
.quest-footer-info { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: #cbd5e1; border-top: 1px solid rgba(255,255,255,0.06); padding-top: 6px; }

#dailyRewardsContainer {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.daily-reward-card {
    background: rgba(30, 41, 59, 0.85);
    border: 1px solid rgba(245, 158, 11, 0.3);
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
    transition: all 0.2s ease;
}

.daily-reward-card.active-day {
    border-color: #f59e0b;
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.95), rgba(78, 45, 10, 0.5));
    box-shadow: 0 0 16px rgba(245, 158, 11, 0.4);
}

.daily-reward-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.daily-reward-title {
    font-size: 14px;
    font-weight: 800;
    color: #fbbf24;
}

.daily-reward-amount {
    font-size: 13px;
    font-weight: 700;
    color: #10b981;
}

.daily-action-btn {
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    border: none;
    text-transform: uppercase;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.btn-claim-reward {
    background: linear-gradient(135deg, #10b981, #047857);
    color: #fff;
}

.btn-claim-reward:active {
    transform: scale(0.95);
}

.daily-status-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.wheel-screen { display: none; flex-direction: column; align-items: center; justify-content: space-between; flex: 1; max-width: 420px; margin: 0 auto; width: 100%; padding: 10px 0; text-align: center; }
.wheel-stage { position: relative; width: 270px; height: 270px; margin: 30px auto 40px auto; perspective: 900px; }
.wheel-tilt { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateX(50deg); }
.wheel-pointer {
    position: absolute; top: -15px; left: 50%; transform: translateX(-50%) translateZ(30px); width: 0; height: 0; border-left: 16px solid transparent; border-right: 16px solid transparent; border-top: 32px solid #ef4444; z-index: 50; filter: drop-shadow(0 6px 4px rgba(0,0,0,0.7)); transform-origin: center top;
}
.wheel-thickness {
    position: relative; width: 100%; height: 100%; border-radius: 50%; background: #b45309; transform-style: preserve-3d; box-shadow: 0 1px 0 #92400e, 0 2px 0 #92400e, 0 3px 0 #92400e, 0 4px 0 #92400e, 0 5px 0 #92400e, 0 6px 0 #78350f, 0 7px 0 #78350f, 0 8px 0 #78350f, 0 9px 0 #78350f, 0 10px 0 #451a03, 0 12px 0 #451a03, 0 14px 0 #451a03, 0 25px 30px rgba(0, 0, 0, 0.9);
}
.wheel-spin-wrapper {
    width: 100%; height: 100%; border-radius: 50%; transform-style: preserve-3d; transform: rotateZ(0deg); border: 5px solid #fbbf24; box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.8); background: #0f172a;
}
.wheel-spin-wrapper::after {
    content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) translateZ(12px); width: 36px; height: 36px; background: radial-gradient(circle, #fcd34d, #b45309); border-radius: 50%; box-shadow: 0 5px 10px rgba(0,0,0,0.7); border: 2px solid #fff;
}
#wheelCanvas { width: 100%; height: 100%; border-radius: 50%; }
.wheel-btn {
    width: 100%; max-width: 280px; padding: 14px; border-radius: 14px; background: linear-gradient(135deg, #10b981, #059669); color: #fff; font-weight: 800; font-size: 15px; border: none; cursor: pointer; box-shadow: 0 6px 16px rgba(0,0,0,0.5); text-transform: uppercase; letter-spacing: 1px; margin-top: 10px;
}
.wheel-btn:disabled { background: #334155; color: #64748b; cursor: not-allowed; box-shadow: none; }
.wheel-timer { font-size: 13px; color: #fbbf24; font-weight: 700; margin-top: 6px; background: rgba(0,0,0,0.4); padding: 6px 12px; border-radius: 8px; border: 1px solid var(--glass-border); }

.game-screen { display: none; flex-direction: column; flex: 1; justify-content: space-between; position: relative; }
.top-info-bar { display: flex; justify-content: space-between; align-items: center; height: 22px; padding: 0 4px; }
.timer-badge { background: rgba(239, 68, 68, 0.2); border: 1px solid #ef4444; color: #fca5a5; padding: 2px 8px; border-radius: 8px; font-size: 11px; font-weight: 800; }

.table-container { position: relative; width: 100%; height: 430px; margin: 4px 0; perspective: 1000px; }
.poker-table-3d-stage { position: absolute; top: 45%; left: 50%; transform: translate(-50%, -50%) rotateX(32deg); transform-style: preserve-3d; width: 98%; height: 300px; }
.poker-table-outer {
    width: 100%; height: 100%; background: linear-gradient(135deg, #7c3a00, #3d1b00, #7c3a00); border-radius: 140px; padding: 12px; transform-style: preserve-3d; box-shadow: 0 1px 0 #5c2b00, 0 2px 0 #5c2b00, 0 3px 0 #3d1b00, 0 4px 0 #3d1b00, 0 5px 0 #2b1300, 0 6px 0 #2b1300, 0 8px 0 #1a0b00, 0 15px 30px rgba(0,0,0,0.95), 0 0 50px rgba(245, 158, 11, 0.3);
}
.poker-table-inner {
    width: 100%; height: 100%; background: radial-gradient(ellipse at center, rgba(14, 98, 175, 0.4) 0%, rgba(6, 40, 80, 0.8) 65%, rgba(3, 18, 40, 0.95) 100%), radial-gradient(circle at center, #1b6ec2 0%, #0d4682 70%, #05203f 100%), repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 2px, transparent 2px, transparent 24px); border-radius: 128px; border: 5px solid #f59e0b; box-shadow: inset 0 0 70px rgba(0,0,0,0.9), inset 0 0 30px rgba(21, 125, 216, 0.4), inset 0 6px 18px rgba(0,0,0,0.6); display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow: hidden; transform: translateZ(10px);
}
.poker-table-inner::before {
    content: ''; position: absolute; top: 15px; left: 15px; right: 15px; bottom: 15px; border: 2px dashed rgba(245, 158, 11, 0.25); border-radius: 110px; pointer-events: none;
}

.pot-box { background: rgba(0,0,0,0.85); border: 1px solid #f59e0b; padding: 4px 14px; border-radius: 14px; font-size: 13px; font-weight: 800; color: #fbbf24; margin-bottom: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.6); z-index: 6; }
.community-cards { display: flex; gap: 8px; min-height: 68px; z-index: 6; }
.community-cards .card { width: 48px; height: 68px; font-size: 26px; }

@keyframes bannerSpringPulse {
    0% { transform: translate(-50%, -50%) scale(0.3); opacity: 0; }
    40% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
    70% { transform: translate(-50%, -50%) scale(0.95); }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

@keyframes continuousPulse {
    0%, 100% { box-shadow: 0 0 25px rgba(245, 158, 11, 0.6), inset 0 0 10px rgba(245, 158, 11, 0.3); }
    50% { box-shadow: 0 0 45px rgba(245, 158, 11, 1), inset 0 0 20px rgba(245, 158, 11, 0.6); }
}

.winner-banner {
    position: absolute; top: 40%; left: 50%; transform: translate(-50%, -50%) scale(0); background: linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.98)); border: 2px solid #fbbf24; border-radius: 16px; padding: 14px 26px; text-align: center; z-index: 100; pointer-events: none; opacity: 0;
}
.winner-banner.show { animation: bannerSpringPulse 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, continuousPulse 2s infinite ease-in-out 0.6s; }
.winner-title { font-size: 13px; font-weight: 800; color: #94a3b8; text-transform: uppercase; margin-bottom: 2px; }
.winner-name { font-size: 16px; font-weight: 800; color: #ffffff; margin-bottom: 4px; }
.winner-amount { font-size: 20px; font-weight: 900; color: #fbbf24; }

.card { width: 36px; height: 50px; background: #ffffff; border-radius: 5px; color: #000; font-family: 'Roboto Condensed', sans-serif; font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 6px rgba(0,0,0,0.6); border: 1px solid #cbd5e1; }
.card.red { color: #dc2626; }

.card.back { 
    background: linear-gradient(135deg, #0a1930, #061c38); border: 1px solid #f59e0b; color: transparent; position: relative; overflow: hidden; box-shadow: 0 3px 6px rgba(0,0,0,0.6), inset 0 0 6px rgba(245, 158, 11, 0.4);
}
.card.back::before {
    content: '★'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #f59e0b; font-size: 14px; opacity: 0.9; text-shadow: 0 0 4px rgba(245, 158, 11, 0.8);
}

.card.back.gold-back { background: linear-gradient(135deg, #78350f, #451a03); border-color: #fbbf24; }
.card.back.gold-back::before { color: #fbbf24; content: '🪙'; }

.card.back.neon-back { background: linear-gradient(135deg, #065f46, #064e3b); border-color: #34d399; }
.card.back.neon-back::before { color: #34d399; content: '⚡'; }

.card.back.crimson-back { background: linear-gradient(135deg, #831843, #500724); border-color: #f43f5e; }
.card.back.crimson-back::before { color: #f43f5e; content: '♦'; }

.card.back.cyber-back { background: linear-gradient(135deg, #312e81, #1e1b4b); border-color: #818cf8; }
.card.back.cyber-back::before { color: #818cf8; content: '💻'; }

.card.back.matrix-back { background: linear-gradient(135deg, #022c22, #064e3b); border-color: #10b981; }
.card.back.matrix-back::before { color: #10b981; content: '🍀'; }

.card.back.galaxy-back { background: linear-gradient(135deg, #2e1065, #581c87); border-color: #c084fc; }
.card.back.galaxy-back::before { color: #c084fc; content: '🌌'; }

.card.back.midnight-back { background: linear-gradient(135deg, #09090b, #27272a); border-color: #a1a1aa; }
.card.back.midnight-back::before { color: #a1a1aa; content: '♠'; font-size: 24px; }

.card.back.soviet-red-back { background: linear-gradient(135deg, #8b0000, #400000); border-color: #ffcc00; }
.card.back.soviet-red-back::before { color: #ffcc00; content: '☭'; font-size: 24px; text-shadow: 0 0 5px rgba(255, 204, 0, 0.5); opacity: 1; }

.card.back.soviet-blue-back { background: linear-gradient(135deg, #00008b, #000040); border-color: #ffcc00; }
.card.back.soviet-blue-back::before { color: #ffcc00; content: '★'; font-size: 24px; }

.card.back.carbon-back { background: repeating-linear-gradient(45deg, #18181b, #18181b 4px, #09090b 4px, #09090b 8px); border-color: #52525b; }
.card.back.carbon-back::before { color: #a1a1aa; content: '⬛'; }

.card.back.gold-leaf-back { background: linear-gradient(135deg, #b45309, #f59e0b, #78350f); border-color: #fef08a; }
.card.back.gold-leaf-back::before { color: #fef08a; content: '⚜️'; }

.card.back.matrix-back-anim { background: #022c22; border-color: #10b981; animation: pulseGlow 2s infinite ease-in-out; }
.card.back.matrix-back-anim::before { color: #10b981; content: '◆'; }

.card.back.fire-back-anim { background: #450a0a; background-image: repeating-linear-gradient(45deg, #7f1d1d 0, #7f1d1d 10px, #450a0a 10px, #450a0a 20px); border-color: #ef4444; animation: flameGlow 1.5s infinite ease-in-out; }
.card.back.fire-back-anim::before { color: #f59e0b; content: '🔥'; }

.anim-avatar-skull { animation: shake 2s infinite; }
.anim-avatar-eye { animation: spinSlow 4s linear infinite; display: inline-block; }

.seat { position: absolute; width: 95px; display: flex; flex-direction: column; align-items: center; text-align: center; z-index: 10; cursor: pointer; }
.seat-1 { bottom: -10px; left: 50%; transform: translateX(-50%); }
.seat-2 { bottom: 45px; left: 6px; }
.seat-3 { top: 30px; left: 12px; }
.seat-4 { top: -15px; left: 50%; transform: translateX(-50%); }
.seat-5 { top: 30px; right: 12px; }
.seat-6 { bottom: 45px; right: 6px; }

.seat-cards { display: flex; gap: 4px; justify-content: center; min-height: 45px; margin-bottom: 4px; z-index: 12; transform: translateY(-4px); }
.seat-1 .seat-cards { min-height: 66px; }
.seat-1 .seat-cards .card { width: 46px; height: 64px; font-size: 24px; border-radius: 6px; }

.seat-banner { background: rgba(15, 23, 42, 0.95); border: 1px solid #475569; border-radius: 18px; padding: 3px 6px; width: 100%; display: flex; align-items: center; gap: 5px; box-shadow: 0 4px 10px rgba(0,0,0,0.8); }

.seat-avatar { 
    position: relative; width: 28px; height: 28px; border-radius: 50%; background: #1e293b; border: 1px solid #f59e0b; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; 
}
.seat-avatar.neon-frame { border: 2px solid #38bdf8; box-shadow: 0 0 8px rgba(56, 189, 248, 0.8); }
.seat-avatar.gold-frame { border: 2px solid #fbbf24; box-shadow: 0 0 10px rgba(251, 191, 36, 0.9); }
.seat-avatar.fire-frame { border: 2px solid #ef4444; box-shadow: 0 0 10px rgba(239, 68, 68, 0.9); }
.seat-avatar.diamond-frame { border: 2px solid #a855f7; box-shadow: 0 0 10px rgba(168, 85, 247, 0.9); }
.seat-avatar.plasma-frame { border: 2px solid #06b6d4; box-shadow: 0 0 12px rgba(6, 182, 212, 0.9); }
.seat-avatar.royal-frame { border: 2px solid #eab308; box-shadow: 0 0 15px rgba(234, 179, 8, 1), inset 0 0 5px rgba(255, 255, 255, 0.6); }

.seat-details { display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; width: 100%; }
.seat-name { font-size: 9.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #e2e8f0; width: 100%; text-align: left; }
.seat-chips { font-size: 9.5px; color: #fbbf24; font-weight: 800; }
.allin-badge { color: #ef4444; font-size: 8.5px; font-weight: 800; text-transform: uppercase; }

.seat.is-me .seat-banner { border-color: #3b82f6; background: rgba(30, 58, 138, 0.9); } 
.seat.active .seat-banner { border-color: #f59e0b; box-shadow: 0 0 12px rgba(245, 158, 11, 0.8); }
.seat.is-allin .seat-banner { border-color: #ef4444; }
.seat.folded { opacity: 0.4; }
.seat.sit-out { opacity: 0.8; cursor: pointer !important; pointer-events: auto !important; }
.seat.sit-out .seat-banner { border-color: #f59e0b; background: rgba(15, 23, 42, 0.95); }

.action-container { background: rgba(15, 23, 42, 0.95); border: 1px solid var(--glass-border); border-radius: 14px; padding: 8px; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 -4px 15px rgba(0,0,0,0.5); }
.raise-presets { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.preset-btn {
    background: rgba(30, 41, 59, 0.9); border: 1px solid #475569; color: #fbbf24; padding: 6px 1px; border-radius: 8px; font-size: 10px; font-weight: 800; cursor: pointer; text-align: center;
}
.preset-btn.selected { background: #b45309; color: #fff; border-color: #f59e0b; }
.preset-btn:disabled { opacity: 0.25; cursor: not-allowed; background: #1e293b; color: #64748b; border-color: #334155; }

.allin-slider-wrapper { position: relative; display: inline-block; width: 100%; grid-column: span 1; }

.vertical-slider-popup {
    position: absolute; bottom: 100%; left: 0; right: 0; transform: translateY(-8px); background: rgba(15, 23, 42, 0.98); border: 1px solid #3f3f3f; border-radius: 12px; padding: 4px; display: none; flex-direction: column; align-items: stretch; gap: 4px; z-index: 100; box-shadow: 0 8px 24px rgba(0,0,0,0.8); backdrop-filter: blur(6px); width: 100%; box-sizing: border-box;
}
.vertical-slider-popup.show { display: flex; }
.fix-btn-vert {
    width: 100%; padding: 6px 2px; border-radius: 8px; background: rgba(30, 41, 59, 0.95); border: 1px solid #575454; color: #fbbf24; font-size: 10px; font-weight: 800; cursor: pointer; text-align: center;
}
.fix-btn-vert:hover, .fix-btn-vert.selected { background: #991b1b; color: #fff; border-color: #f87171; box-shadow: 0 0 10px rgba(239, 68, 68, 0.8); }
.fix-btn-vert:disabled { opacity: 0.3; cursor: not-allowed; background: #1e293b; color: #64748b; border-color: #334155; box-shadow: none; }

.action-panel { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; align-items: center; }
.act-btn { padding: 12px 2px; border-radius: 8px; border: 1px solid #78350f; font-weight: 800; font-size: 11px; text-transform: uppercase; cursor: pointer; color: #fef3c7; background: var(--poker-brown-btn); box-shadow: 0 3px 6px rgba(0,0,0,0.4); text-align: center; }
.act-btn:active { background: var(--poker-brown-btn-hover); }
.act-btn:disabled { opacity: 0.3; cursor: not-allowed; background: #1e293b; color: #64748b; }

.emoji-container { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.emoji-toggle-btn {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9); border: 1px solid #a78bfa; border-radius: 8px; width: 100%; height: 100%; min-height: 41px; font-size: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 3px 6px rgba(0,0,0,0.4); transition: transform 0.15s ease;
}
.emoji-toggle-btn:active { transform: scale(0.95); }

.emoji-popup {
    position: absolute; right: 0; bottom: 50px; background: rgba(15, 23, 42, 0.98); border: 1px solid #f59e0b; border-radius: 12px; padding: 8px 12px; display: none; gap: 8px; z-index: 100; box-shadow: 0 8px 24px rgba(0,0,0,0.8); backdrop-filter: blur(6px); white-space: nowrap; max-width: calc(100vw - 20px); box-sizing: border-box; flex-wrap: wrap; justify-content: center; width: 210px;
}
.emoji-popup span { cursor: pointer; font-size: 24px; display: inline-block; transition: transform 0.15s; padding: 2px; }
.emoji-popup span:hover, .emoji-popup span:active { transform: scale(1.35); }

.floating-emoji {
    position: absolute; font-size: 36px; animation: floatUpAndFade 1.6s ease-out forwards; pointer-events: none; z-index: 1000; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.6));
}
@keyframes floatUpAndFade {
    0% { transform: translateY(0) scale(0.4); opacity: 0; }
    20% { transform: translateY(-15px) scale(1.3); opacity: 1; }
    100% { transform: translateY(-90px) scale(1); opacity: 0; }
}

.rules-hand { display: inline-flex; gap: 2px; vertical-align: middle; margin-left: 4px; }
.rules-card { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 30px; background: #fff; color: #000; border-radius: 3px; font-size: 10px; font-weight: 700; border: 1px solid #cbd5e1; font-family: 'Roboto Condensed', sans-serif; }
.rules-card.red { color: #dc2626; }