/* Yardline profile: compact identity, clear hierarchy, aligned statistics. */
#player-modal { padding:24px; }
#player-modal .yl-modal-card { max-width:1200px; width:min(1200px,100%); padding:0; background:transparent; }
.yl-player-profile.sleeper-dossier { width:100%; max-height:92dvh; display:flex; flex-direction:column; overflow:hidden; background:#fff; color:#323239; border:1px solid #dedee1; border-radius:14px; font-family:inherit; }
.yl-player-profile .sleeper-close { top:16px; right:16px; z-index:6; width:36px; height:36px; min-height:36px; background:#ffffff18; border:1px solid #ffffff40; color:#fff; font-size:24px; line-height:1; }
.yl-profile-hero { position:relative; display:grid; grid-template-columns:160px minmax(0,1fr); align-items:center; gap:24px; min-height:208px; padding:28px 64px 20px 32px; background:var(--yl-navy); color:#fff; flex-shrink:0; isolation:isolate; overflow:hidden; }
.yl-profile-watermark { position:absolute; z-index:-1; right:64px; top:-45px; width:290px; height:290px; opacity:.11; object-fit:contain; pointer-events:none; }
.yl-profile-portrait { width:160px; height:160px; display:grid; place-items:end center; background:linear-gradient(145deg,#ffffff18,#ffffff04); border:1px solid #ffffff22; border-radius:12px; overflow:hidden; }
.yl-profile-portrait img { display:block; width:160px; height:156px; object-fit:contain; object-position:center bottom; }
.yl-profile-identity { min-width:0; }
.yl-profile-eyebrow { color:#ceced3; font-size:12px; font-weight:650; letter-spacing:.6px; margin:0 0 8px; }
.yl-profile-identity h1 { font-size:clamp(26px,3.1vw,38px); line-height:1.12; letter-spacing:-.8px; font-weight:600; color:#fff; margin:0 0 10px; overflow-wrap:anywhere; }
.yl-profile-ownership { display:inline-block; color:#e7e7e9; background:#ffffff10; border:1px solid #ffffff24; font-size:11px; padding:4px 9px; border-radius:4px; margin-bottom:16px; }
.yl-player-profile .sleeper-bio { display:flex; flex-wrap:wrap; align-items:start; gap:12px 24px; }
.yl-player-profile .sleeper-bio span { display:flex; flex-direction:column; gap:5px; font-size:13px; font-weight:550; color:#fff; line-height:1.4; }
.yl-player-profile .sleeper-bio span b { margin:0; font-size:10px; font-weight:550; color:#bfbfc7; letter-spacing:.5px; }
.yl-player-profile .sleeper-bio .college { min-width:0; }
.yl-player-profile .sleeper-bio:empty { display:none; }
.yl-profile-metrics.fp-stat-boxes { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); margin:0; padding:0; gap:0; background:#f7f7f7; border-bottom:1px solid #e2e2e6; flex-shrink:0; }
.yl-profile-metric { padding:18px 24px; border-right:1px solid #e2e2e6; }
.yl-profile-metric:last-child { border:0; }
.yl-profile-metric span { display:block; font-size:11px; font-weight:600; color:#62626e; margin-bottom:7px; }
.yl-profile-metric strong { display:block; font-size:27px; line-height:1.1; font-weight:600; color:var(--yl-navy); font-variant-numeric:tabular-nums; letter-spacing:-.6px; }
.yl-profile-metric small { display:block; color:#747483; font-size:10px; margin-top:5px; }
.yl-profile-context { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; padding:10px 24px; font-size:11px; color:#62626e; background:#fff; border-bottom:1px solid #e7e7ea; flex-shrink:0; }
.yl-profile-context small { font-size:11px; }
.yl-player-profile .sleeper-dossier-nav { display:flex; gap:20px; padding:0 24px; background:#fff; border-bottom:1px solid #e2e2e6; flex-shrink:0; overflow-x:auto; }
.yl-player-profile .sleeper-tab-btn { white-space:nowrap; padding:15px 0 12px; min-height:46px; font-size:12px; font-weight:600; color:#70707e; border:0; border-bottom:3px solid transparent; background:none; }
.yl-player-profile .sleeper-tab-btn.active { color:var(--yl-navy); border-bottom-color:var(--yl-accent); }
.yl-player-profile .yl-profile-content { display:grid; grid-template-columns:minmax(0,1fr) 230px; max-height:none; min-height:0; overflow:auto; flex:1 1 auto; background:#fff; }
.yl-player-profile .sleeper-dossier__logs { min-width:0; padding:24px; }
.yl-profile-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.yl-profile-toolbar h2,.yl-profile-section-heading h2,.yl-profile-content main>section>h2 { font-size:17px; line-height:1.4; color:var(--yl-navy); font-weight:650; margin:0; }
.yl-profile-toolbar p,.yl-profile-section-heading p,.yl-profile-note { font-size:12px; color:#767686; line-height:1.6; margin:5px 0 0; }
.yl-profile-toolbar label { display:flex; align-items:center; gap:9px; font-size:11px; color:#62626e; }
.yl-profile-toolbar select { border:1px solid #d4d4d9; background:#fff; border-radius:6px; padding:8px 12px; font:inherit; color:var(--yl-navy); min-height:36px; }
.yl-profile-table-scroll { max-width:100%; overflow-x:auto; border:1px solid #e2e2e6; border-radius:8px; }
.yl-profile-table { width:100%; border-collapse:collapse; font-size:12px; color:#44444d; font-variant-numeric:tabular-nums; }
.yl-profile-table caption { text-align:left; font-size:11px; color:#767686; padding:11px 14px; background:#fff; }
.yl-profile-table th,.yl-profile-table td { padding:12px 12px; text-align:right; white-space:nowrap; border-bottom:1px solid #ececee; line-height:1.5; }
.yl-profile-table thead th { background:#f3f3f5; color:#62626e; font-size:10px; font-weight:650; }
.yl-profile-table .yl-stat-groups th { background:#eeeef0; color:#3e3e45; text-align:center; }
.yl-profile-table tbody th { font-weight:600; color:var(--yl-navy); }
.yl-profile-table th:first-child,.yl-profile-table td:first-child { text-align:left; }
.yl-profile-table tbody tr:nth-child(even):not([hidden]) { background:#fbfbfc; }
.yl-profile-table tbody tr:hover:not([hidden]) { background:#f4f4f6; }
.yl-profile-table .yl-points-col { font-weight:600; color:var(--yl-navy); background:#eaf1f8; }
.yl-profile-table abbr { cursor:help; text-decoration:none; }
.yl-profile-table tr[hidden] { display:none; }
.yl-record-toggle,.yl-profile-link { border:0; background:none; color:#46464e; font-size:11px; font-weight:600; padding:4px 0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.yl-record-details { display:flex; flex-wrap:wrap; gap:20px; padding:8px; text-align:left; white-space:normal; }
.yl-record-details section { flex:1 1 190px; }
.yl-record-details h4 { font-size:12px; color:var(--yl-navy); margin:0 0 10px; }
.yl-record-details dl,.yl-stat-summary dl,.yl-profile-facts { margin:0; }
.yl-record-details dl>div,.yl-stat-summary dl>div,.yl-profile-facts>div { display:flex; justify-content:space-between; gap:20px; padding:8px 0; border-bottom:1px solid #ececee; font-size:12px; }
.yl-record-details dt,.yl-stat-summary dt,.yl-profile-facts dt { color:#70707e; }
.yl-record-details dd,.yl-stat-summary dd,.yl-profile-facts dd { margin:0; color:var(--yl-navy); font-weight:600; text-align:right; }
.yl-player-profile .sleeper-dossier__side { background:#fafafa; border-left:1px solid #e7e7ea; padding:24px 20px; }
.yl-player-profile .sleeper-dossier__side section { margin:0 0 28px; }
.yl-player-profile .sleeper-dossier__side h3 { color:var(--yl-navy); font-size:12px; font-weight:650; letter-spacing:0; margin:0 0 13px; }
.yl-player-profile .sleeper-dossier__side p { font-size:12px; line-height:1.7; color:#70707e; margin:8px 0; }
.yl-player-profile .sleeper-dossier__side small { font-size:11px; line-height:1.6; color:#868693; }
.yl-profile-depth { list-style:none; padding:0; margin:0; }
.yl-profile-depth li { display:flex; align-items:center; gap:10px; font-size:12px; padding:10px 0; border-bottom:1px solid #e7e7e9; color:#70707e; }
.yl-profile-depth li span { color:#9393a0; width:20px; }
.yl-profile-depth li strong { font-weight:500; }
.yl-profile-depth li.is-selected strong { color:var(--yl-navy); font-weight:600; }
.yl-profile-section-heading { margin-bottom:16px; }
.yl-profile-subtitle { margin:28px 0 6px; color:var(--yl-navy); font-size:16px; }
.yl-stat-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:16px; }
.yl-stat-summary { border:1px solid #e2e2e6; border-radius:8px; padding:16px; }
.yl-stat-summary h3 { font-size:13px; color:var(--yl-navy); margin:0 0 8px; }
.yl-stat-summary dd small { display:block; font-size:10px; font-weight:400; color:#868693; }
.yl-season-team { display:block; font-size:10px; color:#868693; margin-top:3px; }
.yl-profile-loading { font-size:12px; padding:12px 16px; background:#f5f5f7; border-left:3px solid var(--yl-accent); color:#62626e; margin:0 0 16px; }
.yl-profile-news { border-bottom:1px solid #e2e2e6; padding:16px 0; }
.yl-profile-news h3 { font-size:15px; color:var(--yl-navy); }
.yl-profile-news p { font-size:13px; color:#62626e; line-height:1.7; }
.yl-profile-news a { font-size:12px; color:#46464e; }
.yl-player-profile button:focus-visible,.yl-player-profile select:focus-visible { outline:3px solid var(--yl-accent); outline-offset:3px; }
@media(max-width:900px){ .yl-player-profile .yl-profile-content { grid-template-columns:minmax(0,1fr); } .yl-player-profile .sleeper-dossier__side { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:24px; border-left:0; border-top:1px solid #e7e7ea; } }
@media(max-width:600px){ #player-modal { padding:8px; } .yl-player-profile.sleeper-dossier { max-height:94dvh; border-radius:10px; } .yl-profile-hero { grid-template-columns:80px minmax(0,1fr); gap:14px; padding:48px 16px 20px; min-height:0; } .yl-profile-portrait { width:80px; height:100px; } .yl-profile-portrait img { width:85px; height:100px; } .yl-profile-identity h1 { font-size:26px; } .yl-profile-ownership { margin-bottom:12px; } .yl-player-profile .sleeper-bio { gap:10px 16px; } .yl-player-profile .sleeper-bio span { font-size:11px; } .yl-profile-metrics.fp-stat-boxes { grid-template-columns:repeat(2,minmax(0,1fr)); } .yl-profile-metric { padding:13px 16px; } .yl-profile-metric strong { font-size:24px; } .yl-profile-metric small { font-size:10px; } .yl-profile-context { padding:10px 16px; } .yl-player-profile .sleeper-dossier-nav { padding:0 16px; gap:20px; } .yl-player-profile .sleeper-dossier__logs { padding:20px 14px; } .yl-profile-table th,.yl-profile-table td { padding:10px; } .yl-profile-table-scroll { -webkit-overflow-scrolling:touch; } .yl-profile-toolbar { align-items:flex-start; } .yl-profile-toolbar select { min-height:44px; } }

/* Team identity belongs to the athlete; the surrounding app stays Yardline. */
.yl-profile-hero { grid-template-columns:220px minmax(0,1fr); min-height:218px; padding:24px 64px 0 22px; background:linear-gradient(110deg,var(--yl-team-primary,var(--yl-navy)),color-mix(in srgb,var(--yl-team-primary,var(--yl-navy)),#000 38%)); border-bottom:4px solid var(--yl-team-accent,var(--yl-accent)); }
.yl-profile-identity { padding-bottom:24px; }
.yl-profile-portrait { width:220px; height:210px; align-self:end; background:none; border:0; border-radius:0; overflow:visible; }
.yl-profile-portrait img { width:235px; height:215px; object-fit:contain; filter:drop-shadow(0 10px 14px #0003); }
.yl-profile-watermark { right:50px; width:330px; height:330px; opacity:.15; }
@media(max-width:600px){ .yl-profile-hero { grid-template-columns:100px minmax(0,1fr); min-height:200px; padding:42px 18px 0 8px; gap:10px; } .yl-profile-portrait { width:105px; height:160px; } .yl-profile-portrait img { width:125px; height:170px; } .yl-profile-identity { padding-bottom:20px; } .yl-profile-identity h1 { font-size:25px; } .yl-profile-watermark { right:-40px; width:250px; height:250px; } }

/* One reading surface: portrait scrolls away, identity and tabs stay reachable. */
.yl-player-profile.sleeper-dossier { display:block; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.yl-player-profile .yl-profile-content { overflow:visible; }
.yl-profile-navigation { position:sticky; top:0; z-index:5; background:#fff; box-shadow:0 3px 12px #14283c0d; padding-right:48px; }
.yl-profile-compact-identity { display:none; align-items:baseline; gap:12px; padding:14px 24px 0; color:var(--yl-navy); }
.yl-profile-compact-identity span { font-size:18px; line-height:1.3; font-weight:600; }
.yl-profile-compact-identity small { font-size:12px; color:#70707e; }
.is-compact .yl-profile-compact-identity { display:flex; }
.yl-profile-nav-close { position:absolute; top:8px; right:8px; width:36px; height:36px; border:1px solid #e2e2e6; border-radius:50%; background:#fff; color:var(--yl-navy); font-size:24px; cursor:pointer; }
.yl-player-profile .sleeper-tab-btn { font-size:13px; padding-top:16px; padding-bottom:14px; }
.yl-profile-table { font-size:13px; }
.yl-profile-table thead th { font-size:11px; }
.yl-profile-table tbody th:first-child { position:sticky; left:0; z-index:1; background:#f7f7f7; box-shadow:1px 0 #e2e2e6; }
.yl-player-profile [role="tabpanel"]:focus-visible { outline:2px solid var(--yl-accent); outline-offset:6px; }
.yl-profile-roster label { display:block; font-size:12px; color:#62626e; margin-bottom:8px; }
.yl-profile-roster input { width:100%; box-sizing:border-box; min-height:42px; padding:9px 10px; border:1px solid #d4d4d9; border-radius:7px; background:#fff; color:var(--yl-navy); font:inherit; font-size:13px; }
.yl-profile-roster ul { list-style:none; padding:0; margin:12px 0 0; max-height:320px; overflow:auto; overscroll-behavior:contain; }
.yl-profile-roster li[hidden],.yl-roster-search-empty[hidden] { display:none; }
.yl-profile-roster button { width:100%; display:flex; flex-direction:column; gap:5px; align-items:flex-start; padding:12px 10px; text-align:left; background:transparent; border:0; border-bottom:1px solid #e7e7ea; border-left:3px solid transparent; color:#323239; cursor:pointer; }
.yl-profile-roster button span { font-size:13px; font-weight:600; }
.yl-profile-roster button small { font-size:11px; }
.yl-profile-roster button:hover { background:#eaf1f8; }
.yl-profile-roster button[aria-current="true"] { background:#eaf1f8; border-left-color:var(--yl-accent); color:var(--yl-navy); }
.yl-player-profile input:focus-visible { outline:3px solid var(--yl-accent); outline-offset:3px; }
.yl-profile-news .yl-news-meta { color:#70707e; font-size:12px; }
.yl-player-profile .sleeper-tab-btn:hover { background:#f3f3f5; color:var(--yl-navy); }
/* Darken bright franchise colors behind white identity text. */
.yl-profile-hero { background:linear-gradient(110deg,color-mix(in srgb,var(--yl-team-primary,var(--yl-navy)),#000 30%),color-mix(in srgb,var(--yl-team-primary,var(--yl-navy)),#000 55%)); }
/* Light analytical surface; team colors stay in the athlete header. */
.yl-profile-table { border-collapse:separate; border-spacing:3px; }
.yl-profile-table th,.yl-profile-table td { padding:6px 7px; }
.yl-profile-table .yl-points-col { background:transparent; }
.yl-stat-cell { display:block; border-radius:5px; padding:6px 8px; text-align:center; min-width:24px; font-weight:600; }
.yl-stat-cell.is-high,.yl-heatmap-legend .is-high { background:#85dfbf; color:#123d30; }
.yl-stat-cell.is-low,.yl-heatmap-legend .is-low { background:#ffa0a5; color:#521c26; }
.yl-stat-cell.is-neutral,.yl-heatmap-legend .is-neutral { background:#e9e9eb; color:#44444c; }
.yl-heatmap-legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#70707e; font-size:11px; line-height:1.7; margin:14px 0; }
.yl-heatmap-legend span { padding:3px 8px; border-radius:4px; }
.yl-heatmap-method { font-size:12px; line-height:1.7; color:#70707e; margin:12px 0; }
.yl-heatmap-method summary { color:#46464e; cursor:pointer; }
.yl-profile-content .sleeper-dossier__logs { padding:24px 28px; }
.yl-profile-roster button { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:9px; }
.yl-profile-roster button img { width:34px; height:34px; object-fit:cover; border-radius:50%; grid-row:span 2; background:#e9e9eb; }
.yl-profile-roster button span,.yl-profile-roster button small { grid-column:2; }
@media(max-width:600px){
  .yl-profile-hero { grid-template-columns:112px minmax(0,1fr); gap:14px; }
  .yl-profile-portrait { width:112px; }
  .yl-record-toggle,.yl-profile-link { min-height:44px; padding:8px 0; }
  .yl-profile-compact-identity { padding-left:16px; flex-wrap:wrap; gap:4px 10px; }
  .yl-profile-compact-identity span { font-size:16px; }
  .yl-profile-navigation .sleeper-dossier-nav { gap:18px; }
  .yl-profile-metric span { font-size:12px; }
}
/* A roster rail beside the athlete, rather than competing with the data column. */
.yl-profile-frame { display:grid; grid-template-columns:200px minmax(0,1fr); align-items:start; gap:12px; }
.yl-profile-frame .yl-player-profile { min-width:0; }
.yl-profile-player-rail { max-height:92dvh; overflow:auto; background:#fafafa; padding:18px 12px; border:1px solid #e2e2e6; border-radius:14px; color:var(--yl-navy); }
.yl-profile-player-rail details>summary { display:none; }
.yl-profile-player-rail h3 { font-size:13px; margin:0 0 16px; }
.yl-profile-player-rail .yl-profile-roster ul { max-height:none; overflow:visible; }
.yl-profile-player-rail .yl-profile-roster button { padding:12px 4px; }
.yl-profile-player-rail .yl-profile-roster button span { font-size:12px; overflow-wrap:anywhere; }
.yl-profile-player-rail .yl-roster-search-empty { color:#70707e; font-size:12px; }
@media(max-width:900px){
 .yl-profile-frame { grid-template-columns:minmax(0,1fr); gap:8px; }
 .yl-profile-player-rail { max-height:260px; padding:12px; }
 .yl-profile-player-rail details>summary { display:list-item; font-size:13px; cursor:pointer; }
 .yl-profile-player-rail .yl-profile-roster { margin-top:16px; }
}
@media(max-width:900px){
 .yl-profile-frame { height:90dvh; max-height:90dvh; grid-template-rows:auto minmax(0,1fr); min-height:0; }
 .yl-profile-frame .yl-player-profile { height:100%; max-height:100%; min-height:0; }
 .yl-profile-player-rail { max-height:200px; }
}

/* Editorial sidebar is present only when there are athlete news or depth data. */
.yl-player-profile .yl-profile-content.has-no-editorial-side { grid-template-columns:minmax(0,1fr); }
.yl-profile-content.has-no-editorial-side > .sleeper-dossier__side { display:none; }
.yl-profile-latest-news .yl-profile-news { padding:12px 0; border-bottom:1px solid #ececee; }
.yl-profile-latest-news .yl-profile-news:first-of-type { padding-top:0; }
.yl-profile-latest-news .yl-profile-news:last-child { border-bottom:0; padding-bottom:0; }
.yl-profile-latest-news .yl-profile-news h3 { font-size:12px; line-height:1.45; letter-spacing:0; text-transform:none; margin:0 0 6px; color:#323239; }
.yl-profile-latest-news .yl-profile-news p { font-size:11px; line-height:1.5; }
.yl-profile-latest-news .yl-profile-news a { font-size:11px; }
