.squad-view{color:var(--text,#f6f3fa);font-family:var(--body,"DM Sans",sans-serif);padding-block:46px 76px}
.squad-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.squad-kicker{display:block;color:var(--accent,#bf93d2);font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.5}
.squad-intro h1{margin:9px 0 10px;font:700 clamp(54px,6vw,78px)/.92 var(--display,"Barlow Condensed",sans-serif);letter-spacing:-1.4px;text-transform:uppercase}
.squad-intro h1>span{color:var(--accent,#bf93d2)}
.squad-intro p{margin:0;color:var(--muted,#a69daa);font-size:14px;line-height:1.7}
.squad-source-link{display:flex;gap:20px;align-items:center;padding:12px 0 10px;border-bottom:1px solid #ffffff24;color:var(--text,#f6f3fa);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s,border-color .2s}
.squad-source-link>span{font-size:20px;color:var(--accent,#bf93d2)}
.squad-source-link:hover{color:var(--accent,#bf93d2);border-color:var(--accent,#bf93d2)}
.squad-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #ffffff12;border-radius:12px;overflow:hidden;background:var(--surface,#18141e);margin-bottom:30px}
.squad-meta>div{padding:22px 26px;border-right:1px solid #ffffff0d}
.squad-meta>div:last-child{border-right:0}
.squad-meta>div>span{display:block;font-size:9px;font-weight:700;letter-spacing:1.2px;color:var(--muted,#a69daa)}
.squad-meta strong{display:flex;align-items:baseline;gap:11px;margin-top:8px;font:600 32px/1.1 var(--display,"Barlow Condensed",sans-serif);color:var(--text,#f6f3fa)}
.squad-meta small{font:400 11px var(--body,"DM Sans",sans-serif);color:var(--muted,#a69daa)}
.squad-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.95fr);gap:22px;align-items:start}
.squad-lineup,.squad-panel{min-width:0;border:1px solid #ffffff13;border-radius:12px;background:var(--surface,#18141e)}
.squad-lineup{padding:26px}
.squad-panel{padding:24px}
.squad-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.squad-panel-heading h2,.squad-panel-heading h3{margin:5px 0 0;font:600 29px/1.08 var(--display,"Barlow Condensed",sans-serif);color:var(--text,#f6f3fa)}
.squad-panel-heading .squad-kicker{font-size:9px;letter-spacing:1.4px}
.squad-count,.squad-formation-tag{display:flex;align-items:center;justify-content:center;height:36px;min-width:36px;padding:0 11px;border:1px solid #bf93d229;border-radius:7px;background:#bf93d20a;color:var(--accent,#bf93d2);font:600 23px/1 var(--display,"Barlow Condensed",sans-serif)}
.squad-formation-tag{height:37px;padding:0 15px;font-size:20px;letter-spacing:2px}
.squad-pitch{position:relative;isolation:isolate;overflow:hidden;margin-top:24px;padding:30px 14px 26px;border:1px solid #bf93d22a;border-radius:8px;background:repeating-linear-gradient(0deg,#bf93d204 0px,#bf93d204 100px,#bf93d207 100px,#bf93d207 200px),radial-gradient(ellipse at 50% 25%,#44354d55,#15221b3b 85%),#141319}
.squad-pitch::before{content:"";position:absolute;z-index:-1;inset:18px;border:1px solid #ffffff10;pointer-events:none}
.squad-pitch::after{content:"";position:absolute;z-index:-1;top:50%;left:18px;right:18px;height:1px;background:#ffffff14;pointer-events:none}
.squad-pitch-markings{position:absolute;z-index:-1;top:50%;left:50%;width:39%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #ffffff17;border-radius:50%;pointer-events:none}
.squad-pitch-markings::before,.squad-pitch-markings::after{content:"";position:absolute;left:50%;width:8px;height:8px;transform:translate(-50%,-50%);border:1px solid #ffffff15;border-radius:50%;top:50%}
.squad-line{position:relative;margin-bottom:19px}
.squad-line-label{display:block;text-align:center;margin-bottom:9px;color:#c6b6cc99;font-size:8px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase}
.squad-line-cards{display:flex;justify-content:center;gap:clamp(18px,5vw,64px)}
.squad-line-goalkeeper{margin-bottom:20px}
.squad-pitch-label{display:block;text-align:center;color:#bd9cc744;font-size:8px;letter-spacing:2.3px}
.squad-card-note{margin:17px 2px 0;color:var(--muted,#a69daa);font-size:10px;line-height:1.75}
.squad-aside{display:grid;gap:20px;min-width:0}
.squad-reserve-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;justify-items:center;margin-top:23px}
.squad-panel-injured{border-color:#ba60752a;background:linear-gradient(145deg,#29182080,var(--surface,#18141e))}
.squad-panel-injured .squad-kicker{color:#de8a9d}
.squad-panel-injured .squad-count{color:#eeacba;background:#d065800f;border-color:#d0658029}
.squad-injury-note{display:flex;align-items:center;gap:8px;margin:16px 0 0;color:#d198a7;font-size:10px;line-height:1.5}
.squad-injury-note>span{color:#ea91a6;font-size:14px}
.squad-empty-note{margin:24px 0 0;font-size:12px;color:var(--muted,#a69daa)}
.squad-staff-list{display:grid;gap:12px;margin-top:23px}
.squad-staff-person{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #ffffff0c}
.squad-staff-person>div{flex:1;min-width:0}
.squad-staff-monogram{width:41px;height:41px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(135deg,#bf93d21a,#bf93d209);border:1px solid #bf93d221;border-radius:50%;color:#d7b3e5;font:600 19px var(--display,"Barlow Condensed",sans-serif)}
.squad-staff-person h4{margin:0;font-size:13px;line-height:1.45;font-weight:600}
.squad-staff-person>div>span{display:block;margin-top:3px;font-size:10px;color:var(--muted,#a69daa)}
.squad-staff-tag{color:#bfa6c8;font:500 14px var(--display,"Barlow Condensed",sans-serif);letter-spacing:.6px}
.squad-legend dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 18px}
.squad-legend dl>div{display:flex;align-items:center;gap:10px}
.squad-legend dt{font:600 17px/1 var(--display,"Barlow Condensed",sans-serif);color:var(--gold,#d7bf7d);width:28px}
.squad-legend dd{margin:0;color:#c3bac8;font-size:11px}
.squad-legend p{margin:0;border-top:1px solid #ffffff0c;padding-top:15px;color:var(--muted,#a69daa);font-size:10px;line-height:1.8}
.player-card{position:relative;display:block;width:100%;max-width:172px;aspect-ratio:.71;flex:0 1 172px;min-width:0;margin:0;padding:0;border:0;color:#fff;background:transparent;font-family:var(--body,"DM Sans",sans-serif);cursor:pointer;isolation:isolate;container-type:inline-size;filter:drop-shadow(0 10px 12px #0005);transition:transform .2s,filter .2s}
.player-card:hover{transform:translateY(-5px);filter:drop-shadow(0 14px 16px #0009)}
.player-card:focus-visible{outline:2px solid var(--accent,#bf93d2);outline-offset:5px;border-radius:10px}
.player-card-shell{position:absolute;inset:0;display:block;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 60% 20%,#8e69a2 0,#433152 38%,#251b32 69%,#16111d 100%);clip-path:polygon(50% 0,60% 4%,74% 2%,100% 10%,96% 86%,50% 100%,4% 86%,0 10%,26% 2%,40% 4%)}
.player-card-shell::before{content:"";position:absolute;inset:1px;background:linear-gradient(135deg,#f2dda0,#b49a61 25%,#edd897 50%,#b19350 76%,#e4cc90);clip-path:polygon(50% 0,60% 4%,74% 2%,100% 10%,96% 86%,50% 100%,4% 86%,0 10%,26% 2%,40% 4%);z-index:-2}
.player-card-shell::after{content:"";position:absolute;inset:4px;background:radial-gradient(ellipse at 59% 30%,#634877,#271b36 72%);clip-path:polygon(50% 0,60% 4%,74% 2%,100% 10%,96% 86%,50% 100%,4% 86%,0 10%,26% 2%,40% 4%);z-index:-1}
.player-card-lines{position:absolute;inset:8px;z-index:0;overflow:hidden;clip-path:polygon(50% 0,60% 4%,74% 2%,100% 10%,96% 86%,50% 100%,4% 86%,0 10%,26% 2%,40% 4%);background:repeating-linear-gradient(145deg,transparent 0,transparent 19px,#dcc78510 20px,transparent 21px),radial-gradient(circle at 80% 15%,#c6a8e055,transparent 30%)}
.player-card-visual{position:absolute;inset:14% 8% 25%;z-index:1;background:url("/assets/player-anonymous.jpg") center top/100% 100% no-repeat;mix-blend-mode:multiply;opacity:.78;filter:contrast(1.2)}
.player-card-visual-real{inset:9% 1% 26%;background:none;mix-blend-mode:normal;opacity:1;filter:none}
.player-card-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.player-card-gradient{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 45%,#20152777 61%,#201527eb 70%,#16111dfa 91%)}
.player-card-rating{position:absolute;z-index:3;top:10%;left:14%;display:grid;text-align:center;color:#f5e5b6;text-shadow:0 1px 8px #1a1023}
.player-card-rating strong{font:600 clamp(30px,3vw,39px)/.88 var(--display,"Barlow Condensed",sans-serif);letter-spacing:-.7px}
.player-card-rating small{margin-top:4px;font:600 12px/1 var(--display,"Barlow Condensed",sans-serif)}
.player-card-crest{position:absolute;top:12%;right:13%;z-index:3;display:grid;place-items:center;width:28px;height:33px;background:linear-gradient(145deg,#e6cc86,#bf93d2 60%,#574565);clip-path:polygon(50% 0,100% 16%,91% 77%,50% 100%,9% 77%,0 16%);color:#261b30;font:700 11px/1 var(--display,"Barlow Condensed",sans-serif)}
.player-card-name{position:absolute;left:9%;right:9%;bottom:36%;z-index:3;text-align:center;display:block;padding-bottom:6px;border-bottom:1px solid #d7bf7d48}
.player-card-name strong{display:block;font:600 19px/.98 var(--display,"Barlow Condensed",sans-serif);text-shadow:0 2px 6px #0d0912;overflow-wrap:break-word}
.player-card-name small{display:block;margin-top:4px;color:#dec799;font-size:7px;letter-spacing:1px;line-height:1.25;text-transform:uppercase}
.player-card-stats{position:absolute;left:14%;right:14%;bottom:10%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px;z-index:3;text-align:center}
.player-card-stat{display:block;min-width:0}
.player-card-stat small{display:block;font-size:7px;line-height:1;color:#d9c596;letter-spacing:.7px}
.player-card-stat strong{display:block;margin-top:2px;font:600 18px/.95 var(--display,"Barlow Condensed",sans-serif);color:#fff8e9}
.player-card-bottom{position:absolute;z-index:3;left:21%;right:21%;bottom:4.5%;display:flex;align-items:center;justify-content:center;gap:8px;color:#d7bf7d88;font-size:5px;font-weight:700;letter-spacing:.6px}
.player-card-bottom>b{color:#d7bf7dbb;font-size:5px;white-space:nowrap}
.player-card-injured .player-card-shell::before{background:linear-gradient(135deg,#f3c4ce,#b85d71,#efbdc7 60%,#a54a60)}
.player-card-injury{position:absolute;z-index:4;top:28%;left:17%;right:17%;display:block;padding:5px 0;border:1px solid #ed9aaf66;background:#8c334cdc;color:#fff0f4;font-size:8px;font-weight:700;letter-spacing:1.7px;text-align:center;border-radius:3px}
.squad-reserve-grid .player-card{max-width:156px}
.squad-player-dialog{max-width:calc(100vw - 32px);width:540px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #bf93d233;border-radius:16px;background:#19141f;color:var(--text,#f6f3fa);box-shadow:0 30px 100px #000a;font-family:var(--body,"DM Sans",sans-serif);overflow:auto}
.squad-player-dialog::backdrop{background:#070509cc;backdrop-filter:blur(6px)}
.squad-dialog-body{position:relative;padding:34px}
.squad-dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:1px solid #ffffff18;border-radius:50%;background:#ffffff05;color:#d4c9da;font-size:26px;line-height:1;cursor:pointer}
.squad-dialog-close:hover{background:#bf93d21a;color:#fff}
.squad-dialog-heading{display:flex;align-items:center;gap:22px;justify-content:space-between;margin:22px 0 27px}
.squad-dialog-heading>div{min-width:0}
.squad-dialog-heading h2{margin:0;font:600 39px/.98 var(--display,"Barlow Condensed",sans-serif);overflow-wrap:anywhere}
.squad-dialog-heading p{margin:10px 0 0;font-size:11px;line-height:1.6;color:var(--muted,#a69daa)}
.squad-dialog-rating{flex-shrink:0;color:#e7d19a;font:600 56px/.9 var(--display,"Barlow Condensed",sans-serif);text-align:center}
.squad-dialog-rating>small{display:block;margin-top:7px;font:600 7px/1 var(--body,"DM Sans",sans-serif);letter-spacing:1px}
.squad-detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 25px}
.squad-detail-stats>div>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.squad-detail-stats>div>div>span{font-size:10px;color:#baadbf}
.squad-detail-stats b{color:#ead1f3;font-size:9px;margin-right:3px}
.squad-detail-stats strong{font:600 23px/1 var(--display,"Barlow Condensed",sans-serif)}
.squad-stat-track{display:block;height:4px;border-radius:2px;background:#ffffff0d;overflow:hidden}
.squad-stat-track>i{display:block;height:100%;background:linear-gradient(90deg,#815394,#cbace0);border-radius:2px}
.squad-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #ffffff12;padding-top:20px;margin-top:26px}
.squad-dialog-footer span{font-size:11px;color:#baadbf}
.squad-dialog-footer strong{font:600 26px var(--display,"Barlow Condensed",sans-serif);color:#e7d19a}
.squad-detail-note{margin:14px 0 0;color:#8d8095;font-size:9px;line-height:1.6}
@media(min-width:1280px){.squad-line-cards{gap:76px}.player-card{max-width:176px;flex-basis:176px}}
@media(max-width:1030px){.squad-layout{grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr);gap:16px}.squad-lineup{padding:20px}.squad-panel{padding:20px}.squad-line-cards{gap:18px}.player-card{max-width:156px;flex-basis:156px}.squad-meta>div{padding:20px}.squad-meta strong{font-size:28px;gap:8px}.squad-meta small{font-size:9px}.squad-reserve-grid{gap:10px}.player-card-name strong{font-size:17px}.squad-panel-heading h3{font-size:25px}}
@media(max-width:800px){.squad-layout{grid-template-columns:1fr}.squad-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.squad-panel{height:100%;box-sizing:border-box}.squad-lineup{padding:24px}.squad-line-cards{gap:clamp(24px,9vw,100px)}.player-card{max-width:184px;flex-basis:184px}.player-card-name strong{font-size:20px}.squad-pitch{padding-inline:30px}.squad-meta strong{flex-direction:column;align-items:flex-start;gap:5px}.squad-meta small{font-size:10px}.squad-meta>div{padding:18px}.squad-reserve-grid .player-card{max-width:160px}}
@media(max-width:580px){.squad-view{padding-block:30px 50px}.squad-intro{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:25px}.squad-intro h1{font-size:60px}.squad-intro p{font-size:12px}.squad-source-link{padding:0 0 8px;font-size:10px;gap:18px}.squad-meta{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.squad-meta>div{padding:17px 19px}.squad-meta>div:nth-child(2){border-right:0}.squad-meta>div:nth-child(-n+2){border-bottom:1px solid #ffffff0d}.squad-meta>div>span{font-size:8px;letter-spacing:.9px}.squad-meta strong{flex-direction:row;align-items:baseline;font-size:28px;gap:8px}.squad-meta small{font-size:9px}.squad-lineup{padding:18px 13px}.squad-panel-heading{padding-inline:4px}.squad-panel-heading h2{font-size:28px}.squad-pitch{padding:24px 10px 22px;margin-top:20px}.squad-pitch::before{inset:10px}.squad-pitch::after{left:10px;right:10px}.squad-line{margin-bottom:22px}.squad-line-cards{gap:14px}.player-card{max-width:calc(50% - 7px);flex-basis:calc(50% - 7px)}.squad-line-goalkeeper .player-card{max-width:calc(50% - 7px)}.player-card-rating strong{font-size:35px}.player-card-name strong{font-size:18px}.player-card-stats{gap:6px 5px}.player-card-stat strong{font-size:19px}.player-card-stat small{font-size:7px}.squad-aside{grid-template-columns:1fr;gap:18px}.squad-panel{padding:22px}.squad-reserve-grid{gap:20px;margin-top:25px}.squad-reserve-grid .player-card{max-width:172px}.squad-card-note{font-size:9px;padding-inline:5px}.squad-dialog-body{padding:29px 23px}.squad-dialog-heading h2{font-size:34px}.squad-detail-stats{gap:20px 19px}}
@media(max-width:370px){.squad-meta>div{padding:15px}.squad-meta strong{font-size:25px;gap:6px}.squad-meta small{font-size:8px}.squad-lineup{padding:15px 9px}.squad-pitch{padding-inline:7px}.squad-line-cards{gap:10px}.player-card{max-width:calc(50% - 5px);flex-basis:calc(50% - 5px)}.player-card-name strong{font-size:16px}.player-card-rating strong{font-size:30px}.player-card-stats{left:13%;right:13%;gap:4px 3px}.player-card-stat strong{font-size:17px}.player-card-stat small{font-size:6px}.player-card-name small{font-size:6px}.squad-reserve-grid{gap:12px}.squad-dialog-heading h2{font-size:29px}.squad-detail-stats>div>div>span{font-size:9px}}
/* Scale card text to its own width, including narrow reserve columns. */
.squad-panel-injured{grid-column:1/-1}
.player-card-rating strong{font-size:clamp(28px,22cqw,39px)}
.player-card-name strong{font-size:clamp(12px,11cqw,19px);line-height:1;overflow-wrap:anywhere}
.player-card-name small{font-size:clamp(5px,4cqw,7px);margin-top:3px;letter-spacing:.7px}
.player-card-stat strong{font-size:clamp(12px,10cqw,18px)}
.player-card-stat small{font-size:clamp(5px,4cqw,7px);letter-spacing:.45px}
.squad-meta strong{flex-wrap:wrap}
@media(max-width:580px){.player-card{aspect-ratio:.6}.player-card-name{bottom:37%}.player-card-stats{gap:4px 5px}.squad-dialog-body>.squad-kicker{max-width:calc(100% - 34px)}}
@media(prefers-reduced-motion:reduce){.player-card,.squad-source-link{transition:none}.player-card:hover{transform:none}}
.squad-staff-photo{display:block;width:68px;height:68px;flex-shrink:0;overflow:hidden;border:1px solid #bf93d244;border-radius:14px;background:#211a29}.squad-staff-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.65);transform-origin:50% 24%}
