/* PL player ecosystem — roster cards + league-agnostic player popup · v20261005c1
   Theme-agnostic: works on light (--ink) and dark (--ivory) team pages.
   Scoped under .plr-scope so existing page styles are untouched. */
.plr-scope{--acc:var(--tc);--accbg:var(--tc);--acctext:var(--desert-card)}/* Group headings */
.plr-scope .plr-group{font-family:var(--serif);font-size:20px;font-weight:700;margin:26px 0 12px;display:flex;align-items:center;gap:10px;color:inherit}.plr-scope .plr-group:first-of-type{margin-top:6px}.plr-scope .plr-count{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:1px;background:var(--accbg);color:var(--acctext);border-radius:999px;padding:3px 10px}/* Card grid — laptop-first 4-up, then tablet 2-up, phone 1-up */
.plr-scope .plr-grid{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:560px){.plr-scope .plr-grid{grid-template-columns:1fr 1fr}}@media(min-width:960px){.plr-scope .plr-grid{grid-template-columns:1fr 1fr 1fr 1fr}}/* Cards */
.plr-scope .plr-card{border:1px solid var(--desert-rule);background:var(--panel);border-radius:14px;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:inherit;padding:0;display:block;width:100%;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 10px rgba(var(--desert-shadow-rgb), .05)}.plr-scope .plr-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(var(--desert-shadow-rgb), .12)}.plr-scope .plr-card:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.plr-scope .plr-ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--desert-rule);display:block}.plr-scope .plr-init{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:46px;font-weight:700;color:var(--desert-card);letter-spacing:2px}.plr-scope .plr-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.plr-scope .plr-num{position:absolute;left:10px;bottom:10px;min-width:44px;height:30px;padding:0 10px;border-radius:8px;background:var(--accbg);color:var(--acctext);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;letter-spacing:.5px;box-shadow:0 2px 8px rgba(var(--desert-shadow-rgb), .3)}.plr-scope .plr-b{padding:12px 14px 14px;display:block}.plr-scope .plr-name{font-family:var(--serif);font-size:16px;font-weight:700;line-height:1.3;display:block}.plr-scope .plr-sub{font-size:12px;color:var(--desert-ink-dim);margin-top:5px;display:block}.plr-scope .plr-tap{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--acc);font-weight:800;margin-top:9px;display:block}/* Popup */
.plpovl{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}.plpovl.open{display:flex}.plpovl .plp-bd{position:absolute;inset:0;background:rgba(var(--desert-ink-rgb), .62);backdrop-filter:blur(3px)}.plpovl .plp-card{position:relative;background:var(--panel);color:inherit;border-radius:18px;max-width:440px;width:100%;overflow:hidden;box-shadow:0 30px 80px rgba(var(--desert-shadow-rgb), .35);animation:plpop .18s ease;max-height:88vh;overflow-y:auto}@keyframes plpop{from{transform:scale(.96) translateY(8px);opacity:0}to{transform:none;opacity:1}}.plpovl .plp-ph{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--desert-rule)}.plpovl .plp-init{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:64px;font-weight:700;color:var(--desert-card);letter-spacing:3px}.plpovl .plp-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.plpovl .plp-x{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(var(--desert-ink-rgb), .55);color:var(--desert-card);font-size:18px;cursor:pointer;line-height:1}.plpovl .plp-pb{padding:20px 20px 22px}.plpovl .plp-meta{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--acc);font-weight:800;margin-bottom:8px}.plpovl .plp-name{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.15;margin:0}.plpovl .plp-pos{display:inline-block;margin-top:10px;font-size:12px;font-weight:800;letter-spacing:1px;background:var(--accbg);color:var(--acctext);padding:5px 12px;border-radius:999px}.plpovl .plp-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.plpovl .plp-stat{border:1px solid var(--desert-rule);border-radius:10px;padding:8px 12px;min-width:78px;text-align:center;background:var(--panel);color:inherit;font:inherit}.plpovl a.plp-stat{cursor:pointer;text-decoration:none;display:block}.plpovl a.plp-stat:hover{border-color:var(--acc)}.plpovl .plp-stat .v{font-family:var(--serif);font-size:18px;font-weight:700;display:block;line-height:1.2}.plpovl .plp-stat .k{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--desert-ink-dim);display:block;margin-top:3px}.plpovl .plp-note{font-size:11px;color:var(--desert-ink-dim);margin-top:10px;letter-spacing:.4px}.plpovl .plp-bio{font-size:14px;line-height:1.7;color:var(--desert-ink-dim);margin:14px 0 0}.plpovl .plp-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.plpovl .plp-cta{display:inline-block;background:var(--accbg);color:var(--acctext);font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:13px 24px;font-weight:700;border-radius:999px;text-decoration:none}.plpovl .plp-cta.ghost{background:transparent;border:1px solid var(--desert-rule);color:inherit}
