/* V7 final cascade. No protected trophy layout or artwork overrides. */
:root{--focus-ring:#0098ff;--surface-depth:0 18px 38px #00142c2b,0 3px 9px #00142c20}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
:where(input,select,textarea){scroll-margin-top:120px}
:where(section[id],div[id="form"]){scroll-margin-top:100px}
[hidden]{display:none!important}
img{max-width:100%}
main{min-width:0}
.button{touch-action:manipulation}
.form-card form[aria-busy=true]{cursor:progress}
.form-card .button:disabled{opacity:.65;cursor:wait}
.form-status:not(:empty){border:1px solid #168ddb;border-radius:6px;padding:14px 18px;background:#0b1f38;margin-top:18px;line-height:1.5;color:#e7f0ff}
.form-status[data-state=ok]{border-color:#38cfa2;color:#bbffe8}
.form-status[data-state=error]{border-color:#f4a45d;color:#ffe5cb}
.form-status[data-state=preview]{border-color:#42c9ff;color:#d8f3ff}
.form-status[data-state=pending]:before{content:"";display:inline-block;width:12px;height:12px;border:2px solid #91cafa;border-right-color:transparent;border-radius:50%;margin-right:10px;animation:frontend-spin .8s linear infinite}
.form-card :is(input,textarea,select)[aria-invalid=true]{border-color:#ffb070;box-shadow:0 0 0 1px #ffb070}
@keyframes frontend-spin{to{transform:rotate(360deg)}}
/* Layout matching the approved Players reference, preserving all trophy markup. */
[data-page="/players"] .pl-changes{padding-block:28px}
[data-page="/players"] .pl-changes .pl-split{grid-template-columns:40% 60%;gap:0}
[data-page="/players"] .pl-changes .section-copy{padding-right:28px}
[data-page="/players"] .pl-changes .section-copy p{font-size:var(--ds-copy);line-height:1.55;}
.v7-player-intro{display:grid;grid-template-columns:40% 60%;min-width:0;align-self:stretch;align-items:stretch;position:relative}
.v7-player-intro>img{width:100%;height:100%;min-height:260px;max-height:440px;object-fit:cover;object-position:center;border:0}
.v7-sunday{position:relative;min-height:250px;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}
.v7-sunday>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 clamp(70px,9vw,130px)/1 var(--display);color:transparent;-webkit-text-stroke:1px #bddaff;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.8}
.v7-sunday>b{position:relative;background:#fff9;font:700 20px/1.3 var(--display);letter-spacing:.04em;color:#123458;padding:12px}
.v7-selection{display:grid;grid-template-columns:1fr 24%;gap:30px;align-items:center;padding:10px 0 10px 20px}
.v7-selection ol{list-style:none;padding:0 0 0 22px;margin:0;border-left:2px solid #008cff}
.v7-selection li{position:relative;display:flex;gap:18px;align-items:center;border-bottom:1px solid #cfe0f3;padding:15px 0}
.v7-selection li:last-child{border-bottom:0}
.v7-selection li:before{content:"";position:absolute;width:9px;height:9px;border:2px solid #0062ff;background:#fff;border-radius:50%;left:-28px}
.v7-selection li>span{font:700 38px/1 var(--display);color:#0062ff}
.v7-selection h3{font:400 var(--ds-card)/1.15 var(--ds-display);color:#052843;margin:0 0 5px;text-transform:uppercase;}
.v7-selection small{font-size:15px;color:#54748c}
.v7-selection p{font-size:var(--ds-copy);margin:0;color:#506c88;}
.v7-vertical-motto{font:600 16px/1.4 var(--display);letter-spacing:.12em;text-transform:uppercase;border-left:2px solid #00afff;padding-left:18px;color:#1c5277}
[data-page="/players"] .pl-profile-grid{display:grid;grid-template-columns:56% 44%;gap:20px 0;align-items:center}
[data-page="/players"] .pl-profile-grid>.section-copy{grid-column:1/-1;max-width:none;text-align:left}
[data-page="/players"] .pl-profile-grid>.section-copy h2 .line{display:inline}
[data-page="/players"] .pl-profile-grid>.section-copy p{max-width:850px}
[data-page="/players"] .v7-profile-art{display:flex;align-items:center;justify-content:center;min-height:300px;perspective:1200px;padding:25px 35px}
.v7-player-record{width:100%;max-width:560px;color:#d8edff;background:linear-gradient(125deg,#0a2341,#02101f 80%);border:1px solid #2485c7;border-bottom:5px solid #123458;border-radius:9px;box-shadow:8px 22px 25px #062e5545,0 0 15px #037ef528;padding:24px;transform:rotate(-7deg) rotateY(-7deg);transform-style:preserve-3d;will-change:auto}
.v7-player-record>header{display:flex;align-items:center;justify-content:space-between;gap:14px;font:600 18px var(--display);letter-spacing:.05em}
.v7-player-record header img{width:135px;height:auto}
.v7-record-tabs{display:flex;gap:10px;justify-content:space-between;border-block:1px solid #28638e;margin-top:14px;padding:10px 0;font:500 12px var(--display);text-transform:uppercase}
.v7-record-body{display:grid;grid-template-columns:45% 55%;gap:8px;padding:18px 0}
.v7-record-person{display:grid;grid-template-columns:48px 1fr;gap:4px 8px;font-size:12px;color:#a2bfda}
.v7-record-person>.icon{grid-row:1/3;width:44px;height:65px;background:#ccecff;color:#145584;padding:5px}
.v7-record-person strong{color:#fff;font:700 20px var(--display)}
.v7-record-chart{display:flex;align-items:end;gap:8%;height:100px;border-bottom:1px solid #1c5277;background:repeating-linear-gradient(0deg,transparent 0 23px,#245a7d33 24px 25px)}
.v7-record-chart i{height:var(--bar);width:10%;background:linear-gradient(#00aaff,#064775);box-shadow:0 0 8px #0062ff40}
.v7-player-record>footer{display:flex;justify-content:space-between;border-top:1px solid #28638e;padding-top:12px;font:500 12px var(--display)}
[data-page="/players"] .pl-gets{grid-column:2;grid-row:2;align-self:center}
[data-page="/players"] .pl-gets ul{display:grid;grid-template-columns:1fr 1fr;gap:15px 22px}
[data-page="/players"] .pl-gets li{font-size:14px;line-height:1.4;display:flex;align-items:center;gap:12px;padding:12px 0}
[data-page="/players"] .pl-ppi-grid{display:grid;grid-template-columns:16% 30% 44% 10%;gap:0;align-items:center}
[data-page="/players"] .pl-ppi-grid>.ppi-outline{position:static;transform:none;font-size:clamp(62px,9vw,140px);line-height:1;color:transparent;-webkit-text-stroke:1px #0087ff;writing-mode:horizontal-tb;opacity:.85}
[data-page="/players"] .pl-ppi-grid>.section-copy{padding:0 25px 0 15px}
[data-page="/players"] .pl-ppi-grid .section-copy h2{font-size:var(--ds-title);}
[data-page="/players"] .pl-ppi-grid .section-copy p{font-size:var(--ds-copy);line-height:1.55;}
[data-page="/players"] .pl-ppi-grid .button{font-size:12px;padding:10px;min-height:40px}
[data-page="/players"] .v7-ppi-chart{position:relative;width:auto;aspect-ratio:auto;min-height:0;height:auto;display:block;border:0;border-left:1px solid #0f94d8;border-radius:0;background:none;box-shadow:none;padding:5px 20px}
.v7-ppi-chart>div{display:grid;grid-template-columns:46% 54%;gap:7px;align-items:center;padding:10px 0;font:500 16px var(--display);color:#d8edff}
.v7-ppi-chart i{height:16px;background:#7496af44;overflow:hidden}
.v7-ppi-chart b{display:block;height:100%;width:calc(var(--bar)*100%);background:linear-gradient(90deg,#0062ff 60%,#52aeff 60%,#b8dfff);transform-origin:left;transform:scaleX(var(--v7-bars,1));box-shadow:0 0 12px #007aff55}
.v7-ppi-chart small{display:block;margin-top:12px;color:#9ab9cc;font-size:10px}
.v7-ppi-motto{color:#aad7ff;font-size:14px}
/* The three rules that used to sit here forced the Brands section to a
   single column so the flattened .v7-brand-proof row could span it.
   The section is back to copy beside the court, so players.css
   `.pl-brands-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}`
   is allowed to stand; its own max-width:1000px query still collapses
   it to one column. */
.v7-brand-proof{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;text-align:center;margin-block:12px}
.v7-brand-proof .icon{width:38px;height:38px;color:#0062ff;margin-bottom:8px}
.v7-brand-proof h3{font:400 var(--ds-card)/1.15 var(--ds-display);color:#082b4b;margin:0 0 6px;}
.v7-brand-proof p{font-size:var(--ds-copy);line-height:1.55;color:#54748c;margin:0;}
/* Shared depth uses individual rotate/translate properties, leaving existing transforms intact. */
[data-v7-depth]{transition:rotate .25s ease,translate .25s ease,box-shadow .25s ease;rotate:var(--v7-rotate-x,0) var(--v7-rotate-y,1) 0 var(--v7-angle,0deg);translate:0 var(--v7-lift,0)}
.v7-surface{position:relative;transition:border-color .25s ease,box-shadow .25s ease;--v7-glow:#008cff45}
.v7-surface:is(:hover,:focus-within){border-color:#0098ff;box-shadow:0 0 0 1px #26a5ff50,0 0 22px var(--v7-glow),0 16px 32px #031a3630}
.v7-surface:after{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;background:radial-gradient(300px circle at var(--v7-mx,50%) var(--v7-my,50%),#7acbff18,transparent 70%);opacity:0;transition:opacity .25s ease}
.v7-surface:is(:hover,:focus-within):after{opacity:1}
.v7-impact{position:fixed;pointer-events:none;width:34px;height:34px;z-index:10000;border:1px solid #70d6ff;border-radius:50%;translate:-50% -50%;animation:v7-impact .45s ease-out forwards;box-shadow:0 0 12px #008cff}
@keyframes v7-impact{from{scale:.35;opacity:.9}to{scale:1.7;opacity:0}}
body.v7-document-hidden *{animation-play-state:paused!important}
body.motion-paused [data-v7-depth]{rotate:none;translate:none}
@media(max-width:900px){
 [data-page="/players"] .pl-changes .pl-split{grid-template-columns:1fr}.v7-player-intro{margin-top:15px}.v7-player-intro>img{max-height:360px;min-height:200px}
 [data-page="/players"] .pl-profile-grid{grid-template-columns:1fr}.v7-player-record{max-width:580px}[data-page="/players"] .pl-gets{grid-column:1;grid-row:3}
 [data-page="/players"] .pl-ppi-grid{grid-template-columns:25% 75%;gap:20px 0}[data-page="/players"] .pl-ppi-grid>.section-copy{padding-right:0}[data-page="/players"] .v7-ppi-chart{grid-column:1/-1}.v7-ppi-motto{display:none}
 .v7-brand-proof{grid-template-columns:repeat(3,1fr);gap:24px}.v7-selection{grid-template-columns:1fr 25%}
}
@media(max-width:520px){
 [data-page="/players"] .pl-changes .section-copy{padding:0}.v7-player-intro{grid-template-columns:26% 74%}.v7-sunday>b{font-size:13px;padding:7px}.v7-sunday{min-height:200px}.v7-sunday>span{font-size:65px}
 .v7-selection{grid-template-columns:1fr;padding:5px 0}.v7-selection .v7-vertical-motto{display:none}.v7-selection h3{font-size:var(--ds-card);}
 [data-page="/players"] .v7-profile-art{padding:20px 10px;min-height:260px}.v7-player-record{padding:15px;transform:rotate(-3deg)}.v7-player-record>header{font-size:14px}.v7-player-record header img{width:105px}.v7-record-tabs{font-size:9px;gap:5px}.v7-record-body{grid-template-columns:50% 50%}.v7-record-chart{height:85px}.v7-player-record>footer{font-size:10px}
 [data-page="/players"] .pl-gets ul{gap:10px}.v7-brand-proof{grid-template-columns:1fr 1fr}.v7-brand-proof h3{font-size:var(--ds-card);}
 .form-card :is(input,select,textarea){font-size:16px;min-height:44px}.form-foot{flex-wrap:wrap}
}
@media(hover:none){[data-v7-depth]{rotate:none!important;translate:none!important}.v7-surface:active{border-color:#0098ff;box-shadow:0 0 18px #008cff44}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}[data-v7-depth]{rotate:none!important;translate:none!important}.v7-impact{display:none}.v7-ppi-chart b{transform:none}.form-status[data-state=pending]:before{animation:none}}
.v6-connectors .v7-branch-track{stroke:#075694;opacity:.7}
.v6-connectors .v7-branch-current{stroke:#40cfff;stroke-dasharray:.1 .9;animation:v7-branch-flow 4s linear infinite;animation-play-state:paused}
.v5-visible .v6-connectors .v7-branch-current{animation-play-state:running}
@keyframes v7-branch-flow{to{stroke-dashoffset:-1}}
.motion-paused .v6-connectors .v7-branch-current,.v7-document-hidden .v6-connectors .v7-branch-current{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.v6-connectors .v7-branch-current{animation:none;stroke-dasharray:none}}
/* Retire the older PPI hub's explicit grid placement and important column declarations. */
[data-page="/players"] .pl-ppi-grid{grid-template-columns:16% 30% 44% 10%!important;gap:0!important;min-height:0}
[data-page="/players"] .pl-ppi-grid>.ppi-outline{display:block;grid-column:1;grid-row:1}
[data-page="/players"] .pl-ppi-grid>.section-copy{grid-column:2;grid-row:1}
[data-page="/players"] .pl-ppi-grid>.v7-ppi-chart{grid-column:3;grid-row:1;max-width:none;margin:0}
[data-page="/players"] .pl-ppi-grid>.v7-ppi-motto{grid-column:4;grid-row:1}
@media(max-width:900px){[data-page="/players"] .pl-ppi-grid{grid-template-columns:25% 75%!important;gap:20px 0!important}[data-page="/players"] .pl-ppi-grid>.v7-ppi-chart{grid-column:1/-1;grid-row:2}[data-page="/players"] .pl-ppi-grid>.v7-ppi-motto{display:none}}
@media(max-width:520px){[data-page="/players"] .pl-ppi-grid{grid-template-columns:1fr!important}[data-page="/players"] .pl-ppi-grid>.ppi-outline{grid-column:1;grid-row:1;font-size:95px}[data-page="/players"] .pl-ppi-grid>.section-copy{grid-column:1;grid-row:2;padding:0}[data-page="/players"] .pl-ppi-grid>.v7-ppi-chart{grid-row:3;padding:10px 0;border-left:0}}
.v7-offscreen *,.v7-offscreen *:before,.v7-offscreen *:after{animation-play-state:paused!important}
.motion-paused .v7-surface,.motion-paused [data-v7-depth]{transition:none}

/* Player Performance Index chart: one label column (no wrapping) and full-width bar tracks.
   The chart also carries the older .pl-ppi-hub class, whose rules shrank each track to its
   content (about 40-65px) and wrapped the labels onto two lines. */
[data-page="/players"] .pl-ppi-grid .v7-ppi-chart>div{display:grid;width:100%;justify-self:stretch;box-sizing:border-box;grid-template-columns:minmax(0,8.4em) minmax(0,1fr);justify-items:stretch;align-items:center;column-gap:18px;padding:13px 0;border-bottom:1px solid #ffffff12;text-align:left}
[data-page="/players"] .pl-ppi-grid .v7-ppi-chart>div>span{justify-self:start;white-space:nowrap;font:500 17px/1.2 var(--display);color:#d8edff}
[data-page="/players"] .pl-ppi-grid .v7-ppi-chart>div>i{display:block;justify-self:stretch;width:100%;height:10px;border-radius:999px;background:#7496af38;overflow:hidden}
[data-page="/players"] .pl-ppi-grid .v7-ppi-chart>div>i>b{height:100%;width:calc(var(--bar)*100%);border-radius:inherit;background:linear-gradient(90deg,#0062ff,#2f8fff 65%,#9fd5ff)}
[data-page="/players"] .pl-ppi-grid .v7-ppi-chart small{margin-top:14px;text-align:left}
@media(max-width:520px){[data-page="/players"] .pl-ppi-grid .v7-ppi-chart>div{grid-template-columns:minmax(0,7.8em) minmax(0,1fr);column-gap:12px;padding:11px 0}[data-page="/players"] .pl-ppi-grid .v7-ppi-chart>div>span{font-size:15px}}
