.hangman-game{padding:2rem;max-width:1400px;margin:0 auto}.hangman-game.loading,.hangman-game.error{text-align:center;padding:4rem;font-size:1.2rem}.hangman-game .game-header{text-align:center;margin-bottom:2rem}.hangman-game .game-header h2{font-size:2rem;margin-bottom:1rem;color:#333}.hangman-game .game-header .turn-indicator{display:inline-block;padding:.5rem 1.5rem;border-radius:25px;font-weight:600;font-size:1.1rem;transition:all .3s ease}.hangman-game .game-header .turn-indicator.my-turn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;animation:pulse 1.5s ease-in-out infinite}.hangman-game .game-header .turn-indicator.opponent-turn{background:#e0e0e0;color:#666}.hangman-game .game-header .game-complete{font-size:1.5rem;font-weight:700;padding:1rem}.hangman-game .game-header .game-complete .winner{color:#27ae60}.hangman-game .game-header .game-complete .loser{color:#e74c3c}.hangman-game .game-header .game-complete .draw{color:#95a5a6}.hangman-game .players-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:968px){.hangman-game .players-container{grid-template-columns:1fr}}.hangman-game .player-side{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.hangman-game .player-side.active-turn{box-shadow:0 0 0 3px #667eea;transform:translateY(-2px)}.hangman-game .player-side.my-side{border-top:4px solid #667eea}.hangman-game .player-side.opponent-side{border-top:4px solid #f39c12}.hangman-game .player-side .player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.hangman-game .player-side .player-header h3{font-size:1.3rem;margin:0;color:#333}.hangman-game .player-side .player-header .stats{display:flex;gap:1rem;font-size:.9rem}.hangman-game .player-side .player-header .stats span{background:#f8f9fa;padding:.3rem .7rem;border-radius:8px;font-weight:500}.hangman-game .player-side .word-display{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;min-height:60px;align-items:center}.hangman-game .player-side .word-display .word-letter{font-size:2rem;font-weight:700;font-family:monospace;width:40px;height:50px;display:inline-flex;align-items:center;justify-content:center;border-bottom:3px solid #333;color:#667eea}.hangman-game .player-side .word-display .word-space{width:20px}.hangman-game .player-side .hangman-drawing{display:flex;justify-content:center;margin:1.5rem 0;background:#f8f9fa;border-radius:8px;padding:1rem}.hangman-game .player-side .guesses-info{margin-top:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.hangman-game .player-side .guesses-info>div{margin-bottom:.5rem}.hangman-game .player-side .guesses-info>div:last-child{margin-bottom:0}.hangman-game .player-side .guesses-info>div strong{color:#666;margin-right:.5rem}.hangman-game .player-side .guesses-info .correct-guesses{color:#27ae60}.hangman-game .player-side .guesses-info .incorrect-guesses{color:#e74c3c}.hangman-game .player-side .guesses-info .hits-count{color:#27ae60;font-weight:600}.hangman-game .player-side .guesses-info .misses-count{color:#e74c3c;font-weight:600}.hangman-game .player-side .status{margin-top:1rem;padding:1rem;border-radius:8px;text-align:center;font-weight:700;font-size:1.1rem}.hangman-game .player-side .status.won{background:#d5f4e6;color:#27ae60;border:2px solid #27ae60}.hangman-game .player-side .status.lost{background:#fadbd8;color:#e74c3c;border:2px solid #e74c3c}.hangman-game .player-side .status.lost .revealed-word{margin-top:.5rem;font-size:.9rem;font-family:monospace}.hangman-game .keyboard-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.hangman-game .keyboard-section h3{text-align:center;margin-bottom:1rem;color:#333}.hangman-game .keyboard-section .keyboard{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:800px;margin:0 auto}.hangman-game .keyboard-section .keyboard .key{width:45px;height:45px;border:2px solid #667eea;background:#fff;color:#667eea;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s ease}.hangman-game .keyboard-section .keyboard .key:hover:not(.disabled){background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.hangman-game .keyboard-section .keyboard .key:active:not(.disabled){transform:translateY(0)}.hangman-game .keyboard-section .keyboard .key.correct{background:#27ae60;border-color:#27ae60;color:#fff}.hangman-game .keyboard-section .keyboard .key.incorrect{background:#e74c3c;border-color:#e74c3c;color:#fff}.hangman-game .keyboard-section .keyboard .key.disabled{cursor:not-allowed;opacity:.6}.hangman-game .keyboard-section .guess-feedback{margin-top:1rem;padding:.75rem;border-radius:8px;text-align:center;font-weight:600;animation:slideIn .3s ease}.hangman-game .keyboard-section .guess-feedback.correct{background:#d5f4e6;color:#27ae60;border:2px solid #27ae60}.hangman-game .keyboard-section .guess-feedback.incorrect{background:#fadbd8;color:#e74c3c;border:2px solid #e74c3c}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#111827}.btn-primary{background-color:#0284c7;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:#0369a1}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:#e5e7eb;color:#1f2937;font-weight:600;padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background-color:#d1d5db}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:1.5rem}input[type=text],input[type=email],input[type=password],select,textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,select:focus,textarea:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.min-h-screen{min-height:100vh}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.text-center{text-align:center}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-green-600{color:#16a34a}.text-red-700{color:#b91c1c}.text-blue-800{color:#1e40af}.text-yellow-800{color:#854d0e}.text-primary-700{color:#0369a1}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-primary-100{background-color:#e0f2fe}.bg-primary-700{color:#0369a1}.bg-red-100{background-color:#fee2e2}.bg-green-50{background-color:#f0fdf4}.bg-blue-200{background-color:#bfdbfe}.bg-yellow-200{background-color:#fef08a}.border{border-width:1px}.border-2{border-width:2px}.border-gray-300{border-color:#d1d5db}.border-red-400{border-color:#f87171}.border-primary-400{border-color:#38bdf8}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-2{padding-top:.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.ml-2{margin-left:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.h-12{height:3rem}.w-12{width:3rem}.fixed{position:fixed}.inset-0{inset:0}.z-50{z-index:50}.bg-opacity-50{background-color:#00000080}.opacity-50{opacity:.5}.cursor-not-allowed{cursor:not-allowed}.flex-1{flex:1 1 0%}
