:root{--blue:#143d7d;--blue2:#154a9a;--red:#ed1c24;--ink:#0d1b2f;--muted:#64748b;--line:#dbe4f0;--soft:#f3f6fb;--white:#fff}
*{box-sizing:border-box}html{background:#f5f7fb}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(180deg,#eef3fa 0,#fff 260px);min-height:100vh}.site-head{height:76px;padding:10px clamp(16px,4vw,50px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand img{display:block;width:auto;height:50px;max-width:220px;object-fit:contain}.predictor-link{background:var(--blue);color:#fff;text-decoration:none;font-weight:800;padding:12px 16px;border-radius:10px;font-size:14px}.lineup-shell{width:min(1280px,calc(100% - 28px));margin:0 auto;padding:34px 0 70px}.intro{text-align:center;max-width:760px;margin:0 auto 30px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--blue);font-size:12px;margin:0 0 8px}.intro h1{font-size:clamp(30px,5vw,52px);margin:0 0 10px;line-height:1}.intro p:not(.eyebrow){margin:0;color:#4b5d75;font-size:16px;line-height:1.55}.builder-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:24px;align-items:start}.controls-card,.preview-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 26px rgba(17,41,78,.06)}.preview-card{position:sticky;top:96px}.step-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}.step-head.second{margin-top:24px}.step-head>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;flex:0 0 36px}.step-head strong{display:block;font-size:17px}.step-head small{display:block;color:var(--muted);margin-top:2px;line-height:1.35}.formation-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#52657f;display:block;margin:0 0 7px}select{width:100%;font:inherit;font-weight:800;padding:13px 42px 13px 14px;border:1px solid #bdcbe0;border-radius:10px;background:#fff;color:var(--ink);min-height:48px}.selected-count{display:flex;align-items:center;gap:4px;padding:10px 12px;background:var(--soft);border-radius:10px;margin-bottom:16px;font-size:14px}.selected-count strong{font-size:18px;color:var(--blue)}.selected-count button{margin-left:auto;border:0;background:transparent;color:#a61c25;font-weight:800;min-height:36px;padding:0 8px;cursor:pointer}.player-groups{display:grid;gap:18px}.player-group h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;color:#52657f}.player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-option{border:1px solid #d7e0ec;background:#fff;border-radius:11px;padding:9px;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;text-align:left;cursor:pointer;min-height:58px}.player-option:hover{border-color:#8da8ce}.player-option.selected{border-color:var(--blue);background:#edf3ff;box-shadow:inset 0 0 0 1px var(--blue)}.shirt{width:36px;height:36px;border-radius:9px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900}.player-copy{min-width:0}.player-copy strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-copy small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.preview-top strong{display:block}.preview-top small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.preview-top>span{font-size:12px;font-weight:900;color:#fff;background:var(--blue);padding:7px 10px;border-radius:999px}.canvas-wrap{width:100%;background:#091833;border-radius:12px;overflow:hidden;border:1px solid #d3dcea}.canvas-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:1/1}.status{text-align:center;color:#5f6f85;font-size:13px;min-height:22px;padding-top:11px}.status.ready{color:var(--blue);font-weight:800}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.actions button{min-height:48px;border-radius:10px;border:1px solid #b9c7da;background:#fff;color:var(--blue);font-size:15px;font-weight:900;cursor:pointer}.actions .primary{background:var(--blue);color:#fff;border-color:var(--blue)}.actions button:disabled{opacity:.45;cursor:not-allowed}.share-note{font-size:12px;line-height:1.45;color:var(--muted);text-align:center}.predictor-cta{display:block;text-align:center;text-decoration:none;background:#edf3ff;color:var(--blue);font-weight:900;border-radius:10px;padding:13px 12px;margin-top:12px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#10213f;color:#fff;padding:12px 16px;border-radius:10px;z-index:99;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.22)}
@media(max-width:900px){.builder-grid{grid-template-columns:1fr}.preview-card{position:static;order:-1}.lineup-shell{padding-top:22px}.intro{margin-bottom:20px}.player-list{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.site-head{height:66px;padding:8px 12px}.brand img{height:42px;max-width:170px}.predictor-link{font-size:12px;padding:10px}.lineup-shell{width:min(100% - 18px,1280px)}.controls-card,.preview-card{padding:14px;border-radius:14px}.player-list{grid-template-columns:1fr}.intro h1{font-size:32px}.actions{grid-template-columns:1fr}.preview-card{box-shadow:none}.player-option{min-height:55px}}

.loading-players{margin:0;padding:16px;border:1px dashed #bdcbe0;border-radius:10px;color:var(--muted);text-align:center;font-weight:700}


/* Long-term injury marker: replaces the shirt number but keeps the player selectable. */
.player-option .shirt.injury-cross{position:relative;background:#d71920!important;color:#fff!important}
.player-option .shirt.injury-cross i{position:absolute;display:block;background:#fff;border-radius:2px;left:50%;top:50%;transform:translate(-50%,-50%)}
.player-option .shirt.injury-cross i:first-child{width:7px;height:24px}
.player-option .shirt.injury-cross i:last-child{width:24px;height:7px}
