body { background: #1e1e1e; color: white; font-family: sans-serif; text-align: center; margin: 0; padding: 20px 20px 80px 20px; overflow-x: hidden; }
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.screen { display: none; } 
.screen.active { display: block; animation: slideUp 0.4s forwards; }

input, select { padding: 12px; width: 80%; border-radius: 8px; border: none; margin-bottom: 10px; font-size: 16px; text-align: center; outline: none; background: #fff; color: #000; }
button { background: #0088cc; color: white; border: none; padding: 12px 20px; border-radius: 8px; font-size: 16px; cursor: pointer; margin-bottom: 10px; width: 80%; transition: 0.2s; box-shadow: 0 4px 6px rgba(0,0,0,0.3); }
button:active { transform: scale(0.95); }
button:disabled { background: #555 !important; color: #aaa; cursor: not-allowed; }
.btn-secondary { background: #555; }
.btn-success { background: #28a745; }
.btn-gold { background: #ffc107; color: #333; font-weight: bold; }
.btn-danger { background: #dc3545; }

.player-item { background: #333; padding: 10px; margin: 5px auto; width: 80%; border-radius: 8px; display: flex; justify-content: space-between; align-items: center; }

.board { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px;}
.card-container { position: relative; display: flex; flex-direction: column; align-items: center; width: 110px; transition: 0.3s; }
.card { background: #333; padding: 5px; border-radius: 10px; cursor: pointer; border: 2px solid transparent; }
.card:active { border-color: #0088cc; transform: scale(0.92); }
.card img { width: 100px; height: 150px; object-fit: cover; border-radius: 8px; }
.card-unowned img { filter: grayscale(100%) brightness(30%); border: 1px dashed #555; box-shadow: none; }

.badge-count { position: absolute; top: -5px; right: 5px; background: #ffc107; color: #333; font-weight: bold; border-radius: 50%; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; font-size: 14px; z-index: 10; border: 2px solid #222; box-shadow: 0 2px 5px rgba(0,0,0,0.5); }
.owner-badge { background: #ffc107; color: #000; font-weight: bold; padding: 2px 5px; border-radius: 5px; font-size: 12px; margin-bottom: 5px; z-index: 20; position: relative; }
.voter-badge { background: rgba(0,0,0,0.7); color: white; padding: 2px 5px; border-radius: 5px; font-size: 10px; margin-top: 2px; }
.correct-card-wrap { border-radius: 12px; transform: scale(1.1); z-index: 10; border: 4px solid #28a745; box-shadow: 0 0 20px #28a745; }
.correct-badge { position: absolute; top: -15px; background: #28a745; padding: 2px 10px; border-radius: 10px; font-weight: bold; font-size: 12px; z-index: 25; }

.stat-line { text-align: left; background: #333; padding: 15px; border-radius: 8px; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center;}
.clickable-stat-line { cursor: pointer; transition: 0.2s; }
.clickable-stat-line:active { background: #444; transform: scale(0.98); }

#score-header { background: #2a2a2a; padding: 10px; border-radius: 8px; margin-bottom: 5px; font-size: 14px; display: none; border-bottom: 2px solid #0088cc; }
#round-info { font-size: 12px; color: #ffc107; margin-bottom: 15px; display: none; }

.overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.9); z-index: 1000; justify-content: center; align-items: center; flex-direction: column; }
#card-overlay img { width: 70%; max-width: 300px; border-radius: 12px; border: 3px solid #0088cc; }

.name-roulette-container { width: 90%; height: 80px; background: #222; border: 3px solid #ffc107; border-radius: 8px; overflow: hidden; position: relative; margin: 0 auto; }
.name-roulette-tape { display: flex; height: 100%; align-items: center; gap: 5px; }
.name-roulette-item { width: 140px; height: 60px; flex-shrink: 0; background: #333; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: bold; }
.name-roulette-pointer { position: absolute; top: 0; left: 50%; width: 4px; height: 100%; background: #0088cc; transform: translateX(-50%); z-index: 10; box-shadow: 0 0 10px #0088cc; }

.roulette-container { width: 90%; height: 160px; background: #222; border: 3px solid #0088cc; border-radius: 8px; overflow: hidden; position: relative; box-shadow: 0 0 30px rgba(0, 136, 204, 0.5); }
.roulette-tape { display: flex; height: 100%; align-items: center; gap: 5px; } 
.roulette-item { width: 100px; height: 140px; flex-shrink: 0; background: #333; border-radius: 8px; overflow: hidden; }
.roulette-item img { width: 100%; height: 100%; object-fit: cover; }
.roulette-pointer { position: absolute; top: 0; left: 50%; width: 4px; height: 100%; background: #ffc107; transform: translateX(-50%); z-index: 10; box-shadow: 0 0 10px #ffc107; }

/* МЕНЮ, ЭМОДЗИ, ЧАТ */
#game-menu-btn { position: fixed; bottom: 20px; left: 20px; width: 50px; height: 50px; border-radius: 25px; background: #2a2a2a; border: 2px solid #0088cc; font-size: 24px; display: flex; justify-content: center; align-items: center; z-index: 500; cursor: pointer; padding: 0; }
#game-menu-panel { display: none; position: fixed; bottom: 80px; left: 20px; background: rgba(42, 42, 42, 0.95); padding: 15px; border-radius: 12px; border: 1px solid #555; z-index: 501; flex-direction: column; gap: 10px; }
#emoji-container { position: fixed; bottom: 20px; right: 20px; z-index: 500; display: none; flex-direction: column; align-items: center; }
.emoji-panel-compact { display: none; flex-direction: column; gap: 5px; background: rgba(42,42,42,0.9); padding: 8px; border-radius: 20px; border: 1px solid #555; margin-bottom: 10px; }
.emoji-btn { background: none; border: none; font-size: 28px; width: auto; padding: 5px; margin: 0; }
.floating-emoji { position: fixed; bottom: 80px; font-size: 45px; z-index: 1500; pointer-events: none; animation: floatUp 2.5s ease-out forwards; }
@keyframes floatUp { 0% { opacity: 0; transform: translateY(20px) scale(0.5); } 20% { opacity: 1; transform: translateY(0) scale(1.2); } 100% { opacity: 0; transform: translateY(-200px) scale(1); } }

#timer-container { position: fixed; top: 0; left: 0; width: 100%; height: 6px; background: #222; z-index: 9999; display: none; }
#timer-bar { height: 100%; width: 100%; background: #28a745; transition: width 1s linear; }

#chat-container { background: #2a2a2a; border-radius: 12px; padding: 10px; height: 150px; overflow-y: auto; text-align: left; margin-bottom: 10px; font-size: 14px; border: 1px solid #444; }
.chat-msg { margin-bottom: 5px; word-wrap: break-word; }