/* Original sports-management presentation. Grades never alter game values. */
:root{--rank-s:#ffda72;--rank-a:#ff9fb9;--rank-b:#ffbc80;--rank-c:#b0df83;--rank-d:#87d6ff;--rank-e:#c9b7ff;--rank-f:#c6d1df;--card-ink:#0d1925;--card-line:#40556b}
[data-rank="S"]{--rank-color:var(--rank-s)}[data-rank="A"]{--rank-color:var(--rank-a)}[data-rank="B"]{--rank-color:var(--rank-b)}[data-rank="C"]{--rank-color:var(--rank-c)}[data-rank="D"]{--rank-color:var(--rank-d)}[data-rank="E"]{--rank-color:var(--rank-e)}[data-rank="F"]{--rank-color:var(--rank-f)}
.ability-value{display:inline-flex;align-items:center;justify-content:center;gap:7px;vertical-align:middle;white-space:nowrap;line-height:1;letter-spacing:0;font-style:normal}
.ability-letter{display:inline-grid;place-items:center;min-width:29px;height:30px;border:1px solid var(--rank-color);border-radius:7px 2px 7px 2px;background:#102235;color:var(--rank-color);font:900 italic 24px/1 Arial,sans-serif;text-shadow:0 2px 0 #000;box-shadow:inset 0 -3px 0 #0005}
.ability-value[data-rank="S"] .ability-letter{background:linear-gradient(140deg,#69512d,#1c2433);border-width:2px}
.ability-number{color:#f4f8fc;font:700 16px/1.2 'Bahnschrift',Arial,sans-serif;font-variant-numeric:tabular-nums}
.ability-unknown{font-size:12px;color:#c6d1df}
.ability-range{display:inline-flex;flex-direction:column;align-items:center;gap:3px;font-style:normal;line-height:1.25}
.ability-range>b{color:#e5edf7;font:800 italic 21px/1.1 Arial,sans-serif;letter-spacing:1px}.ability-range>span{font:500 13px/1.3 'Bahnschrift',Arial,sans-serif;color:#bfcddd}
.ability-stat{display:grid;grid-template-columns:65px minmax(16px,1fr) auto;align-items:center;column-gap:9px;row-gap:3px;margin:9px 0}
.ability-stat-label{font-size:13px;color:#d3dfec}.ability-stat>.ability-value{grid-column:3;grid-row:1}.ability-meter{grid-row:1;grid-column:2;display:block;height:8px;background:#344659;border-radius:2px;overflow:hidden}
.ability-meter i{display:block;height:100%;background:var(--rank-color);background-image:repeating-linear-gradient(90deg,transparent 0,transparent 9px,#11233766 9px,#11233766 11px)}
.ability-next{font:500 11px/1.4 'Yu Gothic',sans-serif;color:#b2c5d7}.ability-stat>.ability-next{grid-column:2/4;justify-self:end}
.ability-guide{margin:14px 0;border:1px solid #3c5066;background:#101d2b;border-radius:5px}.ability-guide summary{min-height:44px;cursor:pointer;padding:10px 13px;color:#dce8f3;font-size:13px;font-weight:700;line-height:24px}.ability-guide summary>span{margin-left:10px;letter-spacing:2px;color:var(--rank-s)}
.ability-guide-body{padding:4px 13px 12px}.ability-guide-body p{font-size:12px;color:#c0cede;line-height:1.7;margin:9px 0 0}.ability-scale{display:flex;flex-wrap:wrap;gap:14px 10px}.ability-scale>span{display:grid;justify-items:center;gap:6px;min-width:47px}.ability-scale small{font-size:11px;color:#d9e2ec;white-space:nowrap}
/* Trading-card identity and clearer current / potential distinction. */
.squad-roster .player-card,.scout-card{border:1px solid var(--card-line);border-top:3px solid #e75862;border-radius:10px 3px 10px 3px;overflow:hidden;background:linear-gradient(145deg,#1e3247,#111f2f)}
.squad-roster .player-art{position:relative;background:linear-gradient(145deg,#24374c,#0b1726);border-bottom:1px solid #4c6178;overflow:hidden}
.squad-roster .player-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#111f2faa,transparent 45%);border-left:3px solid #d65d68}
.squad-roster .rank-roster-portrait{display:block;position:absolute;inset:-12px 12px auto auto;width:138px;height:220px}
#lineup-current .squad-roster{grid-template-columns:repeat(3,minmax(0,1fr))}
.squad-roster .player-art:before{content:"NORTHSTAR";position:absolute;top:auto;right:auto;left:18px;bottom:16px;font:700 10px/1 Arial,sans-serif;letter-spacing:2px;color:#a7bfd4}
.squad-roster .player-number{z-index:1;color:#e3ecf8;font:900 italic 32px/1 Arial,sans-serif;opacity:.8}.squad-roster .player-tag{z-index:1;background:#101f31dd;border:1px solid #63758c;color:#f1f5fa;font-size:12px;padding:5px 8px;letter-spacing:1px}
.squad-roster .player-body{background:linear-gradient(135deg,#1b2d40,#132234);padding:17px}.squad-roster .player-ident{align-items:center;gap:8px;margin-bottom:12px}.squad-roster .player-name{font-style:italic;letter-spacing:.6px;overflow-wrap:anywhere}
.ovr.mono{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0;background:none;min-width:65px}.ovr .ability-letter{width:37px;height:38px;font-size:30px}.ovr .ability-number{font-size:19px}.ovr>small{font-size:11px!important;color:#c3d5e6!important;letter-spacing:2px}
.player-potential{border-top:1px solid #415469;border-bottom:1px solid #415469;padding:8px 0;margin-bottom:12px;align-items:center;color:#bed0e1}.player-potential .ability-letter,.career-scout-status .ability-letter,.potential-badge .ability-letter{min-width:21px;height:23px;font-size:18px}.player-potential .ability-value{gap:5px}.player-potential .ability-number{font-size:13px}
.camp-ovr{display:flex;align-items:center;gap:7px;font-size:11px;color:#c5d4e4;line-height:1.2}.camp-ovr .ability-letter{min-width:24px;height:25px;font-size:21px}.camp-ovr .ability-number{font-size:16px}
.camp-player-name{min-height:90px}.camp-player-stats{width:66%;gap:8px}.camp-player-stats dd{margin:0}.camp-player-stats .ability-letter{min-width:25px;height:27px;font-size:22px}.camp-player-stats .ability-number{font-size:16px}.camp-player-stats dt{color:#d9e3ef}
.camp-lineup .lineup-grid .camp-player{height:310px;border-top:3px solid #d85a64;border-radius:8px 2px 8px 2px}.camp-lineup .camp-player-copy{padding-bottom:60px}.camp-lineup .ability-guide{margin-bottom:0}.camp-growth-person small{line-height:1.5}
.career-stats dd{min-height:40px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}.career-stats dt{color:#c4d4e3}.career-stats .ability-letter{width:30px;height:31px;font-size:25px}.career-stats .ability-number{font-size:17px}
.career-growth .career-stats dd>small{display:block;flex-basis:100%;text-align:center;color:#b0df83;font-size:12px}.career-comparison .ability-value{gap:4px}.career-comparison .ability-letter{min-width:23px;height:26px;font-size:21px}.career-comparison .ability-number{font-size:14px}
.career-offer{border-radius:10px 3px 10px 3px;border-top:3px solid #69859c;background:linear-gradient(145deg,#1d3043,#142437)}.career-offer h3{font-style:italic}.career-offer-head{border-bottom:1px solid #445a70;padding-bottom:8px}.career-scout-status .ability-value{vertical-align:middle}.career-scout-status .ability-number{font-size:13px}
.scout-stats>div{display:flex;flex-direction:column;align-items:center;gap:8px}.potential-badge{display:flex;align-items:center;gap:6px}.potential-badge .ability-number{font-size:14px}
/* A team control room, with clear active menu and quiet secondary chrome. */
.camp-topbar{border-bottom:2px solid #873b47}.sidebar .nav-button.active{background:linear-gradient(105deg,#592a36,#172638);border-left:4px solid #ff6574}.mobile-nav>button.active{background:linear-gradient(0deg,#532a39,#253047);box-shadow:inset 0 -3px #ff7380}
.hq-chapter{border-left:4px solid #ff7380;background:linear-gradient(115deg,#243348,#111f30)}.hq-hero h1{letter-spacing:.02em}.section-head h2,.camp-section-label h2{border-left:3px solid #ff7380;padding-left:10px}
.hq-journey-step{border-radius:7px 2px 7px 2px}.hq-journey-step strong{color:#f4f7fc}.hq-journey-step .hq-step-symbol{color:#ff9aa4}.hq-journey-step:hover,.hq-journey-step:focus-visible{border-color:#ff8d99;background:#2c3345}
.main .primary{border-radius:5px 1px 5px 1px}.main :is(button,a,summary):focus-visible,.modal-pad :is(button,summary):focus-visible{outline:3px solid #fff1bd;outline-offset:3px}
@media(max-width:1100px){.squad-roster .player-body{padding:12px}.ability-stat{grid-template-columns:56px minmax(12px,1fr) auto;column-gap:6px}.ability-stat-label{font-size:12px}.camp-player-stats{width:70%}}
@media(max-width:900px){.hq-chapter{min-height:80px}.hq-chapter .hq-hero-copy{padding:12px 16px}.hq-chapter h1{font-size:24px}}
@media(max-width:900px){.main[data-page="roster"] .ui-sections{margin-bottom:10px}.main[data-page="roster"] .section-head{margin:12px 0}.main[data-page="roster"] .ui-status-note{margin:8px 0 12px;padding:10px 12px}}
@media(max-width:600px){
 #lineup-current .squad-roster{grid-template-columns:1fr}.squad-roster .player-card{grid-template-columns:76px minmax(0,1fr)}.squad-roster .player-art{border-bottom:0;border-right:1px solid #41556c;min-height:260px}.squad-roster .rank-roster-portrait{inset:70px 0 auto;width:100%;height:auto;aspect-ratio:122/194}.squad-roster .player-art:before{display:none}
 .squad-roster .player-body{padding:12px}.squad-roster .player-name{font-size:22px}.squad-roster .player-ident{margin-bottom:8px}.squad-roster .player-number{font-size:24px}.player-potential{margin-bottom:8px;padding:6px 0}.player-potential>span{font-size:11px}
 .ovr .ability-letter{width:30px;height:32px;font-size:26px}.ovr .ability-number{font-size:17px}.ovr.mono{min-width:57px}.ability-stat{margin:6px 0;row-gap:2px}.ability-stat .ability-letter{min-width:25px;height:26px;font-size:22px}.ability-stat .ability-number{font-size:15px}.ability-next{font-size:10px}
 .camp-lineup .lineup-grid .camp-player{height:300px}.camp-player-name{min-height:88px}.camp-player-stats{width:64%;gap:7px}.camp-player-art{width:45%;bottom:44px}.camp-player-copy{background:linear-gradient(90deg,#102033ee,#10203399 52%,transparent 72%)}.camp-player-stats dt{font-size:12px}
 .camp-player-stats .ability-letter{min-width:24px;height:26px;font-size:22px}.camp-player-stats .ability-number{font-size:16px}.camp-growth-person small{font-size:11px}.ability-guide summary{font-size:12px;padding-inline:10px}.ability-guide-body{padding-inline:10px}
 .career-comparison th,.career-comparison td{padding:7px 5px}.career-comparison .ability-value{gap:3px}.career-comparison .ability-number{font-size:13px}.career-comparison .ability-letter{min-width:21px;font-size:20px}
}
@media(max-width:350px){.squad-roster .player-card{grid-template-columns:56px minmax(0,1fr)}.squad-roster .player-body{padding:10px}.squad-roster .player-name{font-size:20px}.squad-roster .player-number{left:8px;font-size:20px}.ability-stat{grid-template-columns:52px minmax(8px,1fr) auto;column-gap:5px}.ability-value{gap:5px}.camp-player-stats{width:71%}.camp-player .player-name{font-size:25px}.camp-player-badge{display:none}.ability-guide summary>span{margin-left:6px}.career-comparison .ability-value{flex-wrap:wrap;gap:2px}.career-comparison .ability-range>b{font-size:17px}.career-comparison .ability-range>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ability-value,.player-card,.hq-journey-step{transition:none!important}}
