.formation-section{margin:0 0 22px}.formation-title{margin-bottom:20px}.formation-title h2{margin:3px 0 0}.formation-title .eyebrow{margin:0}.formation-summary{display:flex;align-items:center;gap:9px}.formation-summary span,.formation-summary strong{padding:7px 10px;border-radius:8px;background:#2e2f31;font-size:12px}.formation-summary strong{color:#ffd19a;border:1px solid #7a5d3f}.formation-summary strong.complete{color:#ffd4dc;border-color:#9e4454}.football-pitch{position:relative;display:grid;gap:24px;min-height:630px;padding:34px 24px;overflow:hidden;border:2px solid rgba(255,255,255,.38);border-radius:20px;background:linear-gradient(90deg,rgba(140,29,45,.88),rgba(103,24,37,.9)),repeating-linear-gradient(90deg,transparent 0,transparent 12.5%,rgba(255,255,255,.035) 12.5%,rgba(255,255,255,.035) 25%)}.football-pitch:before{content:"";position:absolute;inset:50% 0 auto;height:2px;background:rgba(255,255,255,.35)}.football-pitch:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.2)}.center-circle{position:absolute;left:50%;top:50%;width:140px;height:140px;border:2px solid rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%)}.formation-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-around;gap:12px}.formation-position{width:150px;min-height:102px;padding:10px;border:1px solid rgba(255,255,255,.26);border-radius:13px;background:rgba(43,44,46,.92);box-shadow:0 8px 20px rgba(0,0,0,.2);text-align:center}.formation-position.empty{border-style:dashed;background:rgba(45,46,48,.6)}.formation-position.duplicate{border-color:#ffd19a;box-shadow:0 0 0 2px rgba(255,209,154,.18)}.position-head{display:flex;align-items:center;justify-content:center;gap:7px}.position-head b{color:var(--pink);font-size:16px}.position-head em{padding:2px 5px;color:#382b20;border-radius:4px;background:#ffd19a;font-size:9px;font-style:normal;font-weight:900}.formation-position small{display:block;margin:2px 0 6px;color:var(--muted);font-size:9px}.position-players{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.position-players span,.need-player{padding:4px 7px;border-radius:6px;font-size:11px}.position-players span{color:#fff;background:var(--burgundy)}.need-player{display:inline-block;color:#ffc3cb;border:1px dashed rgba(255,195,203,.5)}.unassigned{margin:12px 0 0;color:#ffd19a;font-size:12px}.position-picker{display:grid;gap:8px;padding:15px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(90deg,rgba(140,29,45,.55),rgba(103,24,37,.58))}.picker-row{display:flex;justify-content:space-around;gap:6px}.picker-row label{display:block;flex:0 1 92px}.picker-row input{position:absolute;opacity:0}.picker-row span{display:grid;place-items:center;min-height:50px;padding:6px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(45,46,48,.82);text-align:center;cursor:pointer}.picker-row span b{color:var(--pink);font-size:13px}.picker-row span small{color:var(--muted);font-size:8px}.picker-row input:checked+span{color:#fff;border-color:#fff;background:var(--red);box-shadow:0 0 0 2px rgba(225,68,85,.25)}.picker-row input:checked+span b,.picker-row input:checked+span small{color:#fff}.position-tag{display:inline-block;margin-left:6px;padding:2px 5px;color:#fff;border-radius:4px;background:var(--burgundy);font-size:9px;font-style:normal;vertical-align:2px}
@media(max-width:760px){.formation-title{align-items:flex-start}.formation-summary{display:grid;gap:5px}.football-pitch{min-height:570px;padding:25px 8px;gap:14px}.formation-row{gap:5px}.formation-position{width:23%;min-height:93px;padding:7px 4px}.formation-row:first-of-type .formation-position,.formation-row:nth-of-type(2) .formation-position{width:29%}.formation-row:last-of-type .formation-position{width:34%}.position-head{display:grid;gap:2px}.position-head em{font-size:7px}.formation-position small{font-size:7px}.position-players span,.need-player{padding:3px 4px;font-size:9px}.center-circle{width:95px;height:95px}.position-picker{padding:10px 5px}.picker-row{gap:4px}.picker-row label{flex-basis:72px}.picker-row span{min-height:46px;padding:4px 2px}.picker-row span small{font-size:7px}}
