/* V31 — player entry, random distribution and roster display */
.player-builder{margin:4px auto 16px;max-width:1000px;border:1px solid #ece4df;background:#fffaf7;border-radius:18px;padding:14px 16px}.player-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.player-builder-head h3{margin:0 0 4px;font-size:16px;color:#242033}.player-builder-head p{margin:0;color:#817b89;font-size:11px;line-height:1.6}.player-count{white-space:nowrap;background:#f1eafe;color:#5b3a92;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.player-builder-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px;align-items:stretch}.player-builder textarea{width:100%;min-height:78px;resize:vertical;border:1px solid #e7dfda;border-radius:14px;background:#fff;padding:11px 13px;font:600 13px/1.7 Alexandria,sans-serif;color:#242033;outline:none}.player-builder textarea:focus{border-color:#9b80cf;box-shadow:0 0 0 3px rgba(116,68,201,.08)}.shuffle-players-btn{border:0;border-radius:14px;background:linear-gradient(135deg,#7650bc,#4d347b);color:#fff;font:800 13px Alexandria,sans-serif;padding:12px 14px;cursor:pointer;box-shadow:0 8px 18px rgba(83,55,125,.15)}.shuffle-players-btn:hover{transform:translateY(-1px)}
.team-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.team-roster-card{border:1px solid #ece4df;border-radius:16px;background:#fff;padding:9px 10px 10px;box-shadow:inset 4px 0 0 var(--team-color);min-width:0}.team-roster-card .team-input{height:42px;border:0!important;padding:3px 5px!important;background:transparent!important}.team-roster-card .team-input input{font-weight:800!important;font-size:14px!important}.team-members{display:flex;flex-wrap:wrap;gap:6px;padding:4px 5px 1px;min-height:29px}.team-members span{display:inline-flex;align-items:center;background:#f6f2fb;color:#4d3d60;border:1px solid #e6dcef;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:700}.team-members small{color:#aaa1aa;font-size:10px;padding:4px 1px}.preview-current-members{font-size:10px;color:#71687b;margin:0 auto 6px;max-width:250px;line-height:1.5}.preview-team-info{min-width:0;flex:1}.preview-team-info>div{display:flex;align-items:center;gap:7px;font-size:13px}.preview-team-info small{display:block;margin-top:3px;color:#918998;font-size:9px;line-height:1.4;white-space:normal}.active-team-members{text-align:center;color:#817b89;font-size:10px;line-height:1.45;margin:-2px 0 8px}.score-team-copy{display:grid;min-width:0}.score-team-copy>span{font-size:inherit}.score-team-copy small{color:#918998;font-size:9px;line-height:1.35;margin-top:2px;white-space:normal}.score-team .team-meta{align-items:flex-start!important}
@media(max-width:900px){.player-builder{padding:12px;margin-bottom:13px}.player-builder-head{align-items:center}.player-builder-head p{font-size:10px}.player-builder-row{grid-template-columns:1fr}.shuffle-players-btn{min-height:46px}.team-roster-grid{grid-template-columns:1fr}.team-roster-card{padding:8px 9px}.team-members span{font-size:10px}}
@media(max-width:560px){.player-builder-head{display:grid;grid-template-columns:1fr auto}.player-builder-head p{grid-column:1/-1}.player-builder textarea{min-height:92px}.team-members{gap:5px}.team-members span{padding:4px 8px}}
