/* VSiN NFL Player Prop Analyzer. pa = main table and shared chrome, pp = player page. */
.pa { --red:#ba3626; --gold:#FFD700; --blue:#003087; --ink:#1a1a2e; --black:#000; --muted:#5A6E8C; --dim:#8896a7; --line:#e8ecf1; --wash:#f8faff; --green:#4b8119; --good:#31a354; --bad:#dc1414; --over:#e6550d; --under:#3182bd; background:#fff; border-radius:10px; padding:0 0 18px; margin:14px 0 24px; color:var(--ink); overflow:hidden; }
.pa * { box-sizing:border-box; }
.pa a { text-decoration:none; }
.pa-stripe { height:5px; background:linear-gradient(90deg, var(--red) 50%, var(--black) 50%); border-radius:10px 10px 0 0; }
.pa-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px 12px; background:var(--black); color:#fff; flex-wrap:wrap; }
.pa-title { font-size:15px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.pa-sub { font-size:11px; font-weight:600; color:#bbb; margin-top:2px; }
.pa-sub b { color:var(--red); font-weight:800; }
.pa-head-right { display:flex; align-items:center; gap:10px; }
.pa-book { display:flex; align-items:center; gap:8px; margin-right:8px; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#bbb; }
.pa-book img { height:22px; width:auto; display:block; }
.pa-week { font:inherit; font-size:12px; font-weight:700; letter-spacing:.04em; color:#fff; background:#1a1a1a; border:1px solid #444; border-radius:6px; padding:6px 10px; cursor:pointer; }
.pa-tabs { display:flex; border:1px solid #444; border-radius:6px; overflow:hidden; background:#1a1a1a; }
.pa-tabs a { padding:7px 14px; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#bbb; }
.pa-tabs a:hover { color:#fff; }
.pa-tabs a.on { color:#fff; background:var(--red); }
.pa-rail { display:flex; align-items:center; gap:6px; padding:12px 18px 0; flex-wrap:wrap; min-height:44px; }
.pa-rail .grp { font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin:0 4px 0 10px; }
.pa-rail .grp:first-child { margin-left:0; }
.pa-rail a { padding:6px 12px; font-size:11px; font-weight:800; letter-spacing:.05em; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:20px; }
.pa-rail a:hover { color:var(--red); border-color:var(--red); }
.pa-rail a.on { color:#fff; background:var(--red); border-color:var(--red); }
.pa-rail.tf a { border-radius:6px; background:var(--wash); }
.pa-rail.tf a:hover { color:var(--black); border-color:var(--black); }
.pa-rail.tf a.on { color:#fff; background:var(--black); border-color:var(--black); }
.pa-tools { padding:12px 18px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-top:12px; border-top:1px solid var(--line); }
.pa-search { flex:1; min-width:180px; max-width:320px; padding:8px 12px; font-size:13px; border:1px solid var(--line); border-radius:6px; outline:none; font-family:inherit; }
.pa-search:focus { border-color:var(--red); }
.pa-count { font-size:11px; font-weight:700; color:var(--muted); letter-spacing:.04em; white-space:nowrap; }
.pa-games { display:flex; flex-wrap:wrap; gap:4px; flex:0 0 100%; order:5; margin-top:2px; }
.pa-games a { padding:4px 8px; font-size:10px; font-weight:800; letter-spacing:.04em; color:#555; background:#f4f4f4; border:1px solid #ddd; border-radius:4px; }
.pa-games a:hover { color:var(--red); border-color:var(--red); }
.pa-games a.on { color:#fff; background:var(--black); border-color:var(--black); }
.pa-howto { margin-left:auto; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--red); white-space:nowrap; }
.pa-howto.on { color:#000; }
.pa a.pa-players { font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#000 !important; background:#f4f4f4; border:1px solid #ccc; border-radius:4px; padding:4px 10px; text-decoration:none; }
.pa a.pa-players:hover { color:var(--red) !important; border-color:var(--red); }
.pl-games { padding:12px 18px 0; }
.pl-game { margin-bottom:14px; }
.pl-band { display:flex; align-items:center; gap:8px; padding:6px 12px; background:var(--black); color:#fff; border-radius:6px; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pl-band .n { margin-left:auto; font-size:10px; font-weight:700; color:#bbb; text-transform:none; letter-spacing:0; }
.pl-cols { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; margin-top:8px; }
.pl-team-head { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:800; letter-spacing:.06em; color:var(--red); margin:4px 0 4px; }
.pl-team-head img { width:18px; height:18px; object-fit:contain; }
.pl-row { display:grid; grid-template-columns:150px 1fr; gap:8px; align-items:center; padding:5px 8px; border:1px solid var(--line); border-radius:6px; margin-bottom:4px; background:#fff; }
.pl-row:nth-child(odd) { background:#f7f7f7; }
.pa a.pl-name { font-size:12px; font-weight:800; color:#000 !important; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pa a.pl-name:hover { color:var(--red) !important; }
.pl-props { display:flex; flex-wrap:wrap; gap:4px; }
.pa .pl-props a { font-size:9px; font-weight:700; color:#555 !important; background:#fff; border:1px solid #ddd; border-radius:10px; padding:2px 7px; text-decoration:none; white-space:nowrap; }
.pa .pl-props a b { color:#000; font-weight:800; margin-left:2px; }
.pa .pl-props a:hover { border-color:var(--red); color:var(--red) !important; }
.pl-game.hide, .pl-team.hide, .pl-row.hide { display:none; }
.pa a.pa-reset { font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#fff !important; background:var(--black); border-radius:4px; padding:5px 10px; text-decoration:none; }
.pa a.pa-reset:hover { background:var(--red); }
.pa-odds { margin-left:auto; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); }
.pa-odds b { color:var(--ink); }
.pa-wrap { overflow-x:auto; }
.pa td.player, .pa thead tr.c th.l { position:sticky; left:0; z-index:1; background:#fff; }
.pa thead tr.c th.l { background:var(--red); }
.pa a.pa-more { font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#fff !important; background:var(--black); border-radius:4px; padding:5px 10px; text-decoration:none; }
.pa a.pa-more:hover { background:var(--red); }
.pa tbody tr:nth-child(even) td.player { background:#f7f7f7; }
.pa tbody tr:hover td.player { background:#fff3f1; }
.pa table { width:100%; min-width:980px; border-collapse:collapse; table-layout:fixed; font-variant-numeric:tabular-nums; }
.pa td, .pa th { overflow:hidden; text-overflow:ellipsis; }
.pa thead tr.g th { padding:8px 8px 6px; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--black); text-align:center; }
.pa thead tr.g th.blk { border-left:1px solid #444; }
.pa thead tr.g th.dk { color:#fff; }
.pa tr.c th { padding:7px 6px; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--red); text-align:center; white-space:nowrap; cursor:pointer; user-select:none; }
.pa tr.c th.l { text-align:left; }
.pa tr.c th.blk { border-left:1px solid rgba(255,255,255,.35); padding-left:10px; }
.pa thead tr.c th:hover { background:#9c2c1f; }
.pa thead tr.c th.sort-asc::after { content:" \25B2"; font-size:8px; }
.pa thead tr.c th.sort-desc::after { content:" \25BC"; font-size:8px; }
.pa tbody td { padding:5px 6px; font-size:11px; line-height:1.25; font-weight:600; text-align:center; vertical-align:middle; border-bottom:1px solid var(--line); white-space:nowrap; color:#000; }
.pa tbody tr:nth-child(even) td { background:#f7f7f7; }
.pa tbody td.blk { border-left:1px solid var(--line); padding-left:10px; }
.pa tbody td.l { text-align:left; }
.pa tbody tr:hover td { background:#fff3f1; }
.pa tbody tr:hover .bx { background:#fff; }
.pa tbody tr.hide { display:none; }
.pa td.player { font-weight:800; font-size:12px; }
.pa td.player img { width:24px; height:24px; object-fit:contain; float:left; margin:1px 8px 0 0; }
.pa td.player div { overflow:hidden; }
.pa td.player a { color:#000; }
.pa td.player a:hover { color:var(--red); }
.pa td.player small, .pa td.line small, .pa td.stat small { display:block; font-size:9px; font-weight:700; color:#666; margin-top:1px; }
.pa td.line .bx, .pa td.stat .bx, .pa td.avg .bx { font-size:13px; }
.pa td.stat .crossed { color:var(--green); }
.pa td.stat .pre { color:var(--dim); font-weight:600; }
.pa td.avg { font-weight:800; }
.pa td.sub { color:#555; font-weight:600; }
.pa .bx { display:inline-block; min-width:54px; padding:4px 6px; border:1px solid #ccc; border-radius:3px; background:#fff; font-weight:800; color:#000; }
.pa .bx.dark { border-color:var(--black); background:#f4f4f4; }
.pa .bx.pos { border-color:var(--good); color:var(--green); background:#f6ffee; }
.pa .bx.neg { border-color:var(--bad); color:var(--bad); background:#fff3f2; }
.pa .bx.over { border-color:var(--over); color:var(--over); background:#fff4ee; }
.pa .bx.under { border-color:var(--under); color:var(--under); background:#eef5fb; }
.pa .bx.push { border-color:#888; color:#555; background:#f4f4f4; }
.pa .bx.live { border-color:#d8c93a; background:#fdf9d6; }
.pa .bx.pre { color:#999; border-style:dashed; font-weight:600; }
.pa .pos { color:var(--green); }
.pa .neg { color:var(--bad); }
.pa .lean { display:inline-block; font-size:8px; font-weight:800; letter-spacing:.06em; min-width:28px; text-align:center; border-radius:3px; padding:2px 4px; margin-left:6px; color:#555; background:#e2e2e2; }
.pa .lean.O { color:#fff; background:var(--over); }
.pa .lean.U { color:#fff; background:var(--under); }
.pa .lean.win { color:#fff; background:var(--good); }
.pa .lean.loss { color:#fff; background:var(--bad); }
.pa .res { display:inline-block; font-size:7px; font-weight:800; letter-spacing:.06em; min-width:40px; text-align:center; border-radius:3px; padding:2px 4px; color:var(--muted); background:var(--line); }
.pa .res.live { color:#000; background:#f7ee6b; }
.pa .res.final.over { color:#fff; background:var(--over); }
.pa .res.final.under { color:#fff; background:var(--under); }
.pa .res.final.push { color:#fff; background:#888; }
.pa .res.win { color:#fff; background:var(--good); }
.pa .res.loss { color:#fff; background:var(--bad); }
.pa .res.push { color:#fff; background:#888; }
.pa .res.pre { background:transparent; color:#bbb; }
.pa-empty { padding:36px 0; text-align:center; color:var(--dim); font-size:14px; font-weight:600; }
.pa-help { display:none; grid-template-columns:1fr 1fr; gap:14px; padding:12px 18px; font-size:11px; line-height:1.5; color:#555; background:#f4f4f4; border-bottom:1px solid var(--line); }
.pa-help.on { display:grid; }
.pa-help b { color:#000; }
.pa-help em { font-style:normal; color:var(--red); font-weight:700; }
.pa a.pp-back { font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#fff !important; background:var(--black); border-radius:6px; padding:7px 12px; text-decoration:none; }
.pa a.pp-back:hover { background:var(--red); }
.pp-title { font-size:20px; font-weight:800; letter-spacing:.02em; display:flex; align-items:center; gap:10px; }
.pp-title img { width:34px; height:34px; object-fit:contain; }
.pa .pp-scope { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#888 !important; }
.pp-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; padding:12px 18px 0; }
.pp-stat { background:#f4f4f4; border:1px solid #ddd; border-radius:6px; padding:8px 6px; text-align:center; }
.pp-stat small { display:block; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#666; }
.pp-stat b { display:block; font-size:18px; font-weight:800; margin-top:2px; font-variant-numeric:tabular-nums; }
.pp-stat b span { font-size:11px; color:#666; font-weight:700; margin-left:4px; }
.pa td.tf { text-align:left; font-weight:800; padding-left:12px; }
.pa td.site { text-align:left; padding-left:12px; font-size:11px; font-weight:800; color:#333; }
.pa tbody tr.c th { cursor:default; }
.pa tbody tr.c th.l { text-align:left; padding-left:12px; font-size:11px; letter-spacing:.04em; }
.pa tbody tr.grp-start td { border-top:2px solid #ccc; }
.pa tbody tr.zero td { color:#aaa; }

/* Phones: the chip rows become single-line horizontal scrollers; desktop is untouched. */
@media (max-width:767px) {
  .pa { border-radius:0; margin:0 0 20px; }
  .pa-stripe { border-radius:0; }
  .pa-head { display:block; padding:12px 12px 12px; }
  .pa-title { font-size:14px; }
  .pa-sub { font-size:10px; }
  .pa-head-right { display:flex; gap:8px; margin-top:10px; }
  .pa-book { display:none; }
  .pa-week { flex:1 1 auto; min-width:0; padding:8px 8px; }
  .pa-tabs { flex:2 1 auto; }
  .pa-tabs a { flex:1; text-align:center; padding:8px 0; font-size:11px; }
  .pp-title { font-size:17px; }
  .pp-title img { width:28px; height:28px; }
  .pa-rail, .pa-games { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; min-height:0; }
  .pa-rail::-webkit-scrollbar, .pa-games::-webkit-scrollbar { display:none; }
  .pa-rail { padding:10px 12px 0; }
  .pa-rail a, .pa-games a { flex:0 0 auto; white-space:nowrap; }
  .pa-rail .grp { flex:0 0 auto; }
  .pa-tools { padding:10px 12px; gap:8px; }
  .pa-games { width:100%; order:5; }
  .pa-search { max-width:none; }
  .pa-help { grid-template-columns:1fr; padding:10px 12px; }
  .pp-strip { grid-template-columns:repeat(2,1fr); padding:10px 12px 0; }
  .pl-games { padding:10px 12px 0; }
  .pl-cols { grid-template-columns:1fr; }
  .pl-row { grid-template-columns:1fr; gap:3px; }
  .pa table { min-width:900px; }
  .pa td.player img { display:none; }
  .pa td.player .ctx { display:none; }
  .pa td.player { font-size:11px; }
  .pa td.player small { font-size:8px; }
  .pa tbody td { padding:5px 4px; }
  .pa tr.c th { padding:6px 4px; font-size:9px; }
  .pa .bx { min-width:44px; padding:3px 4px; }
}
