@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,textarea{font-family:inherit}button:disabled{cursor:not-allowed;opacity:.6}*{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;margin:0;padding:0}body{background:#0f0f23;background-image:radial-gradient(circle at 25% 25%,#1a1a3a 0,#0000 50%),radial-gradient(circle at 75% 75%,#2a1a4a 0,#0000 50%);color:#00ff41;font-family:Press Start\ 2P,monospace;font-size:18px;line-height:1.6;min-height:100vh;overflow-x:hidden}.App{position:relative;text-align:center}.App:before{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00ff4108 0,#00ff4108 4px);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1000}.game-title{margin-bottom:20px;text-align:center}.title-main{font-size:32px;letter-spacing:3px;margin:0 0 8px}.title-main,.title-subtitle{color:#00ff41;font-weight:400}.title-subtitle{font-size:12px;letter-spacing:1px;margin:0;opacity:.8}.App-header{background:linear-gradient(45deg,#ff6b35,#f7931e);border-bottom:4px solid #333;box-shadow:0 4px 0 #000;margin-bottom:20px;padding:20px;position:relative}.header-content{align-items:center;display:flex;gap:16px;justify-content:center;position:relative;z-index:2}.logo{-webkit-text-fill-color:#0000;animation:logo-glow 3s ease-in-out infinite alternate;background:linear-gradient(45deg,#00ff41,#6f6);-webkit-background-clip:text;background-clip:text;border:3px solid #fff;border-radius:8px;box-shadow:0 0 15px #ffffff80,inset 0 0 10px #00ff4133;color:#fff;display:inline-block;font-family:Press Start\ 2P,monospace;font-size:36px;margin-right:8px;padding:4px 8px;text-shadow:3px 3px 0 #000,0 0 10px #fff,0 0 20px #fff}.App-header:after{background:repeating-linear-gradient(90deg,#0000,#0000 2px,#0000001a 0,#0000001a 4px);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.App-header h1{color:#fff;font-size:36px;margin:0;position:relative;text-shadow:2px 2px 0 #000;z-index:2}@keyframes logo-glow{0%{box-shadow:0 0 15px #ffffff80,inset 0 0 10px #00ff4133;transform:scale(1)}to{box-shadow:0 0 25px #fffc,inset 0 0 15px #00ff4166;transform:scale(1.05)}}.retro-btn{background:linear-gradient(45deg,#4caf50,#45a049);border:3px solid #333;box-shadow:3px 3px 0 #000;color:#fff;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:12px;padding:16px 20px;text-shadow:1px 1px 0 #000;text-transform:uppercase;transition:all .1s}.retro-btn:hover{box-shadow:2px 2px 0 #000;transform:translate(1px,1px)}.retro-btn:active{box-shadow:0 0 0 #000;transform:translate(3px,3px)}.retro-btn.blue{background:linear-gradient(45deg,#2196f3,#1976d2)}.retro-btn.red{background:linear-gradient(45deg,#f44336,#d32f2f)}.retro-btn.yellow{background:linear-gradient(45deg,#ffeb3b,#fbc02d);color:#000;text-shadow:1px 1px 0 #fff}.retro-btn:disabled{background:#666;cursor:not-allowed;opacity:.6}.retro-panel{background:#1a1a2e;border:3px solid #00ff41;border-radius:0;box-shadow:inset 0 0 0 3px #0f3460,0 0 20px #00ff414d;position:relative}.retro-panel:before{background:linear-gradient(45deg,#00ff41,#0f3460);border-radius:0;bottom:-3px;content:"";left:-3px;position:absolute;right:-3px;top:-3px;z-index:-1}.lobby-container{border:4px solid #00ff41;box-shadow:0 0 30px #00ff4180,inset 0 0 0 4px #0f3460;padding:30px;width:90%}.lobby-container h2{color:#00ff41;font-size:26px;margin-bottom:20px;text-shadow:0 0 10px #00ff41}.input-group label{color:#00ff41;font-size:16px}.input-group input,.input-group textarea{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;color:#00ff41;font-family:Press Start\ 2P,monospace;font-size:16px;padding:10px;width:100%}.input-group input:focus,.input-group textarea:focus{border-color:#00ff41;box-shadow:inset 2px 2px 0 #000,0 0 10px #00ff4180;outline:none}.room-input-container{display:flex;gap:8px}.room-input-container input{flex:1 1}.generate-btn{background:linear-gradient(45deg,#ffeb3b,#fbc02d);border:2px solid #333;box-shadow:2px 2px 0 #000;color:#000;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:14px;padding:12px 16px;text-transform:uppercase}.generate-btn:hover{box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.join-buttons{gap:10px}.join-btn{border:3px solid #333;box-shadow:3px 3px 0 #000;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:18px;padding:16px;text-shadow:1px 1px 0 #000;text-transform:uppercase;width:100%}.join-btn:hover{box-shadow:2px 2px 0 #000;transform:translate(1px,1px)}.spectator-btn{background:linear-gradient(45deg,#ff9800,#f57c00);border:3px solid #333;box-shadow:3px 3px 0 #000;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:18px;padding:16px;text-shadow:1px 1px 0 #000;text-transform:uppercase;width:100%}.spectator-btn:hover{box-shadow:2px 2px 0 #000;transform:translate(1px,1px)}.game-rules{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;margin-top:20px;padding:16px;text-align:left}.game-rules h3{color:#ffeb3b;font-size:18px;margin-bottom:12px;margin-top:0}.game-rules ul{font-size:14px;line-height:1.8;margin:8px 0;padding-left:16px}.rules-content{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:12px}.rule-section{background:#1a1a2e;border:1px solid #444;border-radius:4px;padding:12px}.rule-section h4{color:#4caf50;font-size:16px;margin:0 0 8px;text-transform:uppercase}.rule-section ul{margin:0;padding-left:12px}.rule-section li{font-size:14px;line-height:1.6;margin-bottom:4px}.rule-section li strong{color:#ffeb3b}@media (max-width:768px){.rules-content{gap:12px;grid-template-columns:1fr}.rule-section{padding:12px}.rule-section h4{font-size:14px}.rule-section li{font-size:12px}}.lobby-tabs{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000}.tab-btn{background:#1a1a2e;border:none;border-right:2px solid #333;font-size:16px;padding:16px 20px;text-transform:uppercase;transition:all .2s ease}.tab-btn:last-child{border-right:none}.tab-btn:hover{background:#2a2a3e;color:#fff}.tab-btn.active{background:#ffeb3b;box-shadow:inset 0 0 10px #0000004d;color:#000;text-shadow:none}.tab-content{animation:fadeIn .3s ease-in}.tab-header{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;padding:16px}.tab-header h3{font-size:22px;text-shadow:0 0 10px #ffeb3b}.tab-header p{font-size:16px}.info-item{font-size:14px;margin-bottom:12px}.info-icon{font-size:18px;margin-right:12px;min-width:24px}.create-room-btn{border:3px solid #333;box-shadow:3px 3px 0 #000;font-size:18px;margin-top:16px;text-shadow:1px 1px 0 #000}.create-room-btn:hover{box-shadow:2px 2px 0 #000}.error-message{align-items:center;background:#f443361a;border:2px solid #f44336;color:#f44336;display:flex;font-size:14px;margin:16px 0;padding:12px}.error-icon{font-size:16px;margin-right:8px}.room-created{min-height:70vh}.room-created-container{border:4px solid #00ff41;box-shadow:0 0 30px #00ff4180,inset 0 0 0 4px #0f3460;max-width:800px;padding:30px;width:90%}.success-header{background:linear-gradient(45deg,#1a2e1a,#2a4a2a);border:3px solid #4caf50;box-shadow:0 0 20px #4caf504d;margin-bottom:30px;padding:20px}.success-header h2{color:#4caf50;font-size:24px;text-shadow:0 0 15px #4caf50}.success-header p{font-size:16px}.room-info{grid-gap:24px;display:grid;gap:24px}.current-players,.instructions,.room-code-section,.share-section{padding:20px}.current-players h3,.instructions h3,.room-code-section h3,.share-section h3{font-size:18px;margin-bottom:16px}.room-code-display{gap:16px}.room-code{background:#1a1a2e;border:3px solid #00ff41;box-shadow:0 0 20px #00ff414d;font-size:32px;letter-spacing:4px;padding:16px 24px}.copy-btn{background:linear-gradient(45deg,#ffeb3b,#fbc02d);border:2px solid #333;color:#000;font-size:12px;padding:12px 16px;text-transform:uppercase}.copy-btn.copied{background:linear-gradient(45deg,#4caf50,#45a049)}.share-url{gap:12px}.share-input{background:#1a1a2e;box-shadow:inset 2px 2px 0 #000;color:#00ff41;font-size:14px;padding:12px}.instruction-list{gap:12px}.instruction-item{font-size:14px}.step-number{display:flex;font-size:16px;height:32px;margin-right:16px;width:32px}.players-list{gap:8px}.player-item{align-items:center;border:2px solid #333;display:flex;font-size:16px;padding:12px}.player-item.creator{background:linear-gradient(45deg,#2a1a00,#3d2700);box-shadow:0 0 15px #ffeb3b4d}.player-name{color:#00ff41;text-shadow:0 0 10px #00ff41}.continue-section{border-top:2px solid #333;margin-top:30px;padding-top:20px}.continue-btn{background:linear-gradient(45deg,#2196f3,#1976d2);border:3px solid #333;box-shadow:3px 3px 0 #000;color:#fff;font-size:18px;padding:16px 24px;text-shadow:1px 1px 0 #000;text-transform:uppercase}.continue-btn:hover{box-shadow:2px 2px 0 #000}.continue-note{font-size:14px}@media (max-width:768px){.tab-btn{font-size:14px;padding:12px 16px}.tab-header h3{font-size:18px}.tab-header p{font-size:14px}.room-code{font-size:24px;letter-spacing:2px;padding:12px 16px}.room-code-display{gap:12px}.room-code-display,.share-url{flex-direction:column}.instruction-item{font-size:12px}.step-number{font-size:14px;height:28px;margin-right:12px;width:28px}}.game-room{margin:0 auto;max-width:1200px;padding:20px}.ready-btn{border:3px solid #333;box-shadow:3px 3px 0 #000;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:18px;margin-top:16px;padding:16px 24px;text-shadow:1px 1px 0 #000;text-transform:uppercase;transition:all .1s}.ready-btn.not-ready{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff}.ready-btn.ready{background:linear-gradient(45deg,#ff6b35,#f44336);color:#fff}.ready-btn:hover{box-shadow:2px 2px 0 #000;transform:translate(1px,1px)}.starting-message{background:#1a2e1a;border:2px solid #4caf50;box-shadow:0 0 20px #4caf504d;margin-top:20px;padding:16px;text-align:center}.starting-message p{color:#4caf50;font-size:14px;margin-bottom:12px;text-shadow:0 0 10px #4caf50}.ready-badge{border-radius:0;font-size:12px;margin-top:4px;padding:4px 8px;text-transform:uppercase}.ready-badge.ready{background:#4caf50;color:#000;text-shadow:none}.ready-badge.not-ready{background:#666;color:#ccc;text-shadow:none}.room-header{background:#1a1a2e;border:3px solid #00ff41;box-shadow:0 0 20px #00ff414d;margin-bottom:16px;padding:16px}.room-header h2{color:#00ff41;font-size:20px;margin:0;text-shadow:0 0 10px #00ff41}.start-game-btn{background:linear-gradient(45deg,#4caf50,#45a049);border:3px solid #333;box-shadow:3px 3px 0 #000;color:#fff;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:8px;margin-top:16px;padding:12px 20px;text-shadow:1px 1px 0 #000;text-transform:uppercase}.start-game-btn:hover{box-shadow:2px 2px 0 #000;transform:translate(1px,1px)}.waiting-message{color:#ffeb3b;font-size:8px;margin-top:16px;text-shadow:0 0 5px #ffeb3b}.game-room.playing{display:flex;flex-direction:column;height:calc(100vh - 120px)}.game-header{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;margin-bottom:16px;padding:12px}.round-info{align-items:center;color:#00ff41;display:flex;font-size:16px;justify-content:space-between}.timer{animation:pulse 1s infinite;color:#ff6b35;text-shadow:0 0 5px #ff6b35}.game-content{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:300px 1fr 350px;min-height:0}.center-panel,.left-panel,.right-panel{background:#1a1a2e;border:2px solid #00ff41;box-shadow:0 0 15px #00ff4133;padding:20px}.center-panel{align-items:center;display:flex;flex-direction:column;justify-content:center}.player-list h4{color:#ffeb3b;font-size:16px;margin-bottom:12px;margin-top:0;text-transform:uppercase}.player{align-items:center;background:#0f0f23;border:1px solid #333;display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px;padding:12px}.player.prompt-giver{background:#2a1a00;border:2px solid #ffeb3b;box-shadow:0 0 10px #ffeb3b4d}.player.ready{border-color:#4caf50;box-shadow:0 0 10px #4caf504d}.player-info{align-items:flex-start;flex-direction:column}.role-badge{background:#ffeb3b;color:#000;font-size:10px;margin-top:4px;padding:4px 8px;text-transform:uppercase}.player-score{color:#4caf50;text-shadow:0 0 5px #4caf50}.prompt-input-container{max-width:600px;text-align:center;width:100%}.prompt-input-container h3{color:#00ff41;font-size:20px;margin-bottom:8px;text-shadow:0 0 10px #00ff41}.prompt-timer{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;margin-bottom:12px;padding:8px}.prompt-timer .timer{color:#ffeb3b;font-size:18px;text-shadow:0 0 10px #ffeb3b}.prompt-timer .timer.urgent{animation:pulse .5s infinite;color:#ff6b35;text-shadow:0 0 10px #ff6b35}.prompt-input{background:#0f0f23;border:3px solid #333;box-shadow:inset 2px 2px 0 #000;color:#00ff41;font-family:Press Start\ 2P,monospace;font-size:16px;padding:16px;text-align:center;width:100%}.prompt-input:focus{border-color:#00ff41;box-shadow:inset 2px 2px 0 #000,0 0 15px #00ff4180;outline:none}.char-count{color:#ccc;font-size:12px;margin-top:4px;text-align:right}.char-count.over-limit{color:#ff6b35;text-shadow:0 0 5px #ff6b35}.prompt-buttons{display:flex;gap:8px;justify-content:center;margin-top:12px}.random-image-btn,.submit-prompt-btn{border:2px solid #333;box-shadow:2px 2px 0 #000;cursor:pointer;flex:1 1;font-family:Press Start\ 2P,monospace;font-size:14px;padding:12px 20px;text-transform:uppercase}.submit-prompt-btn{background:linear-gradient(45deg,#2196f3,#1976d2);color:#fff}.random-image-btn{background:linear-gradient(45deg,#ff6b35,#f44336);color:#fff}.random-image-btn:disabled,.submit-prompt-btn:disabled{background:#666;cursor:not-allowed;opacity:.6}.random-image-btn:hover:not(:disabled),.submit-prompt-btn:hover:not(:disabled){box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.prompt-tips{background:#0f0f23;border:1px solid #333;box-shadow:inset 1px 1px 0 #000;margin-top:20px;padding:12px;text-align:left}.prompt-tips h4{color:#ffeb3b;font-size:6px;margin-bottom:8px;margin-top:0}.prompt-tips ul{font-size:5px;line-height:1.6}.game-image-container{width:100%}.image-wrapper{margin:16px auto;max-width:500px;position:relative}.game-image{border:3px solid #00ff41;box-shadow:0 0 20px #00ff4180;image-rendering:pixelated;max-width:500px;width:100%}.image-error,.image-loading{align-items:center;background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;display:flex;flex-direction:column;height:300px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #333;border-top-color:#00ff41;height:32px;margin-bottom:8px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.guess-input-container{max-width:400px;text-align:center;width:100%}.guess-input-container h4{color:#00ff41;font-size:16px;margin-bottom:8px;text-shadow:0 0 10px #00ff41}.guess-timer{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;margin-bottom:12px;padding:8px}.guess-timer .timer{color:#ffeb3b;font-size:16px;text-shadow:0 0 10px #ffeb3b}.guess-timer .timer.urgent{animation:pulse .5s infinite;color:#ff6b35;text-shadow:0 0 10px #ff6b35}.guess-input{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;color:#00ff41;font-family:Press Start\ 2P,monospace;font-size:16px;margin-bottom:8px;padding:12px;text-align:center;width:100%}.guess-input:focus{border-color:#00ff41;box-shadow:inset 2px 2px 0 #000,0 0 15px #00ff4180;outline:none}.input-with-counter{position:relative;width:100%}.submit-guess-btn{background:linear-gradient(45deg,#4caf50,#45a049);border:2px solid #333;box-shadow:2px 2px 0 #000;color:#fff;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:14px;padding:12px;text-transform:uppercase;width:100%}.submit-guess-btn:disabled{background:#666;cursor:not-allowed;opacity:.6}.submit-guess-btn:hover:not(:disabled){box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.guess-tips{background:#1a1a2e;border:2px solid #333;box-shadow:inset 1px 1px 0 #000;color:#ccc;font-size:6px;margin-top:12px;padding:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.guesses-list{margin-top:16px}.guesses-list h4{color:#ffeb3b;font-size:16px;margin-bottom:8px}.guess-item{background:#0f0f23;border:1px solid #333;box-shadow:inset 1px 1px 0 #000;font-size:12px;margin-bottom:6px;padding:10px;text-align:left}.round-results{background:#1a1a2e;border:3px solid #ffeb3b;box-shadow:0 0 30px #ffeb3b80;max-width:600px;padding:20px;text-align:center}.round-results h3{color:#ffeb3b;font-size:22px;margin-bottom:16px;text-shadow:0 0 15px #ffeb3b}.original-prompt{background:#0f0f23;border:2px solid #00ff41;box-shadow:0 0 15px #00ff414d;margin-bottom:16px;padding:12px}.original-prompt h4{color:#00ff41;font-size:16px;margin-bottom:8px}.guesses-results{margin-bottom:16px}.guesses-results h4{color:#00ff41;font-size:18px;margin-bottom:8px}.guess-result{align-items:center;background:#0f0f23;border:1px solid #333;box-shadow:inset 1px 1px 0 #000;display:flex;font-size:14px;justify-content:space-between;margin-bottom:6px;padding:10px 12px}.guess-result.best-guess{background:#2a1a00;border:2px solid #ffeb3b;box-shadow:0 0 10px #ffeb3b4d}.guess-content{flex:1 1;text-align:left}.player-name{margin-right:4px}.guess-text{color:#00ff41}.score{font-weight:700;text-shadow:0 0 5px currentColor}.score.excellent{color:#4caf50}.score.good{color:#8bc34a}.score.okay{color:#ffeb3b}.score.poor{color:#ff6b35}.no-guesses{border:2px solid #666;color:#666;padding:16px}.next-round-info,.no-guesses{background:#0f0f23;font-size:14px}.next-round-info{border:2px solid #333;box-shadow:inset 2px 2px 0 #000;color:#ccc;margin-top:16px;padding:12px}.game-finished{text-align:center}.final-scores{margin-top:20px}.final-score{align-items:center;background:#0f0f23;border:2px solid #333;box-shadow:inset 1px 1px 0 #000;display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px;padding:12px}.final-score.winner{animation:winner-glow 2s infinite;background:#2a1a00;border:3px solid #ffeb3b;box-shadow:0 0 20px #ffeb3b80,inset 1px 1px 0 #000}@keyframes winner-glow{0%,to{box-shadow:0 0 20px #ffeb3b80,inset 1px 1px 0 #000}50%{box-shadow:0 0 30px #ffeb3bcc,inset 1px 1px 0 #000}}@media (max-width:768px){body{font-size:14px}.game-content{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.left-panel{order:1}.center-panel{order:2}.right-panel{order:3}.lobby-container{padding:16px}.App-header h1{font-size:24px}}@media (min-width:769px){.App:after{background:radial-gradient(ellipse at center,#0000 0,#0000004d 100%);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:999}}.spectator-message{background:#ff98001a;border:2px solid #ff9800;border-radius:8px;margin:20px 0;padding:20px;text-align:center}.spectator-message p{color:#ff9800;margin:5px 0}.spectator-indicator{background:#ff98001a;border:2px solid #ff9800;border-radius:8px;margin-top:10px;padding:10px;text-align:center}.spectator-indicator p{color:#ff9800;font-size:8px;margin:0}.spectator-section{border-top:2px solid #333;margin-top:20px;padding-top:15px}.spectator-section h4{color:#ff9800;font-size:16px;margin-bottom:10px}.spectators{display:flex;flex-direction:column;gap:8px}.spectator{background:#ff98001a;border:2px solid #ff9800;border-radius:6px;justify-content:space-between;padding:8px 12px}.spectator,.spectator-info{align-items:center;display:flex}.spectator-info{gap:8px}.spectator-name{color:#ff9800;font-size:14px}.spectator-guessing{background:#ff98001a;border:2px solid #ff9800;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.spectator-guessing p{color:#ff9800;margin:5px 0}.spectator-note{color:#ff9800;font-size:14px;margin-top:10px}.no-guesses p:first-child{color:#00ff41;text-shadow:0 0 10px #00ff4180}.no-guesses p:last-child{color:#888;font-size:12px;margin-top:8px}.turn-info{color:#888;font-size:12px;margin-left:5px}.game-complete-header{background:linear-gradient(45deg,#1a1a2e,#16213e);border:3px solid #ffeb3b;box-shadow:0 0 30px #ffeb3b80;margin-bottom:24px;padding:16px}.game-complete-header h2{animation:celebration-glow 2s infinite;color:#ffeb3b;font-size:24px;margin-bottom:8px;text-shadow:0 0 20px #ffeb3b}.game-complete-header p{color:#00ff41;font-size:14px;margin:0}@keyframes celebration-glow{0%,to{text-shadow:0 0 20px #ffeb3b;transform:scale(1)}50%{text-shadow:0 0 30px #ffeb3b,0 0 40px #ffeb3b;transform:scale(1.05)}}.winner-announcement{animation:winner-celebration 3s infinite;background:linear-gradient(45deg,#2a1a00,#3d2700);border:3px solid #ffeb3b;box-shadow:0 0 40px #ffeb3bb3,inset 0 0 20px #ffeb3b1a;margin-bottom:24px;padding:20px}.winner-announcement h3{color:#ffeb3b;font-size:12px;margin-bottom:8px;text-shadow:0 0 25px #ffeb3b}.winner-score{color:#00ff41;font-size:10px;margin:0;text-shadow:0 0 15px #00ff41}@keyframes winner-celebration{0%,to{box-shadow:0 0 40px #ffeb3bb3,inset 0 0 20px #ffeb3b1a}50%{box-shadow:0 0 60px #ffeb3be6,inset 0 0 30px #ffeb3b33}}.final-rankings{margin-bottom:24px}.final-rankings h4{color:#00ff41;font-size:10px;margin-bottom:16px;text-shadow:0 0 15px #00ff41}.rankings-list{display:flex;flex-direction:column;gap:8px}.ranking-item{align-items:center;background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;display:flex;padding:12px 16px;transition:all .3s ease}.ranking-item.first-place{background:linear-gradient(45deg,#2a1a00,#3d2700);border:3px solid #ffeb3b;box-shadow:0 0 20px #ffeb3b80,inset 2px 2px 0 #000}.ranking-item.second-place{background:linear-gradient(45deg,#1a1a1a,#2a2a2a);border:2px solid silver;box-shadow:0 0 15px #c0c0c04d,inset 2px 2px 0 #000}.ranking-item.third-place{background:linear-gradient(45deg,#2a1a0a,#3d2715);border:2px solid #cd7f32;box-shadow:0 0 15px #cd7f324d,inset 2px 2px 0 #000}.rank-position{font-size:20px;margin-right:16px;min-width:24px;text-align:center}.player-info{align-items:center;display:flex;flex:1 1;justify-content:space-between}.player-name{font-size:14px;text-shadow:0 0 10px #ffeb3b}.player-score{color:#00ff41;font-size:14px;font-weight:700;text-shadow:0 0 10px #00ff41}.game-stats{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;color:#ccc;font-size:12px;padding:16px}.game-stats p{margin:4px 0}.game-stats p:first-child{color:#ffeb3b;font-size:14px;text-shadow:0 0 10px #ffeb3b}@media (max-width:768px){.game-complete-header h2{font-size:18px}.winner-announcement h3{font-size:16px}.winner-score{font-size:14px}.ranking-item{padding:8px 12px}.rank-position{font-size:18px;margin-right:12px;min-width:20px}.player-name,.player-score{font-size:12px}}.game-header{background:#1a1a2e;border-bottom:2px solid #333;box-shadow:0 2px 10px #00000080;padding:12px 16px}.sound-toggle{align-items:center;background:#0f0f23;border:2px solid #333;box-shadow:2px 2px 0 #000;color:#ffeb3b;cursor:pointer;display:flex;font-size:16px;height:44px;justify-content:center;min-width:44px;padding:8px 12px;transition:all .2s ease}.sound-toggle:hover{background:#1a1a2e;box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.sound-toggle.enabled{border-color:#00ff41;color:#00ff41;text-shadow:0 0 10px #00ff41}.sound-toggle.disabled{border-color:#ff6b35;color:#ff6b35;text-shadow:0 0 10px #ff6b35}.sound-toggle.enabled:hover{box-shadow:0 0 15px #00ff414d,1px 1px 0 #000}.sound-toggle.disabled:hover{box-shadow:0 0 15px #ff6b354d,1px 1px 0 #000}@media (max-width:768px){.game-header{padding:8px 12px}.sound-toggle{font-size:14px;height:36px;min-width:36px;padding:6px 10px}.round-info{font-size:6px}.round-info .turn-info{display:block;margin-top:2px}}.game-settings{background:#1a1a2e;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;margin:20px 0;padding:16px}.rounds-selector{align-items:center;display:flex;flex-direction:column;gap:12px}.rounds-selector label{color:#ffeb3b;font-size:8px;margin-bottom:8px;text-shadow:0 0 10px #ffeb3b}.rounds-controls{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;gap:16px;padding:8px 16px}.rounds-btn,.rounds-controls{align-items:center;display:flex}.rounds-btn{background:#333;border:2px solid #555;box-shadow:2px 2px 0 #000;color:#ffeb3b;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:12px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.rounds-btn:hover:not(:disabled){background:#444;box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.rounds-btn:disabled{background:#222;color:#666;cursor:not-allowed;opacity:.5}.rounds-btn.decrease{border-color:#ff6b35;color:#ff6b35}.rounds-btn.increase{border-color:#00ff41;color:#00ff41}.rounds-btn.decrease:hover:not(:disabled){box-shadow:0 0 10px #ff6b354d,1px 1px 0 #000}.rounds-btn.increase:hover:not(:disabled){box-shadow:0 0 10px #00ff414d,1px 1px 0 #000}.rounds-display{color:#00ff41;font-family:Press Start\ 2P,monospace;font-size:14px;min-width:24px;padding:0 8px;text-shadow:0 0 15px #00ff41}.rounds-display,.rounds-info{text-align:center}.rounds-info small{color:#ccc;font-family:Press Start\ 2P,monospace;font-size:10px}.rounds-display-only{align-items:center;background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;display:flex;flex-direction:column;gap:8px;padding:12px}.rounds-display-only span{color:#ffeb3b;font-family:Press Start\ 2P,monospace;font-size:14px;text-shadow:0 0 10px #ffeb3b}.rounds-display-only small{color:#ccc;font-family:Press Start\ 2P,monospace;font-size:10px}@media (max-width:768px){.game-settings{margin:16px 0;padding:12px}.rounds-controls{gap:12px;padding:6px 12px}.rounds-btn{font-size:10px;height:28px;width:28px}.rounds-display{font-size:12px}.rounds-selector label{font-size:7px}.rounds-info small{font-size:5px}.rounds-display-only span{font-size:7px}.rounds-display-only small{font-size:5px}}.lobby-tabs{border-bottom:2px solid #333;display:flex;margin-bottom:24px}.tab-btn{background:#0f0f23;border:2px solid #333;border-bottom:none;color:#ccc;cursor:pointer;flex:1 1;font-family:Press Start\ 2P,monospace;font-size:8px;padding:12px 16px;position:relative;transition:all .3s ease}.tab-btn:first-child{border-right:1px solid #333}.tab-btn.active,.tab-btn:hover{background:#1a1a2e;color:#ffeb3b}.tab-btn.active{border-color:#ffeb3b;box-shadow:0 0 15px #ffeb3b4d;text-shadow:0 0 10px #ffeb3b}.tab-btn.active:after{background:#1a1a2e;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-header{margin-bottom:24px;text-align:center}.tab-header h3{color:#ffeb3b;font-size:10px;margin-bottom:8px;text-shadow:0 0 15px #ffeb3b}.tab-header p{color:#ccc;font-size:7px;margin:0}.create-info{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;margin:20px 0;padding:16px}.info-item{align-items:center;color:#ccc;display:flex;font-size:7px;margin-bottom:8px}.info-item:last-child{margin-bottom:0}.info-icon{font-size:10px;margin-right:8px}.create-room-btn{background:linear-gradient(45deg,#4caf50,#45a049);border:2px solid #333;box-shadow:2px 2px 0 #000;color:#fff;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:10px;padding:16px;text-transform:uppercase;transition:all .2s ease;width:100%}.create-room-btn:hover{background:linear-gradient(45deg,#45a049,#4caf50);box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.room-created{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.room-created-container{background:#1a1a2e;border:3px solid #ffeb3b;box-shadow:0 0 30px #ffeb3b80;max-width:600px;padding:24px;width:100%}.success-header{margin-bottom:32px;text-align:center}.success-header h2{animation:celebration-glow 2s infinite;color:#ffeb3b;font-size:12px;margin-bottom:12px;text-shadow:0 0 20px #ffeb3b}.success-header p{color:#00ff41;font-size:8px;margin:0}.room-info{margin-bottom:32px}.current-players,.instructions,.room-code-section,.share-section{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;margin-bottom:24px;padding:16px}.current-players h3,.instructions h3,.room-code-section h3,.share-section h3{color:#ffeb3b;font-size:8px;margin-bottom:12px;text-shadow:0 0 10px #ffeb3b}.room-code-display{align-items:center;display:flex;gap:12px}.room-code{background:#000;border:2px solid #00ff41;box-shadow:0 0 10px #00ff414d;color:#00ff41;font-size:16px;letter-spacing:2px;padding:8px 16px;text-shadow:0 0 15px #00ff41}.copy-btn,.room-code{font-family:Press Start\ 2P,monospace}.copy-btn{background:#333;border:2px solid #555;box-shadow:2px 2px 0 #000;color:#ffeb3b;cursor:pointer;font-size:6px;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.copy-btn:hover{background:#444;box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.copy-btn.copied{background:#4caf50;border-color:#4caf50;color:#fff}.share-input{background:#000;border:2px solid #333;color:#ccc;flex:1 1;font-family:Press Start\ 2P,monospace;font-size:6px;margin-right:8px;padding:8px}.share-url{align-items:center;display:flex}.instruction-list{display:flex;flex-direction:column;gap:8px}.instruction-item{align-items:center;color:#ccc;display:flex;font-size:7px}.step-number{align-items:center;background:#ffeb3b;border-radius:50%;color:#000;display:inline-flex;font-size:6px;font-weight:700;height:20px;justify-content:center;margin-right:12px;width:20px}.players-list{display:flex;flex-direction:column;gap:4px}.player-item{background:#1a1a2e;border:1px solid #333;font-size:7px;padding:6px 8px}.player-item.creator{background:#2a1a00;border-color:#ffeb3b;box-shadow:0 0 10px #ffeb3b33}.player-name{color:#ffeb3b}.continue-section{text-align:center}.continue-btn{background:linear-gradient(45deg,#00ff41,#0c3);border:2px solid #333;box-shadow:2px 2px 0 #000;color:#000;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:10px;margin-bottom:12px;padding:16px;transition:all .2s ease;width:100%}.continue-btn:hover{background:linear-gradient(45deg,#0c3,#00ff41);box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.continue-note{color:#ccc;font-size:6px;margin:0}@media (max-width:768px){.tab-btn{font-size:7px;padding:10px 12px}.tab-header h3{font-size:9px}.tab-header p{font-size:6px}.create-room-btn{font-size:8px;padding:12px}.room-created-container{padding:16px}.success-header h2{font-size:10px}.room-code{font-size:12px;padding:6px 12px}.copy-btn{font-size:5px;padding:6px 8px}.continue-btn{font-size:8px;padding:12px}}.game-header{align-items:center;background:linear-gradient(45deg,#1a1a2e,#16213e);border:2px solid #0f3460;box-shadow:0 0 20px #0f346066,inset 2px 2px 0 #000;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 20px;width:100%}.round-info{flex:1 1;text-align:left}.header-right{align-items:center;display:flex;gap:20px}.timer{background:linear-gradient(45deg,#0a1a1a,#1a2a3a);border:2px solid #4ecdc4;box-shadow:0 0 15px #4ecdc44d,inset 1px 1px 0 #000;color:#4ecdc4;font-family:Press Start\ 2P,monospace;font-size:10px;padding:8px 12px;text-shadow:0 0 10px #4ecdc4;white-space:nowrap}.sound-controls{align-items:center;display:flex}@media (max-width:768px){.game-header{flex-direction:column;gap:10px;padding:10px 15px}.header-right{gap:15px}.timer{font-size:8px;padding:6px 10px}}@media (max-width:480px){.game-header{padding:8px 12px}.header-right{gap:12px}.timer{font-size:7px;padding:5px 8px}}.player.disconnected{background:linear-gradient(45deg,#2a2a2a,#3a3a3a);border-color:#666;opacity:.6}.player.disconnected .player-name{color:#999}.disconnect-indicator{font-size:.8em;margin-left:5px;opacity:.7}.connection-status{background:#ff6b6b1a;border-radius:10px;color:#ff6b6b;font-size:.7em;margin-left:8px;padding:2px 6px}.player.disconnected .ready-badge,.player.disconnected .role-badge{opacity:.5}.app-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border-top:1px solid #333;margin-top:40px;padding:20px 0}.footer-content{align-items:center;display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:800px;padding:0 20px}.footer-support{margin-bottom:8px}.coffee-link{align-items:center;background:linear-gradient(45deg,#ff6b35,#f7931e);border:2px solid #0000;border-radius:20px;color:#fff;display:inline-flex;font-size:10px;font-weight:700;gap:6px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.coffee-link:hover{background:linear-gradient(45deg,#f7931e,#ff6b35);border-color:#ff6b35;box-shadow:0 4px 12px #ff6b354d;transform:translateY(-2px)}.footer-credits{color:#6f6;font-size:7px;line-height:1.4;opacity:.7;text-align:center}.footer-credits p{margin:2px 0}.developer-link{color:#00ff41;font-weight:700;text-decoration:none;transition:all .3s ease}.developer-link:hover{color:#6f6;text-decoration:underline;text-shadow:0 0 5px #00ff41}@media (max-width:768px){.footer-content{padding:0 15px}.coffee-link{font-size:9px;padding:6px 12px}.footer-credits{font-size:6px}}.App{display:flex;flex-direction:column;min-height:100vh}.App>:not(.app-footer){flex:1 1}.tutorial-section{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;margin-top:40px;padding:20px;text-align:left}.tutorial-section h3{color:#ffeb3b;font-size:18px;margin-bottom:20px;margin-top:0;text-align:center;text-shadow:0 0 10px #ffeb3b}.tutorial-slider{background:#1a1a2e;border:2px solid #444;border-radius:8px;box-shadow:0 0 15px #00ff411a;overflow:hidden;position:relative}.slide-container{height:450px;overflow:hidden;position:relative}.slides-wrapper{display:flex;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1)}.tutorial-slide{background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:column;justify-content:flex-start;min-width:100%;padding:24px}.slide-header{align-items:center;border-bottom:2px solid #333;display:flex;margin-bottom:20px;padding-bottom:12px}.slide-icon{filter:drop-shadow(0 0 8px rgba(255,235,59,.5));font-size:32px;margin-right:16px}.slide-header h4{color:#ffeb3b;font-size:18px;margin:0;text-shadow:0 0 10px #ffeb3b}.slide-content{flex:1 1}.slide-content ul{list-style:none;margin:0;padding-left:20px}.slide-content li{color:#ccc;font-size:14px;line-height:1.6;margin-bottom:12px;padding-left:20px;position:relative}.slide-content li:before{color:#00ff41;content:"▶";font-size:12px;left:0;position:absolute;top:2px}.slide-content li:last-child{margin-bottom:0}.tutorial-controls{background:#0f0f23;border-top:2px solid #333;justify-content:space-between;padding:16px 20px}.nav-btn,.tutorial-controls{align-items:center;display:flex}.nav-btn{background:linear-gradient(45deg,#2196f3,#1976d2);border:2px solid #333;box-shadow:2px 2px 0 #000;color:#fff;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:16px;height:48px;justify-content:center;transition:all .2s ease;width:48px}.nav-btn:hover{background:linear-gradient(45deg,#1976d2,#1565c0);box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.nav-btn:active{box-shadow:0 0 0 #000;transform:translate(2px,2px)}.slide-indicators{align-items:center;display:flex;gap:8px}.indicator{background:#666;border:2px solid #333;border-radius:50%;box-shadow:inset 1px 1px 0 #000;cursor:pointer;height:12px;transition:all .3s ease;width:12px}.indicator:hover{background:#888;transform:scale(1.1)}.indicator.active{background:#ffeb3b;border-color:#ffeb3b;box-shadow:0 0 10px #ffeb3b80,inset 1px 1px 0 #000;transform:scale(1.2)}.slide-counter{background:#000000b3;border:1px solid #333;border-radius:4px;color:#ffeb3b;font-size:12px;padding:4px 8px;position:absolute;right:16px;top:12px}.tutorial-slider{touch-action:pan-y;-webkit-user-select:none;user-select:none}.slides-wrapper{cursor:grab}.slides-wrapper:active{cursor:grabbing}@media (max-width:768px){.slide-container{height:380px}.tutorial-slide{padding:16px}.slide-icon{font-size:24px;margin-right:12px}.slide-header h4{font-size:16px}.slide-content li{font-size:12px;margin-bottom:10px}.nav-btn{font-size:14px;height:40px;width:40px}.tutorial-controls{padding:12px 16px}.slide-counter{font-size:10px;right:12px;top:8px}}.join-buttons{display:flex;flex-direction:column;gap:12px;margin-top:16px}.join-btn,.spectator-btn{border:2px solid #333;box-shadow:2px 2px 0 #000;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:10px;padding:16px;text-shadow:1px 1px 0 #000;text-transform:uppercase;transition:all .2s ease;width:100%}.join-btn{background:linear-gradient(45deg,#2196f3,#1976d2);color:#fff}.spectator-btn{background:linear-gradient(45deg,#ff6b35,#f44336);color:#fff}.join-btn:hover,.spectator-btn:hover{box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.join-btn:hover{background:linear-gradient(45deg,#1976d2,#1565c0)}.spectator-btn:hover{background:linear-gradient(45deg,#f44336,#d32f2f)}.input-group{margin-bottom:16px;text-align:left}.input-group label{color:#ffeb3b;display:block;font-size:8px;margin-bottom:8px;text-shadow:0 0 10px #ffeb3b;text-transform:uppercase}.input-group input{background:#0f0f23;border:2px solid #333;box-shadow:inset 2px 2px 0 #000;color:#00ff41;font-family:Press Start\ 2P,monospace;font-size:16px;padding:12px;width:100%}.input-group input:focus{border-color:#00ff41;box-shadow:inset 2px 2px 0 #000,0 0 15px #00ff4180;outline:none}.input-group input::placeholder{color:#666;opacity:1}@media (max-width:768px){.join-btn,.spectator-btn{font-size:8px;padding:12px}.input-group label{font-size:7px}.input-group input{font-size:14px;padding:10px}}.lobby-container{max-width:800px;padding:24px}.game-lobby{align-items:flex-start;min-height:calc(100vh - 140px)}.lobby-container{background:#1a1a2e;border:3px solid #00ff41;box-shadow:0 0 30px #00ff4180;margin:0 auto;max-width:500px;padding:32px;width:100%}@media (min-width:769px) and (max-width:1200px){.lobby-container{max-width:450px;padding:28px}}@media (min-width:1201px){.lobby-container{max-width:500px;padding:32px}}@media (max-width:768px){body{font-size:14px}.App,body{overflow-x:hidden}.game-lobby{min-height:calc(100vh - 100px);padding:10px}.lobby-container{border:2px solid #00ff41;box-sizing:border-box;margin:0;max-width:100%;padding:16px}.title-main{font-size:20px;letter-spacing:1px;line-height:1.2;word-break:break-word}.title-subtitle{font-size:10px;letter-spacing:.5px}.App-header{margin-bottom:12px;padding:12px}.App-header h1{font-size:18px;line-height:1.2;word-break:break-word}.logo{font-size:18px;margin-right:4px;padding:2px 4px}.tab-btn{font-size:6px;line-height:1.2;padding:8px 12px}.tab-header h3{font-size:14px;line-height:1.3}.tab-header p{font-size:10px;line-height:1.4}.input-group{margin-bottom:12px}.input-group label{font-size:6px;margin-bottom:6px}.input-group input{font-size:12px;padding:8px}.create-room-btn,.join-btn,.spectator-btn{font-size:7px;line-height:1.2;padding:12px}.tutorial-section{margin-top:20px;padding:12px}.tutorial-section h3{font-size:14px;margin-bottom:12px}.error-message{font-size:10px;margin:12px 0;padding:8px}.info-item{font-size:10px;margin-bottom:8px}.info-icon{font-size:12px;margin-right:8px;min-width:16px}.create-info{margin:16px 0;padding:12px}}@media (max-width:480px){.game-lobby{padding:5px}.lobby-container{border:1px solid #00ff41;padding:12px}.title-main{font-size:16px;letter-spacing:.5px}.title-subtitle{font-size:8px}.App-header h1,.logo{font-size:14px}.logo{margin-right:2px;padding:1px 2px}.tab-btn{font-size:5px;padding:6px 8px}.tab-header h3{font-size:12px}.tab-header p{font-size:8px}.input-group input{font-size:10px;padding:6px}.create-room-btn,.join-btn,.spectator-btn{font-size:6px;padding:10px}.tutorial-section h3{font-size:12px}.error-message{font-size:8px;padding:6px}}*{box-sizing:border-box}.App,.game-lobby,.lobby-container{max-width:100vw;overflow-x:hidden}h1,h2,h3,h4,h5,h6{-webkit-hyphens:auto;hyphens:auto}button,h1,h2,h3,h4,h5,h6{word-wrap:break-word;overflow-wrap:break-word}.game-lobby .lobby-container{background:#1a1a2e;border:4px solid #00ff41;box-shadow:0 0 30px #00ff4180,inset 0 0 0 4px #0f3460;margin:0 auto;max-width:800px;padding:30px;width:90%}.game-lobby{align-items:center;display:flex;justify-content:center;min-height:70vh;padding:20px}@media (min-width:769px){.lobby-container{max-width:800px!important;padding:30px!important;width:90%!important}}.logo-link{color:inherit;cursor:pointer;display:inline-block;text-decoration:none;transition:all .2s ease}.logo-link:hover{filter:brightness(1.1);transform:scale(1.02)}.logo-link:active{transform:scale(.98)}.logo-link h1{color:#fff;font-size:36px;margin:0;position:relative;text-shadow:2px 2px 0 #000;z-index:2}@media (max-width:768px){.logo-link h1{font-size:18px;line-height:1.2;word-break:break-word}.logo-link:hover{transform:scale(1.01)}}
/*# sourceMappingURL=main.24ebc68f.css.map*/