/* Only the League HQ roster banner is affected. */
#league-hq #league-sync-content .league-roster-head:has(>.hj-team-photo){
 display:grid!important;
 grid-template-columns:minmax(250px,24%) minmax(0,1fr) minmax(160px,19%)!important;
 align-items:center!important;
 column-gap:12px!important;
}
#league-hq #league-sync-content .league-roster-head>.hj-team-photo{
 display:block!important;
 min-width:0;
 width:100%;
 position:relative;
 align-self:center;
 isolation:isolate;
 padding:48px 0 56px;
 touch-action:pan-y pinch-zoom;
 overflow:visible;
 box-sizing:border-box;
 pointer-events:auto;
}
/* One proportional card canvas: every inner size is relative to its own width. */
#league-hq #league-sync-content .league-roster-head>.league-roster-identity.hj-business-card{
 container-type:inline-size;
 display:block!important;position:relative!important;justify-self:start;
 width:100%!important;max-width:380px!important;min-width:0!important;
 height:auto!important;min-height:0!important;aspect-ratio:38/23!important;
 padding:0!important;margin:0!important;box-sizing:border-box!important;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card>:is(.av,.league-team-initials){
 position:absolute!important;left:9.75%!important;top:30.5%!important;
 width:14.1cqw!important;height:17.8cqw!important;
 min-width:0!important;max-width:none!important;margin:0!important;
 border-width:.5cqw!important;box-sizing:border-box!important;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card>.hj-business-logo{
 position:absolute!important;left:auto!important;right:10.2%!important;
 top:17.7%!important;bottom:auto!important;
 width:12.3cqw!important;height:12.3cqw!important;max-width:none!important;
 margin:0!important;object-fit:contain;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card>.hj-business-copy{
 position:absolute!important;left:27.2%!important;top:32.5%!important;
 width:63.3%!important;min-width:0!important;
 padding:0!important;margin:0!important;border:0!important;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card .league-roster-name{
 font:800 8.05cqw/1.1 var(--sans)!important;letter-spacing:.015em!important;
 margin:0!important;white-space:nowrap!important;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card .hj-business-team{
 font:500 4.02cqw/1.2 var(--sans)!important;
 margin:1.5cqw 0 0!important;overflow-wrap:anywhere;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card>.hj-business-stats{
 position:absolute!important;left:9.75%!important;right:9%!important;top:63.4%!important;
 display:grid!important;grid-template-columns:1fr 1.2fr 1fr!important;
 gap:2.3cqw!important;padding:2cqw 0 0!important;margin:0!important;
 border-top:.17cqw solid #c9c4b5!important;box-sizing:border-box!important;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card>.hj-business-stats>span{
 display:flex;flex-direction:column;gap:.65cqw!important;min-width:0;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card .hj-business-stats small{
 font:700 3.22cqw/1.2 var(--sans)!important;letter-spacing:.025em!important;white-space:nowrap;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card .hj-business-stats b{
 font:750 5.04cqw/1.2 var(--sans)!important;white-space:nowrap;
}
#league-hq #league-sync-content .league-roster-head:has(>.hj-team-photo)>.league-matchup-score{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
@media(max-width:1050px){
 #league-hq #league-sync-content .league-roster-head:has(>.hj-team-photo){grid-template-columns:minmax(0,1fr) minmax(160px,.72fr)!important;row-gap:6px!important;padding-bottom:10px!important}
 #league-hq #league-sync-content .league-roster-head>.hj-team-photo{grid-column:1/-1;grid-row:2;margin:0;padding:12px 0 18px;max-width:900px;justify-self:center}
 #league-hq #league-sync-content .league-roster-head:has(>.hj-team-photo)>.league-matchup-score{grid-column:2;grid-row:1}
}
@media(max-width:600px){
 #league-hq #league-sync-content .league-roster-head:has(>.hj-team-photo){grid-template-columns:minmax(0,1fr)!important}
 #league-hq #league-sync-content .league-roster-head>.hj-team-photo{grid-column:1;grid-row:3;margin:0}
 #league-hq #league-sync-content .league-roster-head:has(>.hj-team-photo)>.league-matchup-score{grid-column:1;grid-row:2;justify-self:end}
}

/* Reserve detail space only while the compact lineup has a selected player. */
#league-hq #league-sync-content .league-roster-head>.hj-team-photo.has-spotlight{z-index:5}
@media(max-width:1050px){
 #league-hq #league-sync-content .league-roster-head>.hj-team-photo{
  transition:padding-top 240ms ease,padding-bottom 240ms ease;
 }
 #league-hq #league-sync-content .league-roster-head>.hj-team-photo.has-spotlight{
  padding-top:var(--showcase-headroom,62px);padding-bottom:58px;
 }
 .hj-team-photo-caption{top:calc(100% + 6px)}
}
@media(prefers-reduced-motion:reduce){
 #league-hq #league-sync-content .league-roster-head>.hj-team-photo{transition:none}
}

/* The hit targets stay still while the artwork moves in front of its neighbors. */
.hj-team-photo-stage{position:relative;width:100%;isolation:isolate;overflow:visible}
#league-hq .hj-team-photo .hj-team-photo-player{
 --showcase-scale:1.38;
 appearance:none;-webkit-appearance:none;
 position:absolute;bottom:1.5%;display:block;margin:0;padding:0;
 border:0;border-radius:0;background:none;box-shadow:none;
 color:#16354c;font:inherit;text-align:center;cursor:pointer;
 overflow:visible;z-index:var(--player-layer);outline:none;
 -webkit-tap-highlight-color:transparent;
 user-select:none;-webkit-user-select:none;touch-action:pan-y pinch-zoom;
}
#league-hq .hj-team-photo .hj-team-photo-player.is-active{z-index:250}
.hj-team-photo-figure{
 position:absolute;inset:0;display:block;pointer-events:none;
 transform:translate3d(0,0,0) scale(1);transform-origin:50% 100%;
 transition:transform 240ms cubic-bezier(.2,.8,.2,1),opacity 180ms ease;
}
.hj-team-photo-figure::after{
 content:"";position:absolute;left:15%;right:15%;height:5%;bottom:-2%;
 border-radius:50%;background:radial-gradient(ellipse,#152f4955,transparent 70%);
 opacity:0;transform:scale(.75);transition:opacity 200ms ease,transform 200ms ease;
}
.hj-team-photo-figure img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center bottom;pointer-events:none}
/* Apply the glow to the non-replaced wrapper so Safari does not crop it to the image box. */
.hj-team-photo-player.is-starter .hj-team-photo-figure{overflow:visible;filter:drop-shadow(0 0 2px #b98a2eff) drop-shadow(0 0 6px #d9a93fcc)}
.hj-team-photo-player.is-starter .hj-team-photo-figure img{filter:none;overflow:visible}
.hj-team-photo-player.is-portrait .hj-team-photo-figure img{object-fit:contain;object-position:center top;height:42%;margin-top:8%;border-radius:0}
.hj-team-photo.has-spotlight .hj-team-photo-player:not(.is-active) .hj-team-photo-figure{opacity:.82}
.hj-team-photo-player.is-active .hj-team-photo-figure{transform:translate3d(var(--showcase-shift,0px),6px,0) scale(var(--showcase-scale))}
.hj-team-photo-player.is-active .hj-team-photo-figure::after{opacity:1;transform:scale(1)}
.hj-team-photo-caption,.hj-team-photo-score{
 position:absolute;left:50%;pointer-events:none;opacity:0;visibility:hidden;
 transform:translate(calc(-50% + var(--showcase-shift,0px)),4px);
 transition:opacity 150ms ease,transform 200ms cubic-bezier(.2,.8,.2,1),visibility 150ms;
 box-sizing:border-box;white-space:normal;
}
.hj-team-photo-caption{
 top:calc(100% + 12px);width:max-content;min-width:62px;max-width:124px;
 padding:4px 9px 5px;border-radius:6px;
 background:rgba(255,250,237,.97);box-shadow:0 2px 8px #1a34451a,inset 0 1px #c89e4980;
 color:#17384f;font-family:Arial,sans-serif;font-size:10.5px;font-weight:800;line-height:1.12;letter-spacing:.01em;text-transform:none;text-align:center;
}
.hj-team-photo-caption>span{display:block}
.hj-team-photo-caption .hj-team-photo-position{color:#99701d;font-size:8px;font-weight:800;letter-spacing:.11em;margin-bottom:2px}
.hj-team-photo-score{
 bottom:calc(100% * var(--showcase-scale) + 1px);
 min-width:44px;padding:4px 8px;border:1px solid #c69c43;border-radius:12px;
 background:#123149;color:#fff9e9;box-shadow:0 3px 9px #112f472b;
 font-family:Arial,sans-serif;font-size:12px;line-height:1.1;font-weight:800;
 font-variant-numeric:tabular-nums;text-align:center;
}
.hj-team-photo-score[hidden]{display:none!important}
.hj-team-photo-player.is-active :is(.hj-team-photo-caption,.hj-team-photo-score){opacity:1;visibility:visible;transform:translate(calc(-50% + var(--showcase-shift,0px)),0)}
.hj-team-photo-player:focus-visible .hj-team-photo-caption{outline:2px solid #bb9133;outline-offset:3px}
@media(max-width:600px){
 #league-hq .hj-team-photo .hj-team-photo-player{--showcase-scale:1.65}
 .hj-team-photo-caption{font-size:10px}
 .hj-team-photo-score{font-size:11px;min-width:40px;padding:4px 7px}
}
@media(prefers-reduced-motion:reduce){
 .hj-team-photo-figure,.hj-team-photo-figure::after,.hj-team-photo-caption,.hj-team-photo-score{transition:none!important}
}

/* Invisible off-edge labels must not enlarge the document's scrollable width. */
.hj-team-photo-player:not(.is-active) :is(.hj-team-photo-caption,.hj-team-photo-score){display:none}

/* Only the name opens the profile; dragging the figures remains a showcase gesture. */
.hj-team-photo-player.is-active .hj-team-photo-caption{pointer-events:auto}
#league-hq .hj-team-photo .hj-team-photo-name{
 appearance:none;display:block;margin:0;padding:2px 0;border:0;border-radius:2px;
 background:transparent;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;
 text-transform:none;text-align:center;cursor:pointer;min-height:28px;width:100%;
}
.hj-team-photo-name>span{display:block}
.hj-team-photo-name:hover{text-decoration:underline;text-underline-offset:2px}
.hj-team-photo-name:focus-visible{outline:2px solid #14324f;outline-offset:2px}
@media(min-width:1051px){
 #league-hq #league-sync-content .league-roster-head>.hj-team-photo.has-spotlight{
  padding-top:max(48px,var(--showcase-headroom,48px));padding-bottom:58px;
 }
}

/* Starters stand slightly ahead of the bench, without added labels or spacing. */
#league-hq .hj-team-photo .hj-team-photo-player.is-starter{z-index:calc(var(--player-layer) + 30)}
.hj-team-photo-player.is-starter:not(.is-active) .hj-team-photo-figure{
 transform:translate3d(0,2px,0) scale(1.05);
}
#league-hq .hj-team-photo .hj-team-photo-player.is-active{z-index:250}

/* Spotlight is painted at its final size, preserving detail on high-DPI phones.
   Stable player hit boxes still drive the finger-sweep interaction. */
#league-hq .hj-team-photo .hj-team-photo-figure{
 inset:auto;left:50%;bottom:0;width:100%;height:100%;
 transform:translateX(-50%);
 transition:width 200ms cubic-bezier(.2,.8,.2,1),height 200ms cubic-bezier(.2,.8,.2,1),transform 200ms cubic-bezier(.2,.8,.2,1),opacity 180ms ease;
}
#league-hq .hj-team-photo .is-starter:not(.is-active) .hj-team-photo-figure{
 transform:translate(-50%,2px) scale(1.05);
}
#league-hq .hj-team-photo .is-active .hj-team-photo-figure{
 width:var(--showcase-width);height:var(--showcase-height);
 transform:translate(calc(-50% + var(--showcase-shift,0px)),6px);
}

/* Nearly grayscale with a hint of uniform color, only while a crutch/handcuff alternate is displayed. */
#league-hq .hj-team-photo-player.is-unavailable .hj-team-photo-figure img{filter:saturate(.28) contrast(.94)}

/* Raised navy ink: the original unboxed mark and matching manager names. */
#league-hq #league-sync-content .league-roster-head>.hj-business-card>.hj-business-logo{
 display:block!important;box-sizing:border-box!important;
 right:6.5%!important;top:12.5%!important;
 width:14cqw!important;height:14cqw!important;
 background:none!important;padding:0!important;border:0!important;border-radius:0!important;
 opacity:1!important;mix-blend-mode:normal!important;box-shadow:none!important;
}
.hj-business-logo-mark{
 position:relative;display:block;width:100%;height:100%;
 background:none;
}
.hj-business-logo-mark::before,.hj-business-logo-mark::after{
 content:"";position:absolute;inset:0;
 -webkit-mask:var(--hj-business-mark) center/115% no-repeat;
 mask:var(--hj-business-mark) center/115% no-repeat;
}
.hj-business-logo-mark::before{
 background:rgba(255,250,231,.95);transform:translate(-.14cqw,-.17cqw);
}
.hj-business-logo-mark::after{
 background:#16344d;
 filter:drop-shadow(.12cqw .18cqw .09cqw rgba(35,28,18,.32));
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card .league-roster-name{
 color:#16344d!important;
 text-shadow:-.12cqw -.16cqw .04cqw rgba(255,250,231,.95),
  .12cqw .18cqw .06cqw rgba(9,27,40,.36),
  .23cqw .32cqw .24cqw rgba(57,43,23,.18)!important;
}
#league-hq #league-sync-content .league-roster-head>.hj-business-card>.hj-business-crown{
 position:absolute;left:18.6%;top:22.7%;width:9cqw;height:6.5cqw;
 transform:rotate(34deg);transform-origin:center;
 z-index:2;pointer-events:none;overflow:visible;
}
