/* Props tab, mock-up v2 (Iris, 14 Oct 2026). Loaded after the NBA page's own CSS (its head style, splash-ui.css,
   sport-mobile.css, sport-visual-cleanup.css), and only for what the page has no class for: concept B's row.
   Colours are the page's: --sp-* tokens from splash-ui.css (NBA gold for SPAGS), and the page's own semantic paints:
   #34d399 up, #f87171 down, #60a5fa blue (here: the market), #c084fc purple (here: Polymarket US). */
body[data-sp-ui=nba] .pm {--pm-gold:var(--sp-sport,#fcb040);--pm-blue:#60a5fa;--pm-purple:#c084fc;--pm-up:#34d399;--pm-down:#f87171}
.pm .up{color:var(--pm-up)}.pm .down{color:var(--pm-down)}.pm .none{color:var(--sp-muted)}
.pm .gold{color:var(--pm-gold)}.pm .blue{color:var(--pm-blue)}.pm .purple{color:var(--pm-purple)}
.pm-title{text-transform:uppercase}
.pm-partner{padding:3px 8px;border:1px solid var(--sp-line);border-radius:6px}
.pm-stamp{display:inline-flex;align-items:center;gap:6px;color:#34d399;white-space:nowrap}
.pm-stamp i{width:7px;height:7px;border-radius:50%;background:#34d399}
.pm-stamp .k{color:var(--sp-muted)}
.pm-stamp.missing{color:var(--sp-muted)}.pm-stamp.missing i{background:var(--sp-control-line)}
.pm-intro{display:grid;gap:4px;max-width:68rem}
.pm-intro p{margin:0}
.pm-fixture{color:#fbbf24}

/* Controls: the page's nav-toggle pill around a transparent Oswald select, and its bs/bp buttons. */
.pm-controls{padding:8px 0}
.pm-pick{background:var(--sp-input,rgba(0,0,0,.4));border-radius:8px;padding:3px 3px 3px 10px;gap:6px;min-height:36px}
.pm-pick label{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.pm-pick select{background:transparent;border:none;color:var(--sp-text);font:400 .82rem/1.2 Oswald,sans-serif;letter-spacing:.04em;padding:6px 22px 6px 6px;
 outline-offset:2px;cursor:pointer;appearance:none;-webkit-appearance:none;max-width:220px;min-height:30px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2364748b'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 6px center}
.pm-pick select option{background:var(--sp-raised);color:var(--sp-text)}
.pm .switch{background:var(--sp-input,rgba(0,0,0,.4));border-radius:8px;padding:3px;cursor:pointer;position:relative}
.pm .switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.pm .switch .btn{pointer-events:none;white-space:nowrap}
.pm .switch:has(input:focus-visible){outline:2px solid var(--sp-focus);outline-offset:2px}
.pm-refresh .spin{display:inline-block}
.pm-refresh.busy .spin{animation:pm-turn 1s linear infinite}
@keyframes pm-turn{to{transform:rotate(360deg)}}
.pm-tally{white-space:nowrap}
.pm-notice,.pm-upsell,.pm-signin,.pm-empty{padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.pm-notice p,.pm-upsell p,.pm-signin p{margin:0;flex:1 1 280px}
.pm-legend{margin-bottom:2px!important;display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.pm-legend li{display:flex;align-items:center;gap:7px}
.pm-legend .key{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%}
.pm-legend .key.ours{background:var(--pm-gold)}
.pm-legend .key.with{width:8px;height:8px;border:2px solid var(--pm-gold)}
.pm-legend .key.mkt{border:2px solid var(--pm-blue)}
.pm-legend .key.pm{border-radius:2px;transform:rotate(45deg);width:8px;height:8px;background:var(--pm-purple)}
.pm-legend .key.line{width:2px;height:13px;border-radius:1px;background:var(--sp-text)}
.pm-legend .key.notch{width:1px;height:8px;border-radius:0;background:var(--sp-muted)}
.pm-legend .key.bar{width:7px;height:12px;border-radius:2px 2px 0 0;background:var(--pm-up)}
.pm-legend .key.nofinal{width:7px;height:8px;border-radius:2px 2px 0 0;border:1px dashed var(--sp-muted);border-bottom:0}
.pm-legend .key.band{width:18px;height:6px;border-radius:3px;background:color-mix(in srgb,var(--pm-gold) 30%,transparent)}

/* Game cards: the page's .gc card and .gto strip (Matchups' team strip). */
.pm-game{overflow:visible}
.pm-gh{padding:10px 14px;gap:12px}
.pm-gh h3{margin:0;color:var(--sp-text);letter-spacing:.04em}
.pm-cols{display:grid;padding:9px 14px;border-bottom:1px solid var(--sp-line);font-weight:600;letter-spacing:.035em;text-transform:uppercase}
.pm-player{border-top:1px solid var(--sp-line)}
.pm-player:first-of-type{border-top:0}
.pm-who{margin:0;padding:12px 14px 2px;font:600 15px/1.3 'DM Sans',system-ui,sans-serif;color:var(--sp-text);letter-spacing:0}
.pm-who-game{margin:0;padding:0 14px 2px}

/* Concept B's row: stat · ruler · past games · side and price · EV · AdjEV. */
.pm-cols,.pm-head{grid-template-columns:minmax(120px,.8fr) minmax(220px,1.7fr) minmax(150px,1fr) 78px 76px 76px 18px;column-gap:18px}
.pm-cols>span:nth-child(4){grid-column:4}.pm-cols>span:nth-child(5){grid-column:5;text-align:right}.pm-cols>span:nth-child(6){grid-column:6;text-align:right}
.pm-row{border-top:1px solid var(--sp-line-soft)}
.pm-player>.pm-row:first-of-type{border-top:0}
.pm-head{display:grid;align-items:center;width:100%;min-height:64px;padding:10px 14px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.pm-head:hover{background:var(--sp-hover)}
.pm-head.static{cursor:default;min-height:48px}.pm-head.static:hover{background:none}
.pm-row.is-open>.pm-head{background:var(--sp-raised)}
.pm-id{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}
.pm-stat{font:600 14px/1.3 'DM Sans',system-ui,sans-serif;color:var(--sp-text)}
.pm-line{font-size:.85rem;color:var(--sp-secondary)}
.pm-flag{padding:1px 7px;border-radius:5px;background:color-mix(in srgb,var(--pm-gold) 18%,transparent);color:var(--pm-gold);font-weight:600}

.pm-ruler{position:relative;display:block;height:52px;min-width:0}
.pm-ruler.empty{height:0}
.pm-ruler .rail{position:absolute;left:0;right:0;top:24px;height:2px;border-radius:1px;background:var(--sp-line)}
.pm-ruler .band{position:absolute;top:21px;height:8px;border-radius:4px;background:color-mix(in srgb,var(--pm-gold) 26%,transparent);transform-origin:0 50%}
.pm-ruler .band.marked{background:color-mix(in srgb,var(--pm-gold) 42%,transparent)}
.pm-ruler .notch{position:absolute;top:20px;width:1px;height:10px;background:var(--sp-muted);opacity:.7}
.pm-ruler .mk{position:absolute;display:block}
.pm-ruler .mk.line{top:12px;width:2px;height:22px;margin-left:-1px;border-radius:1px;background:var(--sp-text)}
.pm-ruler .mk.ours{top:18px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--pm-gold);box-shadow:0 0 0 3px var(--sp-surface)}
.pm-ruler .mk.with{top:20px;width:10px;height:10px;margin-left:-5px;border-radius:50%;border:2px solid var(--pm-gold);background:var(--sp-surface)}
.pm-ruler .mk.mkt{top:18px;width:14px;height:14px;margin-left:-7px;border-radius:50%;border:2.5px solid var(--pm-blue);background:var(--sp-surface)}
.pm-ruler .mk.pm{top:19px;width:11px;height:11px;margin-left:-5.5px;border-radius:2px;transform:rotate(45deg);background:var(--pm-purple)}
.pm-ruler .lab{position:absolute;top:37px;font:600 11px/1.2 'JetBrains Mono',monospace;white-space:nowrap;transform:translateX(-50%)}
.pm-ruler .lab.line{top:-2px;color:var(--sp-text)}
.pm-ruler .lab.ours{color:var(--pm-gold)}.pm-ruler .lab.mkt{color:var(--pm-blue)}
.pm-ruler .lab.end{transform:translateX(calc(-100% - 3px))}.pm-ruler .lab.start{transform:translateX(3px)}
.pm-row.is-open .pm-ruler .mk.ours,.pm-row.is-open .pm-ruler .mk.with,.pm-row.is-open .pm-ruler .mk.mkt{box-shadow:0 0 0 3px var(--sp-raised)}
.pm-head:hover .pm-ruler .mk.ours{box-shadow:0 0 0 3px var(--sp-hover)}

.pm-l10{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;min-width:0}
.pm-l10-none{grid-column:1/-1;align-self:center}
.pm-bars{position:relative;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));align-items:end;gap:3px;height:36px;border-bottom:1px solid var(--sp-line)}
.pm-bars i{display:block;grid-row:1;min-width:4px;height:100%;border-radius:2px 2px 0 0;transform-origin:50% 100%}
.pm-bars i.r-hit{background:var(--pm-up)}
.pm-bars i.r-miss{background:var(--sp-control-line)}
.pm-bars i.r-push{background:linear-gradient(90deg,var(--pm-up) 50%,var(--sp-control-line) 50%)}
.pm-bars i.r-unknown{height:30%;border:1px dashed var(--sp-muted);border-bottom:0;background:none}
.pm-bars i.r-unknown.dnp{height:16%}
.pm-bars .ln{position:absolute;left:-2px;right:-2px;height:0;border-radius:0;border-top:1.5px dashed color-mix(in srgb,var(--sp-text) 70%,transparent);grid-row:auto;min-width:0}
.pm-rate{display:grid;justify-items:end;gap:3px;min-width:36px}
.pm-rate b{font-size:15px;font-weight:600;line-height:1}
.pm-rate small{font:600 10px/1 'DM Sans',sans-serif;letter-spacing:.08em;color:var(--sp-muted)}

.pm-side{display:grid;gap:5px;grid-column:4}
.pm-s{font:700 11.5px/1 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-text)}
.pm-price{font-size:.85rem;color:var(--sp-secondary)}
.pm-ev,.pm-adj{display:grid;justify-items:end;gap:4px;text-align:right;font-weight:600}
.pm-ev{font-size:1.05rem}.pm-adj{font-size:.95rem}
.pm-ev small,.pm-adj small{display:none;font:600 10px/1 'DM Sans',sans-serif;letter-spacing:.08em;color:var(--sp-muted);text-transform:uppercase}
.pm-chev{width:8px;height:8px;border-right:2px solid var(--sp-muted);border-bottom:2px solid var(--sp-muted);transform:rotate(45deg);transition:transform .2s;justify-self:center}
.pm-row.is-open .pm-chev{transform:rotate(225deg)}
.pm-head.static{grid-template-columns:minmax(120px,.8fr) minmax(0,4fr)}
.pm-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pm .tag{padding:2px 7px;border:1px solid var(--sp-line);border-radius:5px;color:var(--sp-muted);font:500 11px/1.4 'DM Sans',sans-serif;white-space:nowrap}
.pm-polys{display:flex;flex-wrap:wrap;gap:6px}
.pm .poly{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 10px;border:1px solid color-mix(in srgb,var(--pm-purple) 45%,var(--sp-line));border-radius:999px;font:500 12px/1.3 'DM Sans',sans-serif;color:var(--sp-secondary)}
.pm .poly.compact{padding:1px 8px;font-size:11px}
.pm .poly .pk{color:var(--pm-purple);font-weight:600}
.pm .poly .roll{display:inline-block;overflow:hidden;color:var(--sp-text)}.pm .poly .roll .n{display:inline-block}
.pm .poly small{color:var(--sp-muted)}

/* The opened row. */
.pm-detail[hidden]{display:none}
.pm-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:6px 14px 18px;background:var(--sp-raised)}
.pm-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;grid-column:1}
.pm-sidecard{padding:10px 12px;gap:8px;background:var(--sp-surface)}
.pm-sidecard.is-shown{border-color:color-mix(in srgb,var(--pm-gold) 55%,var(--sp-line))}
.pm-sidecard dl,.pm-nums,.pm-three{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}
.pm-nums{grid-column:2;align-content:start;grid-template-columns:repeat(4,minmax(0,1fr))}
.pm-three{grid-template-columns:repeat(4,minmax(0,1fr))}
.pm dt{font:600 10px/1.3 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-muted)}
.pm dd{margin:3px 0 0;font-size:.92rem;font-weight:600;color:var(--sp-text)}
.pm dd.up{color:var(--pm-up)}.pm dd.down{color:var(--pm-down)}
.pm-sub{display:grid;gap:8px;align-content:start;min-width:0}
.pm-sub h5{margin:0;letter-spacing:.06em;text-transform:uppercase}
.pm-table{overflow:hidden}
.pm-table table{font-size:.82rem}
.pm-table th,.pm-table td{padding:6px 10px;text-align:right}
.pm-table th:first-child,.pm-table td:first-child{text-align:left}
.pm-table thead th{text-transform:uppercase}
.pm-past p{margin:6px 0 0}
.pm-prior{color:var(--sp-muted)}
.pm-notes{display:grid;gap:6px;max-width:72rem;padding-top:4px}
.pm-notes p{margin:0}
.pm-notes .risk{font-size:11px}

/* Between phone and desktop the row keeps its columns, narrower. */
@media (max-width:1180px){.pm-cols,.pm-head{grid-template-columns:minmax(110px,.7fr) minmax(200px,1.6fr) minmax(130px,1fr) 70px 70px 70px 14px;column-gap:14px}}

/* Phone and small tablet: concept B's phone row. Stat and EV on top, the ruler, then the past games. */
@media (max-width:900px){
 .pm-cols{display:none}
 .pm-head{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"id ev adj" "side ev adj" "ruler ruler ruler" "l10 l10 l10";gap:4px 14px;padding:12px 12px 14px}
 .pm-head>.pm-id{grid-area:id}.pm-head>.pm-ruler{grid-area:ruler}.pm-head>.pm-l10{grid-area:l10}
 .pm-head>.pm-side{grid-area:side;display:flex;align-items:baseline;gap:8px}.pm-head>.pm-ev{grid-area:ev}.pm-head>.pm-adj{grid-area:adj}.pm-head>.pm-chev{display:none}
 .pm-ev small,.pm-adj small{display:block}
 .pm-head.static{grid-template-columns:minmax(0,1fr);grid-template-areas:none}
 .pm-head.static>*{grid-area:auto}
 .pm-detail{grid-template-columns:minmax(0,1fr);padding:4px 12px 16px}
 .pm-sides,.pm-nums{grid-column:1}
 .pm-who{padding:12px 12px 0}
 .pm-who-game{padding:0 12px}
 .pm-gh{padding:10px 12px}
}
@media (max-width:600px){
 .pm-controls,.pm-filters,.pm-acts{width:100%}
 .pm-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .pm-filters>.pm-pick:nth-child(3){grid-column:1/-1}
 .pm-pick{min-height:44px;min-width:0}
 body[data-sp-ui] .sp-app-main .pm-pick select{min-height:44px}
 body[data-sp-ui] .sp-app-main :is(.pm-upsell,.pm-signin,.pm-notice) .btn{min-height:44px}
 .pm-pick select{flex:1;max-width:100%!important;min-width:0}
 .pm .switch{min-height:44px}.pm .switch .btn{min-height:38px}
 .pm-refresh{min-height:44px!important;flex:1}
 .pm-acts{display:flex}.pm-tally{width:100%}
 .pm-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pm-three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pm-sides{grid-template-columns:minmax(0,1fr)}
 .pm-sidecard dl{grid-template-columns:repeat(3,minmax(0,1fr))}
 body[data-sp-ui] .sp-app-main .pm-table :is(th,td){white-space:normal;vertical-align:top}
 .pm-prior{display:block}
}
/* Below 400 px the page's own table header padding (sport-visual-cleanup.css, 9px 10px !important) leaves no room for
   the ladder's five columns; inside this tab only, it is the page's own 400 px cell padding instead. */
@media (max-width:400px){body[data-sp-ui=nba] .sp-app-main .pm-table :is(th,td){padding:6px 4px!important;letter-spacing:.02em}.pm-detail{padding:4px 8px 14px}}
@media (prefers-reduced-motion:reduce){.pm-chev{transition:none}.pm-refresh.busy .spin{animation:none}}

/* Mock-up states bar: not part of the page. */
.states{font:500 12px/1.4 'DM Sans',system-ui,sans-serif;color:var(--sp-secondary);background:#050b14;border-bottom:1px dashed var(--sp-control-line);padding:6px 12px}
.states summary{cursor:pointer;color:var(--sp-muted);letter-spacing:.06em;text-transform:uppercase;min-height:28px;display:flex;align-items:center}
.states .hs-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:6px 0}
.states label{display:flex;gap:6px;align-items:center}
.states select,.states button{font:inherit;color:var(--sp-text);background:var(--sp-raised);border:1px solid var(--sp-control-line);border-radius:6px;padding:4px 8px;max-width:100%}
.states button{cursor:pointer}
body.no-states .states{display:none}
.mock-tab-note{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:var(--sp-raised);border:1px solid var(--sp-control-line);border-radius:8px;padding:8px 14px;font:500 13px/1.4 'DM Sans',sans-serif;color:var(--sp-text);z-index:300;box-shadow:var(--sp-shadow)}

/* Order 1024MK: the first frame's placeholder rows. The list's own layout with muted bars where numbers will land;
   no animation, so reduced-motion readers get the same still layout. */
.pm-skel .pm-head{cursor:default}
.pm-skel .pm-head:hover{background:none}
.pm-skel-bar{display:block;height:14px;border-radius:4px;background:var(--sp-line-soft,rgba(255,255,255,.07))}
.pm-skel .pm-id .pm-skel-bar{width:110px}
.pm-skel .pm-head>.pm-skel-bar:nth-child(2){width:60%}
.pm-skel .pm-head>.pm-skel-bar:nth-child(3){width:34%}
.pm-gh>.pm-skel-bar{width:180px}

/* Each label belongs to that exact game, including games played for another team. */
.pm-team-labels{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;grid-column:1;min-width:0}
.pm-team-labels small{font:500 7.5px/12px "DM Sans",sans-serif;text-align:center;letter-spacing:-.4px;color:var(--sp-muted);white-space:nowrap}

@media (min-width:901px){.pm-row.free>.pm-head.static{grid-template-columns:minmax(120px,.8fr) minmax(0,3fr) minmax(300px,1.2fr)}}
