/* ── Player page (rookies_by_player.html) ─────────────────────────────────
   Loads AFTER product_detail.css and leans on its .cardstock tokens
   (--paper/--ink/--accent/…), .panel, .crumbs and the .cf-* badge
   vocabulary. Everything page-specific is namespaced .plc-* (player cards;
   .pc- would collide with .price-compare). The legacy rookie-view styles
   (.player-table etc.) moved here unchanged from the template's old inline
   <style> — they still serve players with no checklist rows. */

.cardstock .player-panel { padding: 26px 30px 28px; }

/* ---- Header: headshot beside name ---- */
.cardstock .plc-head {
  display: flex; align-items: center; gap: 18px; margin-bottom: 16px;
}
.cardstock .plc-headshot {
  flex: none; width: 84px; height: 84px; border-radius: 10px;
  object-fit: cover; object-position: top center;
  background: var(--paper-edge);
  box-shadow: 0 8px 18px -6px rgba(15,15,15,0.4),
              inset 0 1px 0 rgba(255,255,255,0.4);
}
.cardstock .plc-id { min-width: 0; }
.cardstock .plc-head h1 {
  margin: 0; font-size: 30px; font-weight: 800; letter-spacing: -0.01em;
  color: var(--accent); line-height: 1.05;
}
.cardstock .player-sub {
  display: block; margin-top: 4px;
  font-size: 13px; font-weight: 600; letter-spacing: 0.02em;
  color: var(--ink-3); text-transform: uppercase;
}

/* ---- Summary chip presets ---- */
.cardstock .plc-chips {
  display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px;
}
.cardstock .plc-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 11px; border-radius: 999px; cursor: pointer;
  font-size: 12px; font-weight: 700; color: var(--ink-2);
  background: rgba(255,255,255,0.3);
  border: 1px solid var(--rule-soft);
  transition: border-color 120ms ease, background 120ms ease;
}
.cardstock .plc-chip b {
  font-family: "Roboto Mono", monospace; font-weight: 700;
  font-size: 11px; color: var(--ink-num);
}
.cardstock .plc-chip:hover { border-color: var(--accent); }
.cardstock .plc-chip.active {
  border-color: var(--accent); background: rgba(160,68,37,0.10);
  box-shadow: inset 0 0 0 1px var(--accent);
}

/* ---- Filter bar ---- */
.cardstock .plc-filters {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px;
  margin: 0 0 12px; padding: 10px 12px;
  border: 1px solid var(--rule-soft); border-radius: 8px;
  background: rgba(255,255,255,0.22);
}
.cardstock .plc-filters .fctl { display: flex; flex-direction: column; gap: 3px; }
.cardstock .plc-filters label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--ink-3);
}
.cardstock .plc-filters select,
.cardstock .plc-filters input[type="search"] {
  font: inherit; font-size: 12.5px; color: var(--ink);
  padding: 4px 7px; border: 1px solid var(--paper-edge); border-radius: 5px;
  background: #fff; max-width: 220px;
}
.cardstock .plc-filters input[type="search"] { width: 180px; }
.cardstock .plc-filters .seg {
  display: inline-flex; border: 1px solid var(--paper-edge);
  border-radius: 5px; overflow: hidden; background: #fff;
}
.cardstock .plc-filters .seg button {
  font: inherit; font-size: 11.5px; font-weight: 600; color: var(--ink-2);
  padding: 4px 9px; background: #fff; border: 0; cursor: pointer;
  border-left: 1px solid var(--paper-edge); white-space: nowrap;
}
.cardstock .plc-filters .seg button:first-child { border-left: 0; }
.cardstock .plc-filters .seg button:hover { background: var(--paper-hi); }
.cardstock .plc-filters .seg button.on {
  background: var(--accent); color: #fff;
}
.cardstock .plc-filters .fctl.narrowed label::after {
  content: "●"; margin-left: 4px; color: var(--accent); font-size: 8px;
}
.cardstock .plc-reset {
  font: inherit; font-size: 11.5px; font-weight: 700; color: var(--ink-2);
  padding: 5px 12px; border: 1px solid var(--paper-edge); border-radius: 5px;
  background: #fff; cursor: pointer; align-self: flex-end;
}
.cardstock .plc-reset:hover { background: var(--paper-hi); }

.cardstock .plc-summary {
  margin: 0 0 8px; font-size: 12.5px; font-weight: 600; color: var(--ink-3);
}

/* ══ The datasheet — admin-products (table.ds) styling: a white, dense,
   dark-gray table dropped onto the paper panel. Minimal padding, tabular
   nums, sticky header + sticky Season column, nothing wraps. ══ */
.cardstock .plc-scroll {
  overflow: auto; max-height: calc(100vh - 240px);
  border: 1px solid #e1e4e8; border-radius: 8px; background: #fff;
}
.cardstock table.plc-ds {
  border-collapse: separate; border-spacing: 0; width: 100%;
  font-size: 11.5px; font-variant-numeric: tabular-nums; color: #24292e;
}
.cardstock table.plc-ds th, .cardstock table.plc-ds td {
  padding: .12em .55em; border-bottom: 1px solid #f0f1f3; white-space: nowrap;
  text-align: left; vertical-align: middle; background: #fff; line-height: 1.5;
}
.cardstock table.plc-ds thead th {
  position: sticky; top: 0; z-index: 3; background: #f0f2f5; color: #3a4149;
  font-weight: 600; font-size: 10px; text-transform: uppercase;
  letter-spacing: .02em; border-bottom: 1px solid #d1d5da;
  padding-top: .35em; padding-bottom: .35em;
}
.cardstock table.plc-ds thead th.sortable { cursor: pointer; user-select: none; }
.cardstock table.plc-ds thead th.sortable:hover { color: #1b1f24; }
.cardstock table.plc-ds thead th.sorted::after { content: " ▲"; color: #0366d6; font-size: 9px; }
.cardstock table.plc-ds thead th.sorted.desc::after { content: " ▼"; }
.cardstock table.plc-ds tbody tr.pc:hover td { background: #f2f7fd; }
.cardstock table.plc-ds td.num, .cardstock table.plc-ds th.num {
  text-align: right; font-family: "Roboto Mono", monospace; color: #57606a;
}
.cardstock table.plc-ds td.ctr, .cardstock table.plc-ds th.ctr { text-align: center; }
.cardstock table.plc-ds td.mut { color: #8a929b; }

/* Sticky identity: Season pinned left. Opaque #fff so scrolled columns don't
   ghost through. */
.cardstock table.plc-ds th.c-season, .cardstock table.plc-ds td.c-season {
  position: sticky; left: 0; z-index: 2; width: 66px; min-width: 66px;
  font-family: "Roboto Mono", monospace; color: #57606a;
  border-right: 1px solid #eceef0;
}
.cardstock table.plc-ds thead th.c-season { z-index: 4; }
.cardstock table.plc-ds tbody tr.pc:hover td.c-season { background: #f2f7fd; }

/* Plain-text identity links (no link chrome at rest, hover underline). */
.cardstock table.plc-ds .cell-link { color: inherit; text-decoration: none; display: block; }
.cardstock table.plc-ds .cell-link:hover { text-decoration: underline; color: #0757ba; }
.cardstock table.plc-ds tr.pc:hover .c-prod .cell-link { color: #0757ba; }
.cardstock table.plc-ds td.c-prod { max-width: 210px; overflow: hidden; text-overflow: ellipsis; }

/* Insert set: name (bold) + parallel + finish subtext, all on one line. */
.cardstock table.plc-ds td.c-set { max-width: 300px; overflow: hidden; }
.cardstock .plc-setname { font-weight: 600; }
.cardstock .plc-par { margin-left: 5px; color: #6a737d; }
.cardstock .plc-sub { margin-left: 5px; color: #9aa1a9; font-style: italic; }
.cardstock table.plc-ds td.c-odds { max-width: 180px; overflow: hidden; text-overflow: ellipsis; color: #8a929b; font-size: 10.5px; }
.cardstock table.plc-ds td.c-upd { max-width: 160px; overflow: hidden; }

/* Expandable rows (eBay-eligible) get a pointer + a faint hover cue on the # */
.cardstock table.plc-ds tr.pc.pc-x { cursor: pointer; }
.cardstock table.plc-ds tr.pc.pc-open td { background: #eef5ff; }
.cardstock table.plc-ds tr.pc.pc-open td.c-season { background: #eef5ff; }

/* ---- pills (the product-page Checklist Table family) ---- */
.cardstock .plcb {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 9.5px; font-weight: 700; line-height: 1.5;
  border-radius: 4px; padding: 1px 5px; letter-spacing: .03em;
  white-space: nowrap;
}
.cardstock .plcb-rc { background: #111; color: #edb143; }          /* gold on black */
.cardstock .plcb-oo { background: #1a1a1a; color: #fff; }          /* 1/1 */
.cardstock .plcb-ser { background: rgba(40,40,40,.12); color: #24292e; font-family:"Roboto Mono",monospace; }
.cardstock .plcb-sp { background: #6d4ca3; color: #fff; }
.cardstock .plcb-patch { background: #b45309; color: #fff; }
.cardstock .plcb-auto {
  background: #fff; color: #1c6f9e; border: 1px solid #c9c9c7; padding: 1px 5px;
}
.cardstock .plcb-auto .plc-sq { display: block; height: 12px; width: auto; }
/* Update chip — cross-product link (blue), truncates to the column. */
.cardstock a.plcb-upd {
  background: rgba(28,111,158,.1); color: #1c6f9e; font-weight: 600;
  letter-spacing: 0; text-decoration: none; max-width: 100%;
  overflow: hidden; text-overflow: ellipsis; display: inline-block;
  vertical-align: middle; line-height: 1.6;
}
.cardstock a.plcb-upd:hover { background: rgba(28,111,158,.2); text-decoration: underline; }

/* eBay toggle — compact multicolor wordmark + caret. */
.cardstock .plc-ebay-btn {
  display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
  font: inherit; padding: 2px 6px; border-radius: 5px; cursor: pointer;
  background: #fff; border: 1px solid #d1d5da;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.cardstock .plc-ebay-btn:hover { border-color: #0064d2; box-shadow: 0 2px 6px -2px rgba(0,100,210,.5); }
.cardstock .plc-ebay-btn[aria-expanded="true"] { border-color: #0064d2; background: #eef5ff; }
.cardstock .plc-ebay-btn .ebay-mark { font-weight: 800; font-size: 12px; letter-spacing: -0.03em; }
.cardstock .plc-ebay-btn .ebay-mark b:nth-child(1) { color: #e53238; }
.cardstock .plc-ebay-btn .ebay-mark b:nth-child(2) { color: #0064d2; }
.cardstock .plc-ebay-btn .ebay-mark b:nth-child(3) { color: #f5af02; }
.cardstock .plc-ebay-btn .ebay-mark b:nth-child(4) { color: #86b817; }
.cardstock .plc-ebay-btn .plc-ebay-caret { font-size: 9px; color: #57606a; }

/* Injected eBay strip row (strip partial ships .ces* styles; .rc-ebay-note
   from product_detail.css). Sits inside the white table. */
.cardstock table.plc-ds tr.pc-ebay-row td {
  padding: 2px 12px 10px; background: #f7fafd; border-bottom: 1px solid #e1e4e8;
}
.cardstock table.plc-ds tr.pc-ebay-row .rc-ebay-note { color: #57606a; }

.cardstock .plc-empty {
  padding: 22px 16px; text-align: center;
  font-size: 13px; font-weight: 600; color: var(--ink-3);
}

/* ---- Responsive ---- */
@media (max-width: 720px) {
  .cardstock .player-panel { padding: 18px 10px 20px; }
  .cardstock .plc-head { gap: 12px; }
  .cardstock .plc-headshot { width: 64px; height: 64px; }
  .cardstock .plc-head h1 { font-size: 22px; }
  .cardstock .plc-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  .cardstock .plc-chip { flex: none; white-space: nowrap; }
  /* Product + odds drop on phones; Season + Insert set + # + the pill columns
     still identify each card, and the table pans horizontally behind the
     sticky Season column. */
  .cardstock table.plc-ds th.c-prod, .cardstock table.plc-ds td.c-prod,
  .cardstock table.plc-ds th.c-odds, .cardstock table.plc-ds td.c-odds { display: none; }
  .cardstock table.plc-ds { font-size: 10.5px; }
  .cardstock table.plc-ds th, .cardstock table.plc-ds td { padding: .12em .4em; }
  .cardstock table.plc-ds th.c-season, .cardstock table.plc-ds td.c-season {
    width: 52px; min-width: 52px; font-size: 9px;
  }
  .cardstock table.plc-ds td.c-set { max-width: 40vw; }
  .cardstock table.plc-ds td.c-upd { max-width: 34vw; }
  .cardstock .plc-sub { display: none; }   /* drop finish subtext on phones */
}

/* Focus + motion */
.cardstock .plc-chip:focus-visible,
.cardstock .plc-ebay-btn:focus-visible,
.cardstock .plc-reset:focus-visible,
.cardstock table.plc-ds th.sortable:focus-visible,
.cardstock .plc-filters .seg button:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 1px;
}
@media (prefers-reduced-motion: reduce) {
  .cardstock .plc-ebay-btn, .cardstock .plc-chip { transition: none; }
}

/* ══ Legacy rookie view (players with no checklist rows) — moved verbatim
   from the template's old inline <style>. ══ */
.cardstock .player-body {
  display: grid; grid-template-columns: 220px 1fr; gap: 28px;
  align-items: start;
}
.cardstock .player-media { display: flex; flex-direction: column; gap: 14px; }
.cardstock .player-card-img {
  width: 100%; aspect-ratio: 5 / 7; border-radius: 5px;
  background: var(--paper-edge) center / cover no-repeat;
  box-shadow: 0 8px 18px -6px rgba(15,15,15,0.4),
              inset 0 1px 0 rgba(255,255,255,0.35);
}
.cardstock .player-table-head {
  margin: 0 0 12px; font-size: 16px; font-weight: 700;
  letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink);
}
.cardstock .player-table-wrap { overflow-x: auto; }
.cardstock .player-table { width: 100%; border-collapse: collapse; font-size: 13.5px;
  background: rgba(255, 255, 255, 0.22); }
.cardstock .player-table thead th {
  text-align: left; padding: 0 14px 9px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3);
  border-bottom: 1.5px solid var(--rule); white-space: nowrap;
}
.cardstock .player-table th.num, .cardstock .player-table td.num {
  text-align: right; font-family: "Roboto Mono", monospace;
}
.cardstock .player-table tbody td {
  padding: 5px 14px; border-bottom: 1px solid var(--rule-soft);
  color: var(--ink); vertical-align: middle;
}
.cardstock .player-table tbody tr:hover { background: rgba(255,255,255,0.28); }
.cardstock .player-table a { color: var(--accent); text-decoration: none; }
.cardstock .player-table a:hover { color: var(--accent-deep); text-decoration: underline; }
.cardstock .player-table .muted { color: var(--ink-3); }
.cardstock .player-table .product-cell { max-width: 440px; }
.cardstock .product-title-row { display: flex; align-items: center; gap: 5px; }
.cardstock .product-name {
  display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-weight: 600;
}
.cardstock .auto-badge--inline {
  flex: 0 0 auto; width: 15px; height: 15px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #3a3a3a; color: #fff; border: 1.5px solid #fff;
  box-shadow: 0 1px 2px rgba(15, 15, 15, 0.3);
}
.cardstock .auto-badge--inline svg { width: 10px; height: 10px; display: block; }
.cardstock .product-price {
  display: block; margin-top: 1px;
  font-family: "Roboto Mono", monospace; font-weight: 700; font-size: 16px;
  color: var(--ink-num);
}
.cardstock .product-price .product-format {
  font-family: var(--font-sans, inherit); font-weight: 600; font-size: 11.5px;
  letter-spacing: 0.01em; text-transform: uppercase; color: var(--ink-3); margin-left: 5px;
}
.cardstock .product-price.product-price--empty {
  font-family: var(--font-sans, inherit); font-weight: 600; font-size: 11.5px;
  letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-3);
}
.cardstock .ebay-search-btn {
  display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
  padding: 6px 12px; border-radius: 8px;
  font-size: 12px; font-weight: 700; text-decoration: none;
  color: var(--ink-2); background: #fff;
  border: 1px solid var(--rule-soft);
  transition: transform 120ms ease, box-shadow 150ms ease, border-color 150ms ease;
}
.cardstock .ebay-search-btn:hover {
  transform: translateY(-1px); color: var(--ink-2); text-decoration: none;
  border-color: #0064d2; box-shadow: 0 5px 14px -5px rgba(0,100,210,0.5);
}
.cardstock .ebay-search-btn:active { transform: translateY(0); box-shadow: none; }
.cardstock .ebay-search-btn .ebay-mark { font-weight: 800; font-size: 14px; letter-spacing: -0.03em; }
.cardstock .ebay-search-btn .ebay-mark b:nth-child(1) { color: #e53238; }
.cardstock .ebay-search-btn .ebay-mark b:nth-child(2) { color: #0064d2; }
.cardstock .ebay-search-btn .ebay-mark b:nth-child(3) { color: #f5af02; }
.cardstock .ebay-search-btn .ebay-mark b:nth-child(4) { color: #86b817; }
.cardstock .ebay-search-btn .ebay-go {
  display: inline-flex; width: 13px; height: 13px; color: var(--ink-3);
  transition: color 150ms ease, transform 150ms ease;
}
.cardstock .ebay-search-btn .ebay-go svg { width: 100%; height: 100%; display: block; }
.cardstock .ebay-search-btn:hover .ebay-go { color: #0064d2; transform: translate(1px, -1px); }

@media (max-width: 720px) {
  .cardstock .player-body { grid-template-columns: 1fr; gap: 18px; }
  .cardstock .player-media {
    flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 12px;
  }
  .cardstock .player-card-img { width: 100px; }
  .cardstock .player-table { font-size: 12px; }
  .cardstock .player-table thead th { padding: 0 6px 7px; font-size: 9.5px; letter-spacing: 0.01em; }
  .cardstock .player-table tbody td { padding: 7px 6px; }
  .cardstock .player-table th.num, .cardstock .player-table td.num { padding-left: 4px; padding-right: 4px; }
  .cardstock .player-table .product-cell { max-width: 215px; }
  .cardstock .product-name { font-size: 11px; font-weight: 600; letter-spacing: -0.015em; }
  .cardstock .product-price { font-size: 14px; margin-top: 1px; }
  .cardstock .product-price .product-format { font-size: 10px; margin-left: 4px; }
  .cardstock .ebay-search-btn { padding: 5px 8px; gap: 5px; }
}

/* Admin hype control — paper-toned to match the panel (moved verbatim). */
.cardstock .hype-control { display: flex; align-items: center; gap: 0.7em; flex-wrap: wrap;
                margin: 0 0 18px; padding: 0.5em 0.7em; border: 1px solid var(--rule-soft);
                border-radius: 6px; background: rgba(255,255,255,0.3); }
.cardstock .hype-control__label { font-size: 0.74em; font-weight: 700; letter-spacing: 0.04em;
                       text-transform: uppercase; color: var(--ink-3); }
.cardstock .hype-control__seg { display: inline-flex; border: 1px solid var(--paper-edge);
                     border-radius: 5px; overflow: hidden; background: #fff; }
.cardstock .hype-btn { display: inline-flex; align-items: center; gap: 0.4em; padding: 0.32em 0.7em;
            font-size: 0.82em; font-weight: 600; color: var(--ink-2); background: #fff;
            border: 0; border-left: 1px solid var(--paper-edge); cursor: pointer; }
.cardstock .hype-btn:first-child { border-left: 0; }
.cardstock .hype-btn__n { display: inline-flex; align-items: center; justify-content: center;
               width: 1.35em; height: 1.35em; border-radius: 50%; font-size: 0.82em;
               background: var(--paper-edge); color: var(--ink-2); }
.cardstock .hype-btn:hover { background: var(--paper-hi); }
.cardstock .hype-btn.is-active { color: #fff; }
.cardstock .hype-btn.is-active .hype-btn__n { background: rgba(255,255,255,0.32); color: #fff; }
.cardstock .hype-btn--1.is-active { background: #8b949e; }
.cardstock .hype-btn--2.is-active { background: #2da44e; }
.cardstock .hype-btn--3.is-active { background: #d4810a; }
.cardstock .hype-btn--4.is-active { background: var(--accent); }
.cardstock .hype-control__board { font-size: 0.8em; color: var(--slate); text-decoration: none; }
.cardstock .hype-control__board:hover { text-decoration: underline; }
.cardstock .hype-control__saved { font-size: 0.78em; font-weight: 600; color: var(--green); }
.cardstock .player-empty { margin-top: 1.2em; color: var(--slate); font-size: 0.92em;
  max-width: 46em; line-height: 1.5; }
