:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1a1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}#root,.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header h1{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-info{display:flex;align-items:center;gap:1.5rem}.subtitle{color:#94a3b8;font-size:.875rem}.status{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:#ffffff1a}.status-dot{width:8px;height:8px;border-radius:50%;background:#6b7280}.status.connected .status-dot{background:#22c55e;box-shadow:0 0 8px #22c55e}.status.disconnected .status-dot{background:#6b7280}.status.error .status-dot{background:#ef4444}.back-btn{padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#e2e8f0;font-weight:500;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#ffffff26}.main-content{flex:1;display:flex;flex-direction:column}.footer{text-align:center;padding:1.5rem;color:#64748b;font-size:.75rem}@media(max-width:640px){.header{flex-direction:column;gap:.5rem;padding:1rem}.header-info{flex-direction:column;gap:.5rem}}.lobby{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.lobby-container{max-width:600px;width:100%}.lobby-header{text-align:center;margin-bottom:2.5rem}.lobby-header h1{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.lobby-header .subtitle{color:#94a3b8;font-size:1.125rem}.game-selection{margin-bottom:2rem}.game-selection h3,.mode-selection h3{font-size:.875rem;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.mode-selection{margin-bottom:2rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mode-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.mode-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;background:#ffffff08;border:2px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.mode-option:hover{background:#ffffff0f;border-color:#ffffff26}.mode-option.selected{background:#6366f11f;border-color:#6366f1;box-shadow:0 0 15px #6366f126}.mode-option .mode-name{font-weight:600;color:#e2e8f0;font-size:.95rem}.mode-option .mode-description{font-size:.75rem;color:#94a3b8;line-height:1.3}.game-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.game-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease}.game-option:hover{background:#ffffff14;border-color:#fff3}.game-option.selected{background:#8b5cf626;border-color:#8b5cf6;box-shadow:0 0 20px #8b5cf633}.game-option .game-icon{font-size:2rem}.game-option .game-name{font-weight:600;color:#e2e8f0}.lobby-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.action-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;text-align:center}.action-card h3{font-size:1.125rem;font-weight:600;color:#f1f5f9;margin-bottom:.5rem}.action-card p{font-size:.875rem;color:#94a3b8;margin-bottom:1.25rem}.primary-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf666}.join-input-group{display:flex;gap:.5rem}.join-input-group input{flex:1;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:1rem;font-weight:600;letter-spacing:.1em;text-align:center}.join-input-group input::placeholder{color:#64748b;letter-spacing:normal}.join-input-group input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf633}.secondary-btn{padding:.75rem 1.25rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#e2e8f0;font-weight:600;cursor:pointer;transition:all .2s ease}.secondary-btn:hover{background:#ffffff26;border-color:#ffffff4d}.error-message{margin-top:1rem;padding:.75rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;text-align:center;font-size:.875rem}@media(max-width:500px){.lobby-header h1{font-size:2rem}.game-options,.lobby-actions{grid-template-columns:1fr}}.waiting-room{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.waiting-container{max-width:450px;width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem}.room-info{text-align:center;margin-bottom:2rem}.room-code-display{display:flex;flex-direction:column;align-items:center;margin-bottom:.5rem}.room-code-display .label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}.room-code-display .code{font-size:3rem;font-weight:800;letter-spacing:.2em;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-type{font-size:1.125rem;color:#94a3b8}.game-type .mode-tag{display:inline-block;margin-left:.5rem;padding:.2rem .6rem;background:#6366f133;border:1px solid rgba(99,102,241,.4);border-radius:12px;font-size:.75rem;font-weight:600;color:#a5b4fc}.players-section{margin-bottom:2rem}.players-section h3{font-size:.875rem;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;text-align:center}.players-list{display:flex;flex-direction:column;gap:.5rem}.player-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffff0d;border-radius:8px;transition:all .2s ease}.player-item.you{background:#8b5cf626;border:1px solid rgba(139,92,246,.3)}.player-item.host{background:#fbbf241a}.player-avatar{font-size:1.25rem}.player-name{flex:1;font-weight:500;color:#e2e8f0}.waiting-message{text-align:center;padding:1rem;color:#64748b;font-size:.875rem;font-style:italic}.error-message{padding:.75rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;text-align:center;font-size:.875rem;margin-bottom:1rem}.waiting-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.start-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .2s ease}.start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #22c55e66}.waiting-status{text-align:center;padding:1rem;background:#ffffff0d;border-radius:8px;color:#94a3b8;font-size:.875rem}.leave-btn{width:100%;padding:.75rem;background:transparent;border:1px solid rgba(239,68,68,.5);border-radius:8px;color:#ef4444;font-weight:500;cursor:pointer;transition:all .2s ease}.leave-btn:hover{background:#ef444426;border-color:#ef4444}.share-info{text-align:center;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.share-info p{font-size:.875rem;color:#64748b;margin-bottom:.5rem}.share-code{font-size:1.5rem;font-weight:700;letter-spacing:.15em;color:#94a3b8}.tictactoe{display:flex;flex-direction:column;align-items:center;padding:2rem}.ttt-header{text-align:center;margin-bottom:2rem}.ttt-header h2{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mode-badge{display:inline-block;padding:.25rem .75rem;background:#6366f133;border:1px solid rgba(99,102,241,.4);border-radius:20px;font-size:.75rem;font-weight:600;color:#a5b4fc;margin-bottom:.5rem}.mode-hint{font-size:.875rem;color:#94a3b8;margin-bottom:1rem;padding:.5rem 1rem;background:#ffffff0d;border-radius:8px}.ttt-status{font-size:1.25rem;font-weight:500}.ttt-status .your-turn{color:#22c55e;animation:pulse 1.5s infinite}.ttt-status .waiting{color:#94a3b8}.ttt-status .game-over{font-size:1.5rem;font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.ttt-board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#ffffff1a;padding:12px;border-radius:16px;box-shadow:0 8px 32px #0000004d}.ttt-cell{width:100px;height:100px;background:#ffffff0d;border:none;border-radius:12px;font-size:3rem;font-weight:800;cursor:default;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.ttt-cell.X{color:#3b82f6;text-shadow:0 0 20px rgba(59,130,246,.5)}.ttt-cell.O{color:#ef4444;text-shadow:0 0 20px rgba(239,68,68,.5)}.ttt-cell.clickable:hover{background:#ffffff1a;transform:scale(1.02)}.ttt-cell:disabled{cursor:not-allowed}.ttt-info{margin-top:2rem}.players-info{display:flex;gap:1rem}.player-badge{padding:.5rem 1rem;background:#ffffff1a;border-radius:8px;font-size:.875rem;color:#94a3b8;transition:all .2s ease}.player-badge.you{background:#8b5cf64d;color:#c4b5fd}.player-badge.active{background:#22c55e4d;color:#86efac;box-shadow:0 0 12px #22c55e4d}@media(max-width:400px){.ttt-cell{width:80px;height:80px;font-size:2.5rem}}.jeopardy{padding:1.5rem;max-width:1000px;margin:0 auto}.jeopardy-header{text-align:center;margin-bottom:1.5rem}.jeopardy-header h2{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.jeopardy-header .mode-badge{display:inline-block;padding:.25rem .75rem;background:#6366f133;border:1px solid rgba(99,102,241,.4);border-radius:20px;font-size:.75rem;font-weight:600;color:#a5b4fc;margin:0 .5rem}.jeopardy-header .timer-display{display:inline-block;margin-left:.5rem;padding:.25rem .75rem;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:20px;font-size:.875rem;font-weight:700;color:#ef4444;animation:pulse 1s infinite}.game-progress{color:#94a3b8;font-size:.875rem}.team-indicator{text-align:center;padding:.75rem;background:#ffffff0d;border-radius:8px;margin-bottom:1rem;color:#94a3b8}.jeopardy-layout{display:grid;grid-template-columns:1fr 250px;gap:1.5rem}.jeopardy-main{min-width:0}.jeopardy-board{background:linear-gradient(180deg,#1e3a8a,#1e40af);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006}.category-row{display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(180deg,#1e1b4b,#312e81)}.category-header{padding:1rem;text-align:center;font-weight:700;font-size:.875rem;color:#fbbf24;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #fbbf24}.question-row{display:grid;grid-template-columns:repeat(3,1fr)}.question-cell{height:80px;background:transparent;border:none;color:#fbbf24;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}.question-cell:last-child{border-right:none}.question-cell:not(.answered):hover{background:#fbbf241a}.question-cell.answered{color:#374151;cursor:default;background:#0003}.question-cell:disabled{cursor:not-allowed}.question-reveal{margin-top:1.5rem;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.question-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;text-align:center}.question-category{font-size:.875rem;color:#fbbf24;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.question-value{font-size:1.5rem;font-weight:700;color:#22c55e;margin-bottom:1rem}.question-text{font-size:1.25rem;color:#f1f5f9;margin-bottom:1.5rem}.answer-form{display:flex;gap:.5rem}.answer-form input{flex:1;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#fff;font-size:1rem}.answer-form input:focus{outline:none;border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2433}.answer-form button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:8px;color:#1e1b4b;font-weight:600;cursor:pointer;transition:all .2s ease}.answer-form button:hover{transform:scale(1.05);box-shadow:0 4px 12px #fbbf244d}.answer-result{padding:1rem;border-radius:8px;font-weight:600;font-size:1.125rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.answer-result.correct{background:#22c55e33;color:#22c55e;border:1px solid #22c55e}.answer-result.incorrect{background:#ef444433;color:#ef4444;border:1px solid #ef4444}.scoreboard{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem}.scoreboard h3{font-size:1rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;text-align:center}.scores-list{display:flex;flex-direction:column;gap:.5rem}.score-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#ffffff0d;border-radius:8px;transition:all .2s ease}.score-item.leading{background:#fbbf2426;border:1px solid rgba(251,191,36,.3)}.score-item.you{background:#8b5cf633;border:1px solid rgba(139,92,246,.4)}.player-rank{font-size:.75rem;color:#64748b;width:24px}.player-name{flex:1;font-size:.875rem;color:#e2e8f0}.player-score{font-weight:700;color:#fbbf24}.your-score{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#94a3b8;font-size:.875rem}.your-score span{font-size:1.5rem;font-weight:700;color:#8b5cf6;display:block;margin-top:.25rem}.game-over-container{text-align:center;padding:2rem}.game-over-container h3{font-size:2rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.5rem}.final-scores{display:flex;flex-direction:column;gap:.75rem;max-width:300px;margin:0 auto}.final-score-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff0d;border-radius:8px}.final-score-item:first-child{background:#fbbf2426;border:1px solid rgba(251,191,36,.3)}.final-score-item.you{background:#8b5cf633;border:1px solid rgba(139,92,246,.4)}.final-score-item .rank{font-size:1.25rem;font-weight:700;color:#64748b;width:30px}.final-score-item .name{flex:1;font-weight:500}.final-score-item .score{font-size:1.25rem;font-weight:700;color:#fbbf24}@media(max-width:768px){.jeopardy-layout{grid-template-columns:1fr}.scoreboard{order:-1}.question-cell{height:60px;font-size:1.25rem}}.team-scores{display:flex;flex-direction:column;gap:.75rem}.team-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#ffffff0d;border-radius:8px}.team-item.your-team{background:#8b5cf633;border:1px solid rgba(139,92,246,.4)}.team-label{font-weight:600;color:#e2e8f0}.team-score-value{font-size:1.25rem;font-weight:700;color:#fbbf24}.team-results{display:flex;align-items:center;justify-content:center;gap:2rem}.team-results .team-score{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#ffffff0d;border-radius:12px;min-width:150px}.team-results .team-score.winner{background:#fbbf2426;border:2px solid #fbbf24}.team-results .team-name{font-size:1.25rem;font-weight:700;color:#f1f5f9}.team-results .team-members{font-size:.75rem;color:#94a3b8}.team-results .team-points{font-size:2rem;font-weight:700;color:#fbbf24}.team-results .vs{font-size:1.5rem;font-weight:700;color:#64748b}.uno-game{display:flex;flex-direction:column;align-items:center;padding:20px;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.uno-header{text-align:center;margin-bottom:20px}.uno-header h2{font-size:2.5rem;margin:0 0 10px}.uno-info{font-size:1.1rem;opacity:.8}.uno-play-area{display:flex;gap:40px;align-items:center;justify-content:center;margin:30px 0}.deck{position:relative;cursor:pointer}.deck-count{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);font-size:.9rem;opacity:.7}.current-card{display:flex;flex-direction:column;align-items:center}.current-card-label{margin-top:10px;font-size:.9rem;opacity:.7}.uno-card{width:80px;height:110px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 8px #0000004d;-webkit-user-select:none;user-select:none}.uno-card:hover:not(.disabled){transform:translateY(-5px);box-shadow:0 8px 16px #0006}.uno-card.disabled{opacity:.5;cursor:not-allowed}.uno-card.selected{transform:translateY(-10px);box-shadow:0 0 20px #ffffff80}.uno-card.card-back{background:linear-gradient(135deg,#e94560,#0f3460);color:#fff;font-size:1.2rem}.uno-card.card-red{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff}.uno-card.card-yellow{background:linear-gradient(135deg,#ffd93d,#f4c430);color:#333}.uno-card.card-green{background:linear-gradient(135deg,#6bcb77,#4caf50);color:#fff}.uno-card.card-blue{background:linear-gradient(135deg,#4d96ff,#3b82f6);color:#fff}.uno-card.card-wild{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.uno-card.card-special .card-value{font-size:1.5rem}.players-info{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;margin:20px 0}.player-info{background:#ffffff1a;padding:10px 20px;border-radius:20px;display:flex;gap:10px;align-items:center}.player-info.current-turn{background:#ffd7004d;border:2px solid gold}.my-hand{width:100%;max-width:800px;margin-top:20px}.my-hand h3{text-align:center;margin-bottom:15px}.cards-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.game-over{text-align:center;padding:30px;background:#ffd70033;border-radius:15px;margin:20px 0}.game-over h3{font-size:2rem;margin:0}.waiting-message{margin-top:30px;font-size:1.2rem;opacity:.7;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.color-picker-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.color-picker{background:#1a1a2e;padding:30px;border-radius:20px;text-align:center}.color-picker h3{margin-bottom:20px}.color-options{display:flex;gap:15px;justify-content:center}.color-btn{padding:15px 25px;border:none;border-radius:10px;font-size:1.1rem;cursor:pointer;transition:transform .2s}.color-btn:hover{transform:scale(1.1)}.color-btn.color-red{background:#ff6b6b;color:#fff}.color-btn.color-yellow{background:#ffd93d;color:#333}.color-btn.color-green{background:#6bcb77;color:#fff}.color-btn.color-blue{background:#4d96ff;color:#fff}.mafia-game{display:flex;flex-direction:column;align-items:center;padding:20px;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#0f0f23);color:#fff}.mafia-header{text-align:center;margin-bottom:20px}.mafia-header h2{font-size:2.5rem;margin:0 0 10px}.phase-indicator{display:flex;gap:15px;align-items:center;justify-content:center}.phase-badge{padding:8px 20px;border-radius:20px;font-weight:700;font-size:1.1rem}.phase-night{background:linear-gradient(135deg,#1e3c72,#2a5298)}.phase-day{background:linear-gradient(135deg,#f093fb,#f5576c)}.phase-lynch{background:linear-gradient(135deg,#fa709a,#fee140);color:#333}.phase-gameover{background:linear-gradient(135deg,#667eea,#764ba2)}.role-reveal{background:#ffffff1a;padding:20px 40px;border-radius:15px;margin-bottom:25px;text-align:center;width:100%;max-width:500px}.my-role{display:flex;flex-direction:column;align-items:center;gap:10px}.role-icon{font-size:3rem}.role-name{font-size:1.5rem;font-weight:700;color:gold}.role-desc{font-size:.95rem;opacity:.8;margin:5px 0 0}.eliminated-role{color:#ff6b6b}.investigation-result{background:#1e3c72cc;padding:20px;border-radius:15px;margin-bottom:20px;text-align:center;animation:slideIn .3s ease;width:100%;max-width:400px}.investigation-result h3{margin:0 0 10px}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.players-section{width:100%;max-width:600px;margin:20px 0}.players-section h3{text-align:center;margin-bottom:15px}.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.mafia-player{background:#ffffff1a;padding:15px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:5px;transition:all .3s ease}.mafia-player.eliminated{opacity:.5;background:#ff00001a}.mafia-player.killed{background:#ff00004d;border:2px solid #ff6b6b}.mafia-player.lynched{background:#ffa5004d;border:2px solid orange}.player-icon{font-size:2rem}.player-name{font-weight:700;font-size:1.1rem}.player-role{font-size:.8rem;opacity:.7;text-transform:uppercase}.vote-count{font-size:.9rem;color:gold;margin-top:5px}.night-actions,.day-voting{background:#1e3c7299;padding:25px;border-radius:15px;margin:20px 0;width:100%;max-width:500px;text-align:center}.night-actions h3,.day-voting h3{margin:0 0 10px}.action-desc{opacity:.8;margin-bottom:15px}.targets{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:20px}.target-btn{padding:12px 20px;background:#ffffff26;border:2px solid transparent;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:1rem}.target-btn:hover:not(:disabled){background:#ffffff40;transform:translateY(-2px)}.target-btn.selected{border-color:gold;background:#ffd70033}.target-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn{padding:15px 40px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.action-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 5px 20px #667eea66}.action-btn:disabled{opacity:.5;cursor:not-allowed}.vote-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#333}.waiting-message{text-align:center;padding:30px;background:#ffffff0d;border-radius:15px;margin:20px 0}.waiting-message p{margin:5px 0;font-size:1.1rem}.night-result,.lynch-result{background:#f003;padding:20px;border-radius:15px;margin:15px 0;text-align:center;width:100%;max-width:400px}.night-result h4,.lynch-result h4{margin:0 0 10px}.lynch-result{background:#ffa50033}.game-over{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000f2;padding:50px;border-radius:25px;text-align:center;z-index:100;animation:popIn .5s ease}@keyframes popIn{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.game-over h3{font-size:2.5rem;margin:0 0 15px}.winner-text{font-size:1.8rem;color:gold}
