.group-generator{width:100%;max-width:100%;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#e0f7fa,#f8f9fa);font-family:Arial,sans-serif;overflow-x:hidden;box-sizing:border-box}.group-generator,.header{padding:20px;position:relative}.header{display:flex;align-items:center;justify-content:center;margin-bottom:30px;background:linear-gradient(90deg,#8d0068,#8d0068);border-radius:15px;box-shadow:0 6px 15px rgba(0,0,0,.1);z-index:10;gap:20px}.header h1{color:#fff;font-size:2.5rem;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3);text-align:center}.badminton-icon{width:60px;height:60px;-o-object-fit:contain;object-fit:contain;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.card{background:#fff;padding:30px;border-radius:15px;margin-bottom:30px;box-shadow:0 8px 25px rgba(0,0,0,.1);position:relative;z-index:10;width:100%;box-sizing:border-box}.form-group{margin-bottom:25px;text-align:left}label{display:block;margin-bottom:10px;font-weight:700;color:#2c3e50;font-size:1.1rem}input,textarea{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:16px;box-sizing:border-box;transition:border-color .3s,box-shadow .3s}input:focus,textarea:focus{border-color:#7e0c6e;box-shadow:0 0 0 3px rgba(126,12,110,.1);outline:none}textarea{resize:vertical;min-height:150px}.floating-bubbles-container{position:relative;height:200px;margin:20px 0;border-radius:10px;background-color:rgba(126,12,110,.05);overflow:hidden;border:1px dashed rgba(126,12,110,.3);width:100%;box-sizing:border-box}.floating-bubble{position:absolute;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 4px 15px rgba(0,0,0,.1);animation:floatBubble 20s ease-in-out infinite;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center;padding:5px;opacity:.7;backdrop-filter:blur(3px)}@keyframes floatBubble{0%{transform:translate(0) rotate(0deg)}20%{transform:translate(150px,80px) rotate(72deg)}40%{transform:translate(100px,150px) rotate(144deg)}60%{transform:translate(-100px,100px) rotate(216deg)}80%{transform:translate(-150px,-50px) rotate(288deg)}to{transform:translate(0) rotate(1turn)}}.name-count{font-size:1.2rem;font-weight:700;color:#2c3e50;text-align:center;margin-top:15px}.count-number{color:#7e0c6e;font-size:1.4rem}.generate-btn,.tournament-btn{background:linear-gradient(90deg,#7e0c6e 0,#7e0c6e);color:#fff;border:none;padding:15px 30px;font-size:1.2rem;border-radius:50px;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px rgba(126,12,110,.3);display:block;margin:20px auto 0;width:200px}.generate-btn:hover:not(:disabled),.tournament-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(126,12,110,.4)}.generate-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.btn-text{font-weight:700;letter-spacing:1px}.result-section{text-align:left;width:100%;box-sizing:border-box}.result-section h2{color:#2c3e50;text-align:center;margin-top:0;font-size:2rem;position:relative;padding-bottom:15px}.result-section h2:after{content:"";display:block;width:100px;height:4px;background:linear-gradient(90deg,#7e0c6e 0,#7e0c6e);margin:10px auto 0;border-radius:2px}.groups-container{display:flex;flex-wrap:wrap;gap:25px;margin-bottom:30px;justify-content:center;width:100%;box-sizing:border-box}.group-card{flex:1;min-width:250px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 5px 15px rgba(0,0,0,.08);transition:transform .3s;box-sizing:border-box}.group-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px dashed rgba(126,12,110,.3);flex-wrap:wrap;gap:10px}.group-title{font-size:1.4rem;font-weight:700;color:#7e0c6e}.player-count{background:#7e0c6e;color:#fff;padding:3px 10px;border-radius:20px;font-size:.9rem}.group-card ul{padding-left:0;list-style:none}.player-item{padding:12px 15px;margin-bottom:10px;background:#f8f9fa;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.03);display:flex;align-items:center;transition:all .3s}.player-item:hover{transform:translateX(5px);box-shadow:0 4px 8px rgba(0,0,0,.08);background:#e9ecef}.player-item:after{content:"🏸";margin-left:auto;font-size:1.2rem}.tournament-setup{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.tournament-setup h3{color:#2c3e50;margin-top:0;margin-bottom:20px;text-align:center}.radio-group{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.radio-group label{display:flex;align-items:center;gap:5px;font-weight:400;cursor:pointer}.radio-group input[type=radio]{width:auto;margin:0}.tournament-section{text-align:left}.tournament-section h2{color:#2c3e50;text-align:center;margin-top:0;font-size:2rem;position:relative;padding-bottom:15px}.tournament-info{display:flex;justify-content:space-between;margin-bottom:20px;padding:10px 15px;background:#f8f9fa;border-radius:8px;font-weight:700}.matches-container{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}.matches-container-four{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.match-card{background:#fff;border-radius:10px;padding:15px;box-shadow:0 3px 10px rgba(0,0,0,.08);border:1px solid #eee}.match-header{text-align:center;margin-bottom:15px}.match-number{font-weight:700;color:#7e0c6e}.match-players{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.player{flex:1;text-align:center;padding:8px;background:#f8f9fa;border-radius:5px}.player,.vs{font-weight:700}.vs{padding:0 10px;color:#666}.match-score{display:flex;justify-content:center;align-items:center;gap:5px}.match-score input{width:90px;text-align:center}.rankings-section{margin-top:30px}.rankings-section h3{text-align:center;color:#2c3e50;margin-bottom:20px}.rankings-table{width:100%;border-collapse:collapse;box-shadow:0 3px 10px rgba(0,0,0,.08);border-radius:10px;overflow:hidden}.rankings-header,.rankings-row{display:flex;padding:12px 15px;border-bottom:1px solid #eee}.rankings-header{background:linear-gradient(90deg,#7e0c6e,#7e0c6e);color:#fff;font-weight:700}.rankings-row:nth-child(2n){background-color:#f8f9fa}.rankings-row.top-player{background:linear-gradient(90deg,rgba(126,12,110,.1),rgba(126,12,110,.05));font-weight:700}.rank-col{flex:0 0 60px}.name-col{flex:2}.losses-col,.matches-col,.points-col,.wins-col{flex:1;text-align:center}.reset-btn{background:linear-gradient(90deg,#7e0c6e 0,#7e0c6e);color:#fff;border:none;padding:15px 30px;font-size:1.2rem;border-radius:50px;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px rgba(126,12,110,.3);display:block;margin:0 auto;width:200px}.reset-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(126,12,110,.4)}.badminton-decoration{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden}.shuttlecock{position:absolute;font-size:2rem;opacity:.1;animation:float 15s linear infinite}.shuttlecock:first-child{top:10%;left:5%;animation-duration:20s}.shuttlecock:nth-child(2){top:20%;right:5%;animation-duration:25s;animation-delay:-5s}.shuttlecock:nth-child(3){bottom:10%;left:10%;animation-duration:30s;animation-delay:-10s}@keyframes float{0%{transform:translate(0) rotate(0deg)}25%{transform:translate(100px,100px) rotate(90deg)}50%{transform:translate(200px) rotate(180deg)}75%{transform:translate(100px,-100px) rotate(270deg)}to{transform:translate(0) rotate(1turn)}}@media (max-width:768px){.header h1{font-size:1.8rem}.groups-container,.matches-container{flex-direction:column}.group-card,.match-card{min-width:auto}.group-header,.match-players{flex-direction:column;gap:10px}.floating-bubbles-container{height:250px}.card,.group-generator{padding:10px}.card{padding:20px}.floating-bubble{opacity:.65}.header{flex-direction:column;gap:15px}.header,.header h1{text-align:center}.badminton-icon{width:50px;height:50px}.radio-group{flex-direction:column;align-items:flex-start}.tournament-info{flex-direction:column;gap:10px;text-align:center}.rankings-header,.rankings-row{flex-wrap:wrap}.name-col{flex-basis:100%;margin-bottom:5px}}