body{font-family:sans-serif;background-color:#f0f0f0;color:#333;display:flex;justify-content:center;align-items:center;min-height:100vh;margin:0}#game-container{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 8px #0000001a;width:90%;max-width:800px;position:relative;overflow:hidden}section{text-align:center}h1,h2,h3{color:#005f73}form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem;align-items:center}input[type=text]{padding:.5rem;border:1px solid #ccc;border-radius:4px;width:80%;max-width:300px}button{background-color:#0a9396;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}button:hover{background-color:#005f73}.hidden{display:none}#player-selection-container{display:flex;justify-content:center;gap:2rem;margin-top:2rem}.player-card{cursor:pointer;border:2px solid transparent;border-radius:8px;padding:1rem;transition:all .3s ease;text-align:center}.player-card:hover{border-color:#0a9396;transform:translateY(-5px);background-color:#f8f9fa}.player-card img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid #005f73}.player-card p{margin-top:.5rem;font-weight:700;font-size:1.1rem;color:#005f73}#puzzle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:2px solid #eee;padding-bottom:1rem}#puzzle-title{margin:0}#puzzle-avatar-container{display:flex;align-items:center;gap:1rem}#puzzle-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover}#puzzle-player-name{font-weight:700;font-size:1.2rem;color:#005f73;margin:0}#cipher-key-container{margin:1rem 0;padding:1rem;border:1px solid #eee;border-radius:8px;background-color:#fafafa}#cipher-key{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem 1.5rem;text-align:left;font-size:1.5rem}#full-encrypted-riddle,#current-encrypted-word,#final-riddle{background-color:#e9ecef;padding:1rem;border-radius:4px;white-space:pre-wrap;font-family:monospace;font-size:1.4rem;line-height:1.5;word-break:break-all}#solution-so-far{min-height:100px;background-color:#e0f2f1;padding:1rem;border-radius:4px;font-family:monospace;font-size:1.4rem;line-height:1.5;white-space:pre-wrap}#current-encrypted-word{background-color:#ffc;font-weight:700}#feedback-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:2rem 3rem;border-radius:1rem;background-color:#ff5252e6;color:#fff;font-size:3rem;font-weight:700;font-family:Comic Sans MS,cursive,sans-serif;opacity:0;visibility:hidden;transition:all .3s ease;z-index:100}#feedback-message.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1.1)}.shake{animation:shake-anim .5s}@keyframes shake-anim{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.sparkle{animation:sparkle-anim .7s ease-out;display:inline-block}@keyframes sparkle-anim{0%{transform:scale(1);color:inherit}50%{transform:scale(1.2);color:#ffc107;text-shadow:0 0 15px #ffc107}to{transform:scale(1);color:inherit}}#confetti-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:999}.confetti{position:absolute;width:10px;height:10px;background-color:red;opacity:0}@keyframes fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:.5;transform:translateY(110vh) rotate(720deg)}}
