.app{width:100%}.game-setup{display:flex;justify-content:center;align-items:center;min-height:80vh}.setup-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%}.setup-card h1{text-align:center;color:#667eea;margin-bottom:10px;font-size:2.5em}.subtitle{text-align:center;color:#666;margin-bottom:30px;font-size:1.1em}.mode-selection{display:flex;gap:20px;margin-bottom:30px}.mode-btn{flex:1;padding:20px;border:2px solid #e0e0e0;border-radius:15px;background:#fff;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:1.1em;color:#333}.mode-btn:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 5px 15px #667eea33}.mode-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.mode-icon{font-size:2em}.player-setup{margin-top:30px}.player-count-selector{margin-bottom:25px}.player-count-selector label{display:block;margin-bottom:8px;color:#333;font-weight:500}.player-count-selector select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;cursor:pointer;transition:border-color .3s}.player-count-selector select:focus{outline:none;border-color:#667eea}.player-names,.round-count-selector{margin-bottom:25px}.round-count-selector label{display:block;margin-bottom:8px;color:#333;font-weight:500}.round-count-selector select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;cursor:pointer;transition:border-color .3s}.round-count-selector select:focus{outline:none;border-color:#667eea}.player-names h3{margin-bottom:15px;color:#333}.name-input-group{margin-bottom:15px}.name-input-group label{display:block;margin-bottom:5px;color:#666;font-size:.9em}.name-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;transition:border-color .3s}.name-input:focus{outline:none;border-color:#667eea}.start-btn{width:100%;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.2em;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.start-btn:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.start-btn:active{transform:translateY(0)}.game-board{background:#fff;border-radius:20px;padding:30px;box-shadow:0 20px 60px #0000004d;margin-bottom:20px}.board-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.board-header h1{color:#667eea;font-size:2em}.header-info{display:flex;align-items:center;gap:15px}.round-info{font-size:1.2em;font-weight:700;color:#764ba2}.reset-btn{padding:10px 20px;background:#ff6b6b;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:all .3s}.reset-btn:hover{background:#ff5252;transform:translateY(-2px)}.teams-display{display:flex;gap:20px;margin-bottom:30px}.team-card{flex:1;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:15px;text-align:center}.team-card h3{margin-bottom:8px;font-size:1.1em}.team-card p{font-size:.95em;opacity:.9}.round-input{margin-top:30px}.round-input h2{color:#333;margin-bottom:20px;text-align:center}.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:25px}.player-input-card{background:#f8f9fa;padding:20px;border-radius:15px;border:2px solid #e0e0e0;transition:all .3s}.player-input-card:hover{border-color:#667eea;box-shadow:0 5px 15px #667eea1a}.player-input-card h3{color:#667eea;margin-bottom:15px;text-align:center;font-size:1.2em}.input-group{margin-bottom:15px}.input-group:last-child{margin-bottom:0}.input-group label{display:block;margin-bottom:8px;color:#666;font-size:.9em;font-weight:500}.score-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1.1em;text-align:center;transition:border-color .3s}.score-input:focus{outline:none;border-color:#667eea}.quick-buttons-group{display:flex;flex-direction:column;gap:8px;margin-top:10px}.quick-btn{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#667eea;font-size:.9em;font-weight:500;cursor:pointer;transition:all .3s}.quick-btn:hover{border-color:#667eea;background:#f0f0ff;transform:translateY(-2px)}.quick-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 3px 10px #667eea4d}.action-buttons{display:flex;gap:15px;justify-content:center}.submit-btn{padding:15px 30px;border:none;border-radius:10px;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.submit-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.input-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.submit-btn{width:100%}}.score-summary{margin-bottom:30px}.score-summary h2{color:#333;margin-bottom:20px;text-align:center;font-size:1.8em}.team-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.team-score-card{background:#f8f9fa;padding:20px;border-radius:15px;border:3px solid #e0e0e0;transition:all .3s}.team-score-card.winner{border-color:#4caf50;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);box-shadow:0 5px 20px #4caf504d}.team-score-card h3{color:#667eea;margin-bottom:15px;text-align:center;font-size:1.3em}.team-score-card.winner h3{color:#2e7d32}.team-total{text-align:center;font-size:2em;font-weight:700;color:#764ba2;margin-bottom:15px;padding:10px;background:#fff;border-radius:10px}.team-score-card.winner .team-total{color:#2e7d32}.team-details{display:flex;flex-direction:column;gap:10px}.player-detail{display:flex;justify-content:space-between;padding:8px;background:#fff;border-radius:8px;font-size:.95em}.player-scores{display:grid;gap:15px;margin-bottom:30px}.player-score-card{display:flex;align-items:center;gap:20px;background:#f8f9fa;padding:20px;border-radius:15px;border:2px solid #e0e0e0;transition:all .3s}.player-score-card:hover{border-color:#667eea;box-shadow:0 5px 15px #667eea1a}.player-rank{font-size:2em;font-weight:700;color:#667eea;min-width:60px;text-align:center}.player-info{flex:1}.player-info h3{color:#333;margin-bottom:10px;font-size:1.3em}.score-breakdown{display:flex;gap:20px;flex-wrap:wrap;font-size:.95em;color:#666}.score-breakdown span{padding:5px 10px;background:#fff;border-radius:5px}.final-score{font-weight:700;color:#764ba2!important;font-size:1.1em!important}.rounds-history{margin-top:30px;padding-top:30px;border-top:2px solid #e0e0e0}.rounds-history h3{color:#333;margin-bottom:15px;font-size:1.3em}.rounds-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.round-item{padding:12px;background:#f8f9fa;border-radius:10px;border-left:4px solid #667eea}.round-number{font-weight:700;color:#667eea;margin-right:10px}.round-scores{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.round-score{padding:5px 10px;background:#fff;border-radius:5px;font-size:.9em;color:#666}@media (max-width: 768px){.team-scores{grid-template-columns:1fr}.score-breakdown{flex-direction:column;gap:8px}.round-scores{flex-direction:column}}.final-results{margin-top:30px;padding:30px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff}.final-header{text-align:center;margin-bottom:40px}.final-header h1{font-size:3em;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.final-subtitle{font-size:1.5em;opacity:.9}.team-results,.player-results{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.team-result-card,.player-result-card{display:flex;align-items:center;gap:20px;background:#fff;color:#333;padding:25px;border-radius:15px;box-shadow:0 5px 20px #0003;transition:transform .3s,box-shadow .3s}.team-result-card:hover,.player-result-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000004d}.team-result-card.champion,.player-result-card.champion{background:linear-gradient(135deg,gold,#ffed4e);border:3px solid #ffd700;box-shadow:0 10px 30px #ffd70080}.team-result-card.champion:hover,.player-result-card.champion:hover{box-shadow:0 15px 40px #ffd70099}.player-result-card.second{background:linear-gradient(135deg,silver,#e8e8e8);border:3px solid #c0c0c0}.player-result-card.third{background:linear-gradient(135deg,#cd7f32,#e6a85c);border:3px solid #cd7f32}.team-medal,.player-medal{font-size:4em;min-width:80px;text-align:center}.team-info,.player-info{flex:1}.team-position,.player-position{font-size:1.8em;margin-bottom:8px;color:#667eea;font-weight:700}.team-result-card.champion .team-position,.player-result-card.champion .player-position{color:#b8860b}.team-names,.player-name{font-size:1.5em;margin-bottom:10px;color:#333}.team-total-score,.player-total-score{font-size:2em;font-weight:700;color:#764ba2;margin-bottom:15px}.team-result-card.champion .team-total-score,.player-result-card.champion .player-total-score{color:#b8860b}.team-breakdown{display:flex;flex-direction:column;gap:8px;font-size:.95em;color:#666}.team-player-score{padding:5px 10px;background:#f8f9fa;border-radius:5px}.player-breakdown{display:flex;gap:15px;flex-wrap:wrap;font-size:.95em;color:#666}.player-breakdown span{padding:5px 10px;background:#f8f9fa;border-radius:5px}.new-game-btn{width:100%;padding:18px;background:#fff;color:#667eea;border:none;border-radius:12px;font-size:1.3em;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 5px 15px #0003}.new-game-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000004d;background:#f8f9fa}@media (max-width: 768px){.final-header h1{font-size:2em}.team-result-card,.player-result-card{flex-direction:column;text-align:center}.team-medal,.player-medal{font-size:3em}.player-breakdown{flex-direction:column;gap:8px}}*{margin:0;padding:0;box-sizing:border-box}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:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}#root{max-width:1200px;margin:0 auto}
