: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}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#1e3c72,#2a5298);min-height:100vh;color:#333}.App{min-height:100vh;display:flex;flex-direction:column}.error-message{position:fixed;top:20px;right:20px;background:#ff4757;color:#fff;padding:15px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;animation:slideIn .3s ease-out}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#fff}.game-end{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;color:#fff;text-align:center}.game-end h2{font-size:3rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.game-end p{font-size:1.5rem;margin-bottom:2rem}.game-end button{background:#4caf50;color:#fff;border:none;padding:15px 30px;font-size:1.1rem;border-radius:8px;cursor:pointer;transition:background .3s ease}.game-end button:hover{background:#45a049}.container{max-width:1200px;margin:0 auto;padding:20px}button{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease;font-weight:500}button:hover:not(:disabled){background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}input{width:100%;padding:12px;border:2px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s ease}input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.home-page{min-height:100vh;color:#fff}.home-page h1{font-size:3.5rem;text-align:center;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.subtitle{text-align:center;font-size:1.3rem;margin-bottom:3rem;opacity:.9}.main-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem}.create-game-section,.join-section{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:2rem;border:1px solid rgba(255,255,255,.2)}.create-game-section h2,.join-section h2{font-size:1.8rem;margin-bottom:1.5rem;color:#fff}.create-game-form{display:flex;flex-direction:column;gap:1rem}.create-game-form button{margin-top:1rem;padding:15px;font-size:1.1rem;background:linear-gradient(135deg,#4caf50,#45a049)}.join-button{width:100%;padding:15px;font-size:1.1rem;background:linear-gradient(135deg,#2196f3,#1976d2);margin-bottom:1.5rem}.join-button:hover{background:linear-gradient(135deg,#1976d2,#1565c0)}.public-games h3{font-size:1.3rem;margin-bottom:1rem;color:#fff}.games-list{display:flex;flex-direction:column;gap:.8rem}.game-item{background:#ffffff0d;border-radius:8px;padding:1rem;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.game-item:hover{background:#ffffff1a;transform:translateY(-2px)}.game-info{display:flex;flex-direction:column;gap:.3rem}.game-code{font-weight:700;font-size:1.1rem;color:gold}.host,.players{font-size:.9rem;opacity:.8}.game-item button{padding:8px 16px;font-size:.9rem;background:linear-gradient(135deg,#4caf50,#45a049)}.rules-section{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:2rem;border:1px solid rgba(255,255,255,.2)}.rules-section h3{font-size:1.5rem;margin-bottom:1rem;color:#fff}.rules{display:grid;gap:1rem}.rule{background:#ffffff0d;padding:1rem;border-radius:8px;border-left:4px solid #4CAF50}.rule strong{color:gold}@media (max-width: 768px){.main-content{grid-template-columns:1fr;gap:2rem}.home-page h1{font-size:2.5rem}.subtitle{font-size:1.1rem}}.game-room{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;display:flex;flex-direction:column}.game-header{background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.game-info h2{font-size:1.5rem;margin-bottom:.5rem;color:gold}.game-info p{margin:.2rem 0;font-size:.9rem;opacity:.8}.player-info{text-align:right}.player-info p{margin:.2rem 0;font-size:.9rem}.start-game-btn{background:linear-gradient(135deg,#4caf50,#45a049);padding:12px 24px;font-size:1rem;border-radius:8px}.game-content{display:grid;grid-template-columns:300px 1fr 350px;gap:1rem;padding:1rem;flex:1;height:calc(100vh - 120px)}.left-panel,.center-panel,.right-panel{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.2);overflow:hidden;display:flex;flex-direction:column}.phase-results-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.phase-results{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:2rem;border:1px solid rgba(255,255,255,.2);text-align:center;max-width:500px;width:90%}.phase-results h3{font-size:1.8rem;margin-bottom:1rem;color:gold}.phase-results p{margin:1rem 0;font-size:1.1rem}.eliminated,.night-kill{color:#ff4757;font-weight:700}.investigation{color:gold;font-weight:700}.phase-results button{margin-top:1rem;padding:12px 24px;background:linear-gradient(135deg,#4caf50,#45a049)}.game-actions{background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;display:flex;justify-content:center;border-top:1px solid rgba(255,255,255,.1)}.leave-game-btn{background:linear-gradient(135deg,#ff4757,#ff3742);color:#fff;padding:12px 24px;font-size:1rem;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.leave-game-btn:hover{background:linear-gradient(135deg,#ff3742,#ff2f3a);transform:translateY(-2px);box-shadow:0 4px 12px #ff47574d}@media (max-width: 1200px){.game-content{grid-template-columns:250px 1fr 300px}}@media (max-width: 768px){.game-header{flex-direction:column;gap:1rem;text-align:center}.player-info{text-align:center}.game-content{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;height:auto}.left-panel,.right-panel{max-height:300px}}.chat-container{display:flex;flex-direction:column;height:100%}.chat-header{background:#0003;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.chat-header h3{margin:0;color:#fff;font-size:1.2rem}.chat-toggle{display:flex;gap:.5rem}.toggle-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.3rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .3s ease}.toggle-btn:hover{background:#fff3}.toggle-btn.active{background:#4caf50;border-color:#4caf50}.phase-header{background:#ffffff0d;padding:.5rem 1rem;margin:.5rem 0;border-radius:4px;text-align:center}.phase-label{color:gold;font-weight:700;font-size:.9rem}.mafia-message{background:#8b00001a;border-left:3px solid #8B0000}.mafia-badge{margin-left:.5rem;font-size:.8rem}.messages-container{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column}.no-messages{display:flex;align-items:center;justify-content:center;height:100%;color:#fff9;text-align:center}.messages{display:flex;flex-direction:column;gap:.8rem}.message{background:#ffffff0d;border-radius:8px;padding:.8rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.message:hover{background:#ffffff14}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.player-name{font-weight:700;color:gold;font-size:.9rem}.timestamp{font-size:.8rem;color:#fff9}.message-content{color:#fff;line-height:1.4;word-wrap:break-word}.message-form{background:#0003;padding:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:.5rem}.message-form input{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.8rem;border-radius:6px;font-size:.9rem}.message-form input::placeholder{color:#fff9}.message-form input:focus{border-color:#4caf50;background:#ffffff26}.message-form input:disabled{background:#ffffff0d;color:#fff6;cursor:not-allowed}.message-form button{padding:.8rem 1.2rem;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:6px;font-size:.9rem;white-space:nowrap}.message-form button:disabled{background:#666;cursor:not-allowed}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.player-list{display:flex;flex-direction:column;height:100%}.player-list-header{background:#0003;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.player-list-header h3{margin:0 0 .5rem;color:#fff;font-size:1.2rem}.action-instruction{margin:0;font-size:.9rem;color:gold;font-style:italic}.players{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.player-item{background:#ffffff0d;border-radius:8px;padding:1rem;border:2px solid transparent;transition:all .3s ease;cursor:pointer;position:relative}.player-item:hover{background:#ffffff14;transform:translateY(-2px)}.player-item.alive{border-color:#4caf504d}.player-item.dead{background:#ff47571a;border-color:#ff47574d;opacity:.6;cursor:not-allowed}.player-item.selected{border-color:gold;background:#ffd7001a;box-shadow:0 0 10px #ffd7004d}.player-item.current-player{border-color:#4caf50;background:#4caf501a;box-shadow:0 0 10px #4caf504d;position:relative}.player-item.current-player:before{content:"👤 YOU";position:absolute;top:-8px;left:10px;background:#4caf50;color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:10px;z-index:1}.player-item.dead:hover{transform:none;background:#ff47571a}.player-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.player-name{font-weight:700;color:#fff;font-size:1rem;display:flex;align-items:center;gap:.5rem}.host-badge{font-size:1.2rem}.player-status{font-size:.8rem;opacity:.8}.player-role{font-size:.9rem;color:gold;margin-bottom:.5rem;font-weight:500}.player-action{font-size:.8rem;color:#4caf50;font-weight:500;text-align:center;padding:.3rem;background:#4caf501a;border-radius:4px;border:1px solid rgba(76,175,80,.2)}.game-stats{background:#0003;padding:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-around}.stat{display:flex;flex-direction:column;align-items:center;gap:.3rem}.stat span:first-child{font-size:.8rem;color:#ffffffb3}.stat span:last-child{font-size:1.2rem;font-weight:700;color:gold}.players::-webkit-scrollbar{width:6px}.players::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.players::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.players::-webkit-scrollbar-thumb:hover{background:#ffffff80}.game-phase{display:flex;flex-direction:column;height:100%;padding:1.5rem;color:#fff}.game-phase.waiting{justify-content:center;text-align:center}.phase-header{text-align:center;margin-bottom:2rem}.phase-header h3{font-size:2rem;margin-bottom:.5rem;color:gold}.phase-header p{font-size:1.1rem;opacity:.9;margin-bottom:1rem}.timer{background:#ffffff1a;border-radius:8px;padding:1rem;border:2px solid #FFD700;display:inline-block;margin:0 auto}.timer span{font-size:1.5rem;font-weight:700;color:gold}.phase-content{flex:1;display:flex;flex-direction:column;gap:1.5rem}.role-instructions{background:#ffffff0d;border-radius:8px;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.role-instructions h4{color:gold;margin-bottom:.8rem;font-size:1.2rem}.role-instructions p{line-height:1.5;opacity:.9}.action-confirmation{background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:8px;padding:1rem;text-align:center}.action-confirmation p{color:#4caf50;font-weight:500;margin:0}.investigation-result{background:#ffd7001a;border:1px solid rgba(255,215,0,.3);border-radius:8px;padding:1rem}.investigation-result h4{color:gold;margin-bottom:.5rem}.investigation-result p{color:gold;font-weight:500;margin:0}.eliminated-players{background:#ff47571a;border:1px solid rgba(255,71,87,.3);border-radius:8px;padding:1rem}.eliminated-players h4{color:#ff4757;margin-bottom:.8rem;font-size:1.1rem}.eliminated-list{display:flex;flex-wrap:wrap;gap:.5rem}.eliminated-player{background:#ff475733;color:#ff4757;padding:.3rem .8rem;border-radius:4px;font-size:.9rem;font-weight:500;border:1px solid rgba(255,71,87,.3)}.waiting-info{display:flex;flex-direction:column;gap:1rem;align-items:center}.player-count{background:#ffffff1a;border-radius:8px;padding:1rem 2rem;border:1px solid rgba(255,255,255,.2)}.player-count span{font-size:1.5rem;font-weight:700;color:gold}.minimum-warning{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px;padding:1rem;color:#ffc107;font-weight:500}.ready-to-start{background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:8px;padding:1rem;color:#4caf50;font-weight:500}.mafia-vote-status{background:#8b00001a;border:1px solid rgba(139,0,0,.3);border-radius:8px;padding:1rem}.mafia-vote-status h4{color:#8b0000;margin-bottom:.8rem;font-size:1.1rem}.mafia-vote-status p{color:#8b0000;font-weight:500;margin:.3rem 0}.consensus-warning{color:#ff6b6b!important;font-weight:700!important;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.night-action-ui{background:#ffffff0d;border-radius:8px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);margin-bottom:1rem}.night-action-ui h4{color:gold;margin-bottom:1rem;font-size:1.2rem}.action-selection{display:flex;flex-direction:column;gap:1rem}.action-selection label{font-weight:500;color:#fff;margin-bottom:.5rem}.action-selection select{padding:.8rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem;cursor:pointer}.action-selection select:focus{outline:none;border-color:gold;box-shadow:0 0 0 2px #ffd70033}.action-selection select option{background:#2c3e50;color:#fff}.confirm-action-btn{padding:.8rem 1.5rem;border:none;border-radius:6px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;align-self:flex-start}.confirm-action-btn:hover:not(:disabled){background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.confirm-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.action-confirmed{background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:8px;padding:1rem;text-align:center}.confirmed-message{color:#4caf50;font-weight:500;margin:0 0 1rem}.change-action-btn{padding:.6rem 1rem;border:1px solid #4CAF50;border-radius:6px;background:transparent;color:#4caf50;font-weight:500;cursor:pointer;transition:all .3s ease}.change-action-btn:hover{background:#4caf501a}.mafia-votes{margin:1rem 0;padding:.8rem;background:#8b00001a;border-radius:6px;border:1px solid rgba(139,0,0,.2)}.mafia-votes h5{color:#8b0000;margin-bottom:.5rem;font-size:1rem}.vote-count{color:#8b0000!important;font-weight:500;margin:.2rem 0!important;padding:.2rem 0}.consensus-success{color:#4caf50!important;font-weight:700!important;animation:successPulse 1s ease-in-out}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.reset-vote-btn{padding:.6rem 1rem;border:1px solid #FF6B6B;border-radius:6px;background:#ff6b6b1a;color:#ff6b6b;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.reset-vote-btn:hover{background:#ff6b6b33;transform:translateY(-1px)}@media (max-width: 768px){.game-phase{padding:1rem}.phase-header h3{font-size:1.5rem}.phase-header p{font-size:1rem}.timer span{font-size:1.2rem}}.join-game{min-height:100vh;color:#fff;display:flex;align-items:center;justify-content:center}.back-button{position:absolute;top:20px;left:20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 20px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.back-button:hover{background:#fff3;transform:translateY(-2px)}.join-form-container{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:3rem;border:1px solid rgba(255,255,255,.2);width:100%;max-width:500px;text-align:center}.join-form-container h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.join-form-container p{font-size:1.1rem;margin-bottom:2rem;opacity:.9}.join-form{display:flex;flex-direction:column;gap:1.5rem}.join-form .form-group{text-align:left}.join-form label{color:#fff;font-weight:500;margin-bottom:.5rem;display:block}.join-form input{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#fff;font-size:1.1rem}.join-form input::placeholder{color:#fff9}.join-form input:focus{border-color:#4caf50;background:#ffffff26}.join-button{padding:15px;font-size:1.1rem;background:linear-gradient(135deg,#2196f3,#1976d2);margin-top:1rem}.join-button:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0)}@media (max-width: 768px){.join-form-container{margin:20px;padding:2rem}.join-form-container h1{font-size:2rem}}.toast{position:fixed;top:20px;right:20px;z-index:1000;min-width:300px;max-width:400px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border-left:4px solid;animation:slideIn .3s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.toast-error{border-left-color:#dc3545}.toast-success{border-left-color:#28a745}.toast-info{border-left-color:#17a2b8}.toast-warning{border-left-color:#ffc107}.toast-content{display:flex;align-items:center;padding:16px;gap:12px}.toast-icon{font-size:20px;flex-shrink:0}.toast-message{flex:1;color:#333;font-size:14px;line-height:1.4;margin:0}.toast-close{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease;flex-shrink:0}.toast-close:hover{background-color:#f0f0f0;color:#333}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast.sliding-out{animation:slideOut .3s ease-in forwards}@media (max-width: 768px){.toast{top:10px;right:10px;left:10px;min-width:auto;max-width:none}.toast-content{padding:12px}.toast-message{font-size:13px}}.toast-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-container .toast{pointer-events:auto}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px;gap:8px}}
