/* public_v3_bx.css (queue 1290): the public pages in Broadcast v3, the owner pick of 5 Nov 2026. Every rule is under body.pbx, which layout_public.pug turns on for a page that asks for it. */

.pbx .pb-main .bc.r1{max-width:720px;margin:0 auto;gap:var(--g,8px)}
.pbx .pb-shell .cr,.pbx .pb-shell .fc,.pbx .pb-shell .dev{display:inline-block}
.pbx .pb-shell .cr{width:var(--s,20px);height:var(--s,20px);object-fit:contain;flex:none;vertical-align:middle}
.pbx .pb-shell .fc{width:var(--s,28px);height:var(--s,28px);border-radius:50%;object-fit:cover;object-position:50% 0;flex:none;vertical-align:middle;background:var(--surface2);border:1px solid var(--border)}
.pbx .pb-shell .dev{width:16px;height:16px;vertical-align:middle}
.pbx .bv h1,.pbx .bv h2,.pbx .bv h3,.pbx .bv p{margin:0}
.pbx .bv table{border-spacing:0}
.pbx .ctx{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 4px 0 8px;border:1px solid var(--border);border-radius:var(--rr,8px);background:var(--panel)}
.pbx .ctx-back{flex:none;display:grid;place-items:center;width:36px;height:44px;margin-left:-8px;color:var(--muted)}
.pbx .ctx-id{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;color:var(--text)}
.pbx .ctx-crest{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:var(--h-gold);color:#1b1300;font:800 italic 12px/1 var(--f-disp)}
.pbx .ctx-nm{display:flex;flex-direction:column;gap:2px;min-width:0}
.pbx .ctx-nm b{font:700 14px/1.1 var(--f-body)}
.pbx .ctx-nm small{font:600 11px/1 var(--f-body);color:var(--muted)}
.pbx .ctx-pg{flex:none;position:relative}
.pbx .ctx .r1-tabwrap{margin:0}
.pbx .ctx .r1-swbtn{height:36px;width:auto;padding:0 8px 0 10px;gap:6px;border-radius:var(--rr,8px);font:700 13px/1 var(--f-body);background:var(--surface2)}
.pbx .ctx .r1-swbtn svg{width:16px;height:16px}
.pbx .ctx .r1-sw-n{white-space:nowrap}
/* build 20 (B3): the league name keeps 11rem; when the page switcher button would squeeze it narrower (320 px), the button drops to its own row under the name. The 4 px block padding keeps the one-row height at 44 px. */
.pbx .ctx{flex-wrap:wrap;row-gap:4px;padding-block:4px}
.pbx .ctx-back{height:36px}
.pbx .ctx-id{flex:1 1 11rem}
@container bc (min-width:641px){
  .pbx .ctx{flex-wrap:wrap;padding:0 8px}
  .pbx .ctx-pg{flex:1 1 100%;margin:0 -8px}
  .pbx .ctx .r1-tabs{border-width:1px 0 0;border-radius:0 0 var(--rr,8px) var(--rr,8px)}
}

.pbx .rc details summary{cursor:pointer}
.pbx .z{opacity:.55}

.pbx{--g:8px;--rr:6px}
.pbx .bv{--line:color-mix(in srgb,var(--border) 62%,transparent)}
.pbx .ctx{background:var(--panel)}
.pbx .bx{border:1px solid var(--border);border-top:2px solid var(--hue,var(--h-sky));border-radius:var(--rr);background:var(--panel);overflow:hidden;min-width:0}
.pbx .bx-h{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:0 10px;background:var(--surface);border-bottom:1px solid var(--border)}
.pbx .bx-h h2{font:800 12px/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.pbx .bx-m{font:600 11px/1.2 var(--f-body);color:var(--muted);text-align:right}
.pbx .bx-pad{padding:8px}
.pbx .hint{padding:8px 10px;border-bottom:1px solid var(--line);font:500 12.5px/1.4 var(--f-body);color:var(--muted)}

.pbx .t{width:100%;border-collapse:collapse;table-layout:fixed;font:600 13px/1.2 var(--f-body);font-variant-numeric:tabular-nums}
.pbx .t th,.pbx .t td{padding:0 4px;height:30px;text-align:right;white-space:nowrap;border-top:1px solid var(--line);color:var(--text)}
.pbx .t td{font:600 14px/1.15 var(--f-num)}
.pbx .t thead th{height:24px;border-top:0;border-bottom:1px solid var(--border);font:700 10px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pbx .t .nm{text-align:left;white-space:normal;padding-left:10px;font:600 13px/1.2 var(--f-body)}
.pbx .t td:last-child,.pbx .t th:last-child{padding-right:10px}
.pbx .t .nm b,.pbx .t .nm a{font-weight:700}
.pbx .t .nm i{font:700 10px/1 var(--f-body);font-style:normal;letter-spacing:.04em;color:var(--muted);margin-left:2px}
.pbx .t .nm .cr{margin-right:6px}
.pbx .t .nm small{font:500 11px/1.2 var(--f-body);color:var(--muted)}
.pbx .t .k{font-weight:800;color:var(--text)}
.pbx .t td.z{color:var(--muted);opacity:.6;font-weight:500}
.pbx .t .lead{font-weight:800;color:var(--hue,var(--text));color:var(--h-green)}
.pbx .t thead th .cr{margin-right:3px;position:relative;top:-1px}
.pbx .t .o{font:800 14px/1 var(--f-num);color:var(--muted)}
.pbx .t tr.tm th{height:24px;text-align:left;padding-left:10px;border-top:1px solid var(--border);border-bottom:0;background:var(--surface);font:700 12px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pbx .t tr.tm th .cr{margin-right:6px}
.pbx .t tr.tm th span{font-weight:600;margin-left:6px;letter-spacing:0}
.pbx .t tr.tm th:not(:first-child){text-align:right;padding-left:4px}
.pbx .t tbody:first-of-type tr.tm:first-child th,.pbx .t thead+tbody tr.tm:first-child th{border-top:0}
.pbx .pos{color:var(--h-green)!important}.pbx .neg{color:var(--h-rose)!important}

.pbx .sb{padding:0}
.pbx .sb-top{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:0 4px 0 10px;background:var(--surface);border-bottom:1px solid var(--border);font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pbx .sb-st b{color:var(--text)}
.pbx .sb-nv{display:flex}.pbx .sb-nv a{display:grid;place-items:center;width:40px;height:32px;color:var(--muted)}
.pbx .sb-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;height:56px;padding:0 12px;border-top:1px solid var(--line);color:var(--muted)}
.pbx .sb-top+.sb-row{border-top:0}
.pbx .sb-t b{display:block;font:700 17px/1.1 var(--f-body);color:var(--muted)}
.pbx .sb-t small{font:600 12px/1.2 var(--f-body);color:var(--muted)}
.pbx .sb-s{font:800 36px/1 var(--f-num);color:var(--muted)}
.pbx .sb-row.is-w{box-shadow:inset 3px 0 0 var(--hue)}
.pbx .sb-row.is-w .sb-t b,.pbx .sb-row.is-w .sb-s{color:var(--text)}

.pbx .jump{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--border);border-radius:var(--rr);background:var(--panel);overflow:hidden}
.pbx .jump a{display:grid;place-items:center;height:38px;padding:0 2px;border-right:1px solid var(--line);font:700 11.5px/1 var(--f-body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.pbx .jump a:last-child{border-right:0}
.pbx .bsw{display:flex;flex-direction:column;gap:var(--g)}
.pbx .bs .t-bs td.nm a{font-weight:700}

.pbx .rs{display:grid;grid-template-columns:repeat(4,1fr);border-top-width:2px}
.pbx .rs>div{padding:8px 4px 7px;text-align:center;border-left:1px solid var(--line)}
.pbx .rs>div:first-child{border-left:0}
.pbx .rs b{display:block;font:800 24px/1 var(--f-num);color:var(--text)}
.pbx .rs span{display:block;margin-top:3px;font:700 10px/1.1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

.pbx .th{border-top-color:color-mix(in srgb,var(--hue) 62%,var(--text));display:grid;grid-template-columns:44px 1fr 40px;align-items:center;gap:12px;padding:10px 6px 10px 12px;border-top-width:3px}
.pbx .th-n b{display:block;font:800 italic 24px/1 var(--f-disp);text-transform:uppercase;letter-spacing:.01em}
.pbx .th-n small{display:block;margin-top:4px;font:600 12px/1.2 var(--f-body);color:var(--muted)}
.pbx .ib{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--rr);background:var(--surface2);color:var(--text)}

.pbx .t-sch td{height:32px}
.pbx .t-sch .wk{font:700 12px/1 var(--f-body);letter-spacing:.06em;color:var(--muted);text-align:left;padding-left:10px}
.pbx .t-sch .vs{font:600 12px/1 var(--f-body);color:var(--muted);text-align:center}
.pbx .t-sch td.rz{font:700 14px/1 var(--f-num);padding:0 10px 0 4px;display:table-cell;text-align:right;border-left:0}
.pbx .t-sch .res{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:4px;border-radius:3px;font:800 10px/1 var(--f-body);background:var(--surface2)}
.pbx .t-sch tr.w .res{background:color-mix(in srgb,var(--h-green) 30%,var(--panel));color:var(--h-green)}
.pbx .t-sch tr.l .res{background:color-mix(in srgb,var(--h-rose) 30%,var(--panel));color:var(--h-rose)}
.pbx .t-sch .z{font:600 12px/1 var(--f-body);color:var(--muted);opacity:1}

.pbx .sg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}
.pbx .sg-c{background:var(--panel);padding:7px 10px 6px;min-width:0}
.pbx .sg-c span{display:block;font:700 10px/1.2 var(--f-body);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pbx .sg-c b{display:block;margin-top:2px;font:800 20px/1.1 var(--f-num);color:var(--text)}

.pbx .kp-r{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;min-height:44px;padding:6px 10px;border-top:1px solid var(--line)}
.pbx .kp .kp-r:first-child{border-top:0}
.pbx .kp-n b{display:block;font:700 14px/1.15 var(--f-body)}
.pbx .kp-n small{font:600 11px/1.2 var(--f-body);color:var(--muted)}
.pbx .ovr{display:inline-grid;place-items:center;min-width:32px;height:26px;padding:0 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface2);font:800 16px/1 var(--f-num);color:var(--text)}
.pbx .ld-2{display:grid;grid-template-columns:1fr 1fr}
.pbx .ld-u+.ld-u{border-left:1px solid var(--line)}
.pbx .ld h3{display:flex;align-items:center;height:24px;padding:0 10px;background:var(--surface);border-bottom:1px solid var(--line);font:700 11px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pbx .ld-r{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:4px;height:28px;padding:0 8px;border-top:1px solid var(--line)}
.pbx .ld-u h3+.ld-r,.pbx .ld-st h3+div .ld-r{border-top:0}
.pbx .ld-r i{font:700 10px/1 var(--f-body);font-style:normal;letter-spacing:.04em;color:var(--muted)}
.pbx .ld-r b{font:700 12.5px/1 var(--f-body);letter-spacing:.02em;white-space:nowrap}
.pbx .ld-r span{font:800 14px/1 var(--f-num)}
.pbx .ld-st{border-top:1px solid var(--border)}
.pbx .ld-st>div{display:grid;grid-template-columns:repeat(3,1fr)}
.pbx .ld-st .ld-r+.ld-r{border-left:1px solid var(--line)}
.pbx .ld-st .ld-r{border-top:0;grid-template-columns:22px 1fr auto}

.pbx .ro-bar{display:flex;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border)}
.pbx .seg4{display:flex;flex:1;min-width:0;border:1px solid var(--border);border-radius:var(--rr);overflow:hidden}
.pbx .seg4 button{flex:1;min-width:0;height:34px;padding:0 2px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font:700 12px/1 var(--f-body);letter-spacing:.02em}
.pbx .seg4 button:last-child{border-right:0}
.pbx .seg4 button[aria-pressed="true"]{background:var(--surface2);color:var(--text);box-shadow:inset 0 -2px 0 var(--hue,var(--h-blue))}
.pbx .t-ro td{height:30px}
.pbx .t-ro td.o{text-align:left;padding-left:10px;font:800 15px/1 var(--f-num);color:var(--text)}
.pbx .t-ro .ps{font:700 10.5px/1 var(--f-body);color:var(--muted);text-align:center;letter-spacing:.04em}
.pbx .t-ro .ct{font:600 12px/1 var(--f-num);color:var(--muted)}
.pbx .t-ro .ct em{font:800 10px/1 var(--f-body);font-style:normal;padding:2px 4px;border-radius:3px;background:color-mix(in srgb,var(--h-gold) 24%,var(--panel));color:var(--h-gold)}
.pbx .t-ro .dv{padding:0 6px 0 2px;text-align:center}
.pbx .t-ro thead th:first-child{text-align:left;padding-left:10px}
.pbx .t-ro tr.tm th:first-child{padding-left:10px}

.pbx .lh{padding:10px;display:flex;flex-direction:column;gap:10px;border-top-width:3px}
.pbx .lh-t{display:flex;align-items:center;gap:12px}
.pbx .lh-c{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;background:var(--hue);color:#1b1300;font:800 italic 18px/1 var(--f-disp)}
.pbx .lh-n b{display:block;font:800 italic 24px/1 var(--f-disp);text-transform:uppercase}
.pbx .lh-n small{display:block;margin-top:4px;font:600 12px/1.2 var(--f-body);color:var(--muted)}
.pbx .cps{display:flex;flex-wrap:wrap;gap:6px}
.pbx .cps span{display:inline-flex;align-items:center;height:24px;padding:0 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface);font:700 11.5px/1 var(--f-body);color:var(--text)}
.pbx .lh-a{display:flex;gap:8px}.pbx .lh-a .btn{flex:1}
.pbx .srs{display:block}
.pbx .sr{display:grid;grid-template-columns:36px minmax(0,1fr) 26px 26px minmax(0,1fr);align-items:center;gap:4px;height:32px;padding:0 10px 0 10px;border-top:1px solid var(--line);color:var(--muted)}
.pbx .srs .sr:first-child{border-top:0}
.pbx .sr-w{font:700 10px/1 var(--f-body);letter-spacing:.06em;color:var(--muted)}
.pbx .sr-t{display:flex;align-items:center;gap:6px;min-width:0;font:600 13px/1 var(--f-body)}
.pbx .sr-t.r{justify-content:flex-end}
.pbx .sr-t b{font-weight:600;color:var(--muted)}
.pbx .sr-s{text-align:center;font:700 16px/1 var(--f-num);color:var(--muted)}
.pbx .sr.aw>:nth-child(2) b,.pbx .sr.aw>:nth-child(3),.pbx .sr.hw>:nth-child(4),.pbx .sr.hw>:nth-child(5) b{color:var(--text);font-weight:800}
.pbx .sr.up .sr-t b{color:var(--text)}
.pbx .more{display:flex;align-items:center;justify-content:center;gap:6px;height:44px;border-top:1px solid var(--line);font:700 13px/1 var(--f-body);color:var(--text)}
.pbx .t-st td{height:30px}
.pbx .t-st .lg{padding:0 0 0 10px;text-align:left}
.pbx .t-st .ab{text-align:left;font:800 13px/1 var(--f-body);letter-spacing:.02em;padding-left:6px}
.pbx .t-st .nm{padding-left:4px;font:600 12px/1.15 var(--f-body)}
.pbx .t-st .nm small{display:block;font:500 11px/1.15 var(--f-body);color:var(--muted)}
.pbx .t-st tr.tm th:first-child{padding-left:10px}
.pbx .po{display:grid;grid-template-columns:1fr 1fr}
.pbx .po-c+.po-c{border-left:1px solid var(--line)}
.pbx .po-c h3{display:flex;align-items:center;height:24px;padding:0 10px;background:var(--surface);border-bottom:1px solid var(--line);font:700 11px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pbx .po-r{display:grid;grid-template-columns:14px 18px minmax(0,1fr) auto;align-items:center;gap:6px;height:30px;padding:0 8px 0 10px;border-top:1px solid var(--line)}
.pbx .po-c h3+.po-r{border-top:0}
.pbx .po-r i{font:800 13px/1 var(--f-num);font-style:normal;color:var(--muted)}
.pbx .po-r b{font:700 12.5px/1 var(--f-body)}
.pbx .po-r span{font:700 13px/1 var(--f-num);color:var(--muted)}
.pbx .po-r em{font:800 9px/1 var(--f-body);font-style:normal;letter-spacing:.06em;color:var(--h-green)}
.pbx .pw{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(5,40px)}
.pbx .pw-r{display:grid;grid-template-columns:20px 20px minmax(0,1fr) auto;align-items:center;gap:6px;height:40px;padding:0 8px 0 10px;border-top:1px solid var(--line)}
.pbx .pw-r:nth-child(5n+1){border-top:0}
.pbx .pw-r:nth-child(n+6){border-left:1px solid var(--line)}
.pbx .pw-r i{font:800 14px/1 var(--f-num);font-style:normal;color:var(--muted)}
.pbx .pw-r .nm b{display:block;font:700 12.5px/1.1 var(--f-body)}
.pbx .pw-r .nm small{font:500 10.5px/1.1 var(--f-body);color:var(--muted)}
.pbx .pw-r .ch{font:800 12px/1 var(--f-num);color:var(--muted)}
.pbx .pw-r .ch.up{color:var(--h-green)}.pbx .pw-r .ch.dn{color:var(--h-rose)}
.pbx .gw{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px}
.pbx .gw-s{flex:1;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--rr);background:var(--surface)}
.pbx .gw-s b{display:block;font:700 14px/1.1 var(--f-body)}.pbx .gw-s span{display:block;font:600 11px/1.2 var(--f-body);color:var(--muted)}
.pbx .gw i{font:800 italic 14px/1 var(--f-disp);font-style:italic;color:var(--muted)}
.pbx .nw-p{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:9px 10px;border-top:1px solid var(--line)}
.pbx .nw .nw-p:first-child{border-top:0}
.pbx .nw-h{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:baseline}
.pbx .nw-h b{font:700 13px/1.2 var(--f-body)}.pbx .nw-h span{font:500 11px/1.2 var(--f-body);color:var(--muted)}
.pbx .nw-p p{margin-top:3px;font:500 13px/1.4 var(--f-body);color:var(--text)}
.pbx .tvr{display:flex;flex-wrap:wrap;gap:8px;padding:10px}
.pbx .tvr>span:first-child{flex:1 1 100%;font:500 13px/1.4 var(--f-body);color:var(--muted)}.pbx .tvr .btn{flex:1}
.pbx .ab-t{padding:10px 12px}
.pbx .ab-t b{font:700 14px/1.3 var(--f-body)}
.pbx .ab-t ul{margin:6px 0 0;padding-left:16px;font:500 13px/1.45 var(--f-body);color:var(--text)}
.pbx .jn{display:flex;flex-direction:column;gap:8px;padding:10px}
.pbx .jn>span:first-child{font:500 13px/1.4 var(--f-body);color:var(--muted)}.pbx .btnrow{display:flex;flex-wrap:wrap;gap:8px}.pbx .btnrow .btn{flex:1 1 auto}
.pbx .rs>div.warn b{color:var(--h-gold)}
.pbx .jn>span:first-child b{color:var(--text);font-weight:700}
.pbx .kv2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.pbx .kv2>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 10px;background:var(--panel);min-width:0}
.pbx .kv2>div:last-child:nth-child(odd){grid-column:span 2}
.pbx .kv2 span{font:600 12px/1.2 var(--f-body);color:var(--muted)}
.pbx .kv2 b{font:800 14px/1.2 var(--f-num);text-align:right}
.pbx .sub-h{display:flex;align-items:center;height:24px;padding:0 10px;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:700 11px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pbx .bx-h+.sub-h{border-top:0}

.pbx .pt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 12px;border-top-width:3px}
.pbx .pt b{display:block;font:800 italic 24px/1 var(--f-disp);text-transform:uppercase}
.pbx .pt small{display:block;margin-top:4px;font:600 12px/1.2 var(--f-body);color:var(--muted)}
.pbx .t-sd td{height:32px}
.pbx .t-sd td.o{text-align:left;padding-left:10px}
.pbx .t-sd .nm{padding-left:2px}
.pbx .t-sd .nm a{display:flex;align-items:center;gap:6px}
.pbx .t-sd .nm b{font:700 13px/1.15 var(--f-body)}
.pbx .t-sd tr.tm th{text-align:right}.pbx .t-sd tr.tm th:first-child{text-align:left}
.pbx .t-ld td{height:44px}
.pbx .t-ld td.o{text-align:left;padding-left:10px;font:800 15px/1 var(--f-num)}
.pbx .t-ld .nm{padding-left:2px}
.pbx .t-ld .nm a{display:flex;align-items:center;gap:8px}
.pbx .t-ld .nm b{display:block;font:700 14px/1.15 var(--f-body)}
.pbx .t-ld .nm small{display:block;margin-top:1px}
.pbx .t-ld td.k{font:800 18px/1 var(--f-num)}
.pbx .t-ld tr.m-gold td.o{color:var(--h-gold)}.pbx .t-ld tr.m-silver td.o{color:#8b95a6}.pbx .t-ld tr.m-bronze td.o{color:#d58a4c}
.pbx .t-ld tr.m-gold,.pbx .t-ld tr.m-silver,.pbx .t-ld tr.m-bronze{background:color-mix(in srgb,var(--h-gold) 6%,transparent)}

.pbx .ph{border-top-color:color-mix(in srgb,var(--hue) 62%,var(--text));display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 10px 8px;border-top-width:3px}
.pbx .ph-f{position:relative;width:64px;height:64px}
.pbx .ph-no{position:absolute;right:-6px;bottom:-2px;padding:2px 5px;border-radius:4px;background:var(--hue);color:#fff;font:800 11px/1 var(--f-num)}
.pbx .ph-n b{display:block;font:800 italic 24px/1 var(--f-disp);text-transform:uppercase}
.pbx .ph-n small{display:block;margin-top:4px;font:600 12px/1.25 var(--f-body);color:var(--muted)}
.pbx .ph-x{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding-top:8px;border-top:1px solid var(--line);font:700 12px/1 var(--f-body)}
.pbx .ph-x .sep{flex:1}
.pbx .ph-x a{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:var(--rr);background:var(--surface2)}
.pbx .t-ss tr.tm th{text-align:right}.pbx .t-ss tr.tm th:first-child{text-align:left}
.pbx .t-ss td{height:34px}
.pbx .t-ss td.k{font:800 20px/1 var(--f-num)}
.pbx .bars{padding:4px 0}
.pbx .bar{display:grid;grid-template-columns:128px minmax(0,1fr) 28px;align-items:center;gap:8px;height:27px;padding:0 10px}
.pbx .bl{font:600 12.5px/1 var(--f-body);color:var(--text)}
.pbx .bt{height:6px;border-radius:3px;background:var(--surface2);overflow:hidden;border:1px solid var(--line)}
.pbx .bt i{display:block;height:100%;background:var(--h-green)}
.pbx .bt i.b-great{background:color-mix(in srgb,var(--h-green) 78%,var(--surface2))}.pbx .bt i.b-good{background:color-mix(in srgb,var(--h-green) 58%,var(--surface2))}
.pbx .bar b{font:800 14px/1 var(--f-num);text-align:right}
.pbx .t-kv td{height:32px}
.pbx .t-kv .nm{white-space:normal}
.pbx .t-kv .rt{text-align:right;white-space:normal;font:600 13px/1.25 var(--f-body);padding:5px 10px 5px 6px}
.pbx .ab-r{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:8px 10px;border-top:1px solid var(--line)}
.pbx .ab .ab-r:first-child{border-top:0}
.pbx .ab-i{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--muted)}
.pbx .ab-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.pbx .ab-h b{font:700 14px/1.1 var(--f-body)}
.pbx .ab-h em{font:800 9.5px/1 var(--f-body);font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:3px 5px;border-radius:3px;border:1px solid var(--border);color:var(--muted)}
.pbx .r-x-factor em{color:var(--h-green);border-color:color-mix(in srgb,var(--h-green) 60%,var(--border))}
.pbx .r-gold em{color:var(--h-gold);border-color:color-mix(in srgb,var(--h-gold) 60%,var(--border))}
.pbx .ab-h span{display:inline-flex;align-items:center;gap:3px;margin-left:auto;font:600 11px/1 var(--f-body);color:var(--muted)}
.pbx .ab-r p{margin-top:3px;font:500 12px/1.35 var(--f-body);color:var(--muted)}
.pbx .t-wk+.t-wk{border-top:1px solid var(--border)}
.pbx .t-wk thead th{padding-top:0}
.pbx .t-wk thead th.nm{color:var(--text);font-weight:800}
.pbx .rc{padding:10px 12px}
.pbx .rc p{font:500 14px/1.45 var(--f-body);color:var(--text)}
.pbx .rc p+p,.pbx .rc details p{margin-top:8px}
.pbx .rc summary{display:flex;align-items:center;min-height:36px;margin-top:4px;font:700 13px/1 var(--f-body);color:var(--text)}

/* ---- 1290 additions on top of the mockup's Broadcast sheet ---- */
.pbx{--hd-mix:56%;--hd-fade:var(--panel)}
html[data-theme="light"] .pbx{--hd-mix:30%}
.pbx.pbx-col .pb-main .bc.r1{max-width:880px;margin:0 auto;gap:var(--g,8px)}
.pbx.pbx-col .pb-main{padding:8px 10px 20px}
@media (min-width:760px){.pbx.pbx-col .pb-main{padding:16px 16px 28px}}
.pbx .pb-crumbs{display:none}

/* every page keeps the square Broadcast box, even the ones that still draw the older section and head parts */
.pbx .seg.bc-seg{border:1px solid var(--border);border-top:2px solid var(--hue,var(--h-sky));border-radius:var(--rr);background:var(--panel);box-shadow:none;overflow:hidden;transform:none}
.pbx .r1-box::before{display:none}
.pbx .r1-box>.bc-lt,.pbx .r1-box>:last-child{border-radius:0}
.pbx .seg>.bc-lt{min-height:30px;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;background:var(--surface);border-bottom:1px solid var(--border)}
.pbx .seg .bc-lt-tab,.pbx .seg .bc-lt-ic{display:none}
.pbx .seg .bc-lt-title{padding:0;gap:0;font:800 12px/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text);white-space:normal}
.pbx .seg .bc-lt-meta{padding:0;margin:0;font:600 11px/1.2 var(--f-body);color:var(--muted)}
.pbx .seg .seg-b{padding:10px;gap:10px}
.pbx .seg .seg-lead{font:500 12.5px/1.4 var(--f-body);color:var(--muted)}
.pbx .seg .seg-lead:empty{display:none}

/* the older head: team or league colour fading across, no photo */
.pbx .r1-stage{min-height:0;flex-direction:row;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-top:3px solid color-mix(in srgb,var(--lc) 62%,var(--text));border-radius:var(--rr);background:linear-gradient(105deg,var(--panel) 0%,color-mix(in srgb,var(--lc) var(--hd-mix),var(--panel)) 100%)}
.pbx .r1-stage .bc-pic,.pbx .r1-poolwrap,.pbx .r1-rule{display:none}
.pbx .r1-crest{position:static;flex:none;margin:0;width:52px;height:52px;border-radius:var(--rr)}
.pbx .r1-crest b{font-size:20px}
/* 1548 (owner, 10 Nov): a head that draws an icon in its tile (Legal: shield, document, flag) fits the icon to the tile. The 64 px icon the wide head uses was clipped inside this 52 px tile and read as a blank square. The icon is an inline SVG from our own page, nothing is fetched. */
.pbx .r1-crest>svg{display:block;width:30px;height:30px;flex:none;color:#fff;stroke-width:2.2;overflow:visible}
.pbx .r1-stage-in{padding:0;gap:6px;color:var(--text);min-width:0;flex:1 1 auto}
.pbx .r1-kick{font:700 11px/1.2 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:#0b0e13}
.pbx .r1-h1{font:800 italic 24px/1.05 var(--f-disp);text-transform:uppercase;color:var(--text)}
.pbx .r1-lead{font:500 13px/1.4 var(--f-body);color:var(--muted)}
.pbx .r1-stage .btn{min-height:44px}

/* heads that fade into the team colour, with the team mark faint behind */
.pbx .hd{position:relative;isolation:isolate;background:linear-gradient(105deg,var(--panel) 0%,color-mix(in srgb,var(--hue) var(--hd-mix),var(--panel)) 100%)}
.pbx .hd>*{position:relative;z-index:1}
.pbx .hd>.hd-bg{position:absolute;z-index:0;right:-4%;top:50%;height:170%;width:auto;max-width:60%;transform:translateY(-50%);object-fit:contain;opacity:.15;pointer-events:none}
html[data-theme="light"] .pbx .hd>.hd-bg{opacity:.12}
.pbx .th{grid-template-columns:44px 1fr 44px}
.pbx .th-c{display:grid;place-items:center;width:44px;height:44px}
.pbx .th .ib{width:44px;height:44px}
.pbx .ph{grid-template-columns:72px 1fr auto}
.pbx .ph-f{width:72px;height:72px}
.pbx .ph-f .fc{width:72px;height:72px}
.pbx .lh{gap:12px}

/* development trait outline on every face (the colours the player cards use: bronze, silver, gold, red; slate while hidden) */
.pbx .pb-shell .fc{border:2px solid var(--dv,var(--border))}
.pbx .fc.dv-0{--dv:#cd7f32}.pbx .fc.dv-1{--dv:#c0c0c0}.pbx .fc.dv-2{--dv:#ffd700}.pbx .fc.dv-3{--dv:#e63946}.pbx .fc.dv-h{--dv:#8fa6c8}
.pbx .fc-w{position:relative;display:inline-block;flex:none;line-height:0}
.pbx .fc-w .fc{display:block}

/* rating colours: the same ten steps the player cards use; 99 is gold with a shine */
.pbx .rb{position:relative;display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:5px;overflow:hidden;font:800 14px/1 var(--f-num);font-variant-numeric:tabular-nums;isolation:isolate}
.pbx .rb.rating-band-elite{background:#5be38a;color:#06220a}
.pbx .rb.rating-band-great{background:#36c168;color:#06220a}
.pbx .rb.rating-band-good{background:#28a94f;color:#06220a}
.pbx .rb.rating-band-fair{background:#9ad12e;color:#1a2806}
.pbx .rb.rating-band-avg{background:#e8c628;color:#2b220a}
.pbx .rb.rating-band-below{background:#e89328;color:#2b1a02}
.pbx .rb.rating-band-poor{background:#dc5a35;color:#2a0d05}
.pbx .rb.rating-band-bad{background:#c92e2e;color:#fff}
.pbx .rb.rating-band-terrible{background:#7a1d1d;color:#fff}
.pbx .rb.rating-band-99{background:linear-gradient(180deg,#a8740c 0%,#fdd23a 18%,#fff4a8 35%,#fdb913 55%,#c9890a 75%,#f7d04e 92%,#8a5e08 100%);color:#3a2200;text-shadow:0 1px 0 rgba(255,255,255,.65);box-shadow:0 0 0 1px #a8740c,0 0 12px -2px rgba(253,185,19,.7)}
.pbx .rb.rating-band-99::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 48%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.55) 52%,transparent 70%);transform:translateX(-100%);animation:pbx-shine 3.2s ease-in-out infinite}
@keyframes pbx-shine{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.pbx .rb.rating-band-99::before{animation:none}}
.pbx .rb--lg{min-width:44px;height:34px;font-size:26px;border-radius:7px}
.pbx .t td.o .rb{min-width:28px;height:20px;font-size:14px}
.pbx .ovr.rb{border:0}

/* the league hub: spaced head, tiles, one box per game */
.pbx .lh-top{display:flex;align-items:center;gap:12px}
.pbx .lh .cps span{height:28px;padding:0 10px}
.pbx .tls{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.pbx .tls--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pbx .tl{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:var(--rr);background:var(--panel)}
.pbx .tl-k{display:block;font:700 10px/1.2 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pbx .tl-n{display:block;margin-top:3px;font:800 22px/1.1 var(--f-num);color:var(--text)}
.pbx .tl.warn .tl-n{color:var(--h-gold)}
.pbx .tls--strip .tl{display:flex;flex-direction:column;gap:3px;border-top:2px solid var(--hue,var(--h-sky))}
.pbx .tls--strip .tl-n{margin:0}
.pbx .tl-n.pos,.pbx .pos{color:var(--h-green)}
.pbx .tl-n.neg,.pbx .neg{color:var(--h-rose)}
.pbx .tl--s2{grid-column:span 2}.pbx .tl--s3{grid-column:span 3}
.pbx .mcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
.pbx .mc{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--rr);background:var(--surface);min-width:0;min-height:44px}
.pbx .mc-w{font:700 10px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pbx .mc-r{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px}
.pbx .mc-r b{font:600 13px/1.1 var(--f-body);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pbx .mc-r em{font:700 18px/1 var(--f-num);font-style:normal;color:var(--muted)}
.pbx .mc.aw .mc-a b,.pbx .mc.aw .mc-a em,.pbx .mc.hw .mc-h b,.pbx .mc.hw .mc-h em{color:var(--text);font-weight:800}
.pbx .mc.up .mc-r b{color:var(--text)}
.pbx .seg3{display:flex;margin:8px 8px 0}
.pbx .more{background:transparent;border-left:0;border-right:0;border-bottom:0;width:100%;cursor:pointer;color:var(--text)}
.pbx .jn-btns{display:flex;flex-wrap:wrap;gap:8px}
.pbx .dvl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
.pbx .dvl a{display:flex;flex-direction:column;gap:4px;min-height:44px;padding:8px 10px;background:var(--panel);min-width:0}
.pbx .dvl small{font:700 10px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pbx .dvl span{display:flex;align-items:center;gap:6px;font:700 13px/1.1 var(--f-body)}
.pbx .dvl em{margin-left:auto;font:800 13px/1 var(--f-num);font-style:normal;color:var(--muted)}

/* game: scoring and the team stat tiles with the colour bar from side to side */
.pbx .tl--ts{display:flex;flex-direction:column;gap:4px;padding:8px 9px 9px}
.pbx .tl-v{display:flex;justify-content:space-between;gap:4px}
.pbx .tl-v b{font:800 17px/1.1 var(--f-num);color:var(--muted)}
.pbx .tl-v b.lead{color:var(--text)}
.pbx .spl{display:flex;gap:2px;height:5px;margin-top:2px;overflow:hidden}
.pbx .spl i{display:block;height:100%}
.pbx .key{display:inline-flex;align-items:center;gap:5px;margin-left:8px;font:800 11px/1 var(--f-body);letter-spacing:.06em;color:var(--text)}
.pbx .key::before{content:"";width:10px;height:10px;background:var(--tc)}
.pbx .tls-pad{padding:8px}
.pbx .sb-row .cr{width:30px;height:30px}
.pbx .sb-row{min-height:56px}
.pbx .jump a{min-height:44px;height:44px}

/* tables inside boxes: whole row is the tap target */
.pbx .t td.nm a,.pbx .t td a.row-a{display:flex;align-items:center;min-height:30px}
.pbx .t-ld td{height:48px}
.pbx .kp-r{min-height:48px}
.pbx .kp-r .fc{--s:34px}
.pbx .ld-r{height:44px}
.pbx .t-bs td{height:44px}
.pbx .t-bs td.nm a{min-height:44px;gap:6px}
.pbx .t-bs td.nm a i{margin-left:2px}
.pbx .t-ro td{height:44px}
.pbx .t-ro td.nm a{min-height:44px}
.pbx .t-ro td.nm a .fc{margin-right:8px}
.pbx .t-ro td.nm small{display:block;margin-top:1px}
.pbx .t-sd td,.pbx .t-st td{height:44px}
.pbx .t-sd td.nm a{min-height:44px}
.pbx .pw-r,.pbx .po-r{min-height:44px}
.pbx .pw{grid-template-rows:repeat(5,44px)}.pbx .pw-r{height:44px}
.pbx .po-r{height:44px}
.pbx .sr{height:44px}

@media (min-width:640px){
  .pbx .mcs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pbx .tls--strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pbx .dvl{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pbx .tls--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* small parts */
.pbx .bx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pbx .ctx .r1-enter,.pbx .ctx .r1-tabwrap{animation:none!important;opacity:1!important;transform:none!important}
.pbx .seg4 button{height:44px}
.pbx .seg4 a[aria-pressed="true"]{background:var(--surface2);color:var(--text)!important;box-shadow:inset 0 -2px 0 var(--hue,var(--h-blue))}
.pbx .seg4 a:last-child{border-right:0!important}
.pbx .ro-ctl{display:block}
.pbx .ro-bar+.ro-bar{border-top:0}
.pbx .ro-bar .selw{position:relative}
.pbx .ro-bar .fld,.pbx .ro-bar select{min-height:44px;width:100%}
.pbx .t-ro td.nm a span{display:flex;flex-direction:column;gap:1px}
.pbx .t-ro td.nm i{font:600 10px/1 var(--f-body);font-style:normal;color:var(--muted)}
.pbx .sb-row{background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 26%,var(--panel)) 0%,var(--panel) 75%)}
.pbx .sb-row .sb-t{min-width:0}
.pbx .wkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:1px;background:var(--line)}
.pbx .wkgrid a{display:grid;place-items:center;min-height:44px;background:var(--panel);font:700 13px/1 var(--f-body);color:var(--muted)}
.pbx .wkgrid a[aria-current="page"]{background:var(--surface2);color:var(--text);box-shadow:inset 0 -2px 0 var(--hue,var(--h-violet))}
.pbx .ph-x .dv-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 8px;border:2px solid var(--dv,var(--border));border-radius:var(--rr);background:var(--surface2);font:700 12px/1 var(--f-body)}
.pbx .dv-chip.dv-0{--dv:#cd7f32}.pbx .dv-chip.dv-1{--dv:#c0c0c0}.pbx .dv-chip.dv-2{--dv:#ffd700}.pbx .dv-chip.dv-3{--dv:#e63946}.pbx .dv-chip.dv-h{--dv:#8fa6c8}
.pbx .ph-x a{min-height:44px}
.pbx .ph-no{background:var(--hue)}
.pbx .t-ld .nm a{min-height:48px}
.pbx .pt .btn{min-height:44px}
.pbx .th .ib,.pbx .ib{min-width:44px;min-height:44px}
.pbx .t-sch td.nm a{min-height:44px}
.pbx .t-sch td{height:44px}
.pbx .jump a{min-height:44px}
.pbx .more{min-height:44px}

/* the player card (the one shared partial) drawn as Broadcast boxes under the new head */
.pbx .pb-pd{min-width:0}
.pbx .pb-pd .pd2-hero{display:none}
.pbx .pb-pd .pd2-grid,.pbx .pb-pd .detail-panels-grid{display:flex;flex-direction:column;align-items:stretch;gap:var(--g,8px)}
.pbx .pb-pd .pd2-first{display:block}
.pbx .pb-pd .attributes-panel{padding:0;border:1px solid var(--border);border-top:2px solid var(--hue,var(--h-sky));border-radius:var(--rr);background:var(--panel);box-shadow:none;overflow:hidden}
.pbx .pb-pd .attributes-panel::before{display:none}
.pbx .pb-pd .attributes-panel-header{display:flex;align-items:center;gap:8px;min-height:30px;margin:0;padding:0 10px;background:var(--surface);border-bottom:1px solid var(--border)}
.pbx .pb-pd .attributes-panel-header h3,.pbx .pb-pd .attributes-panel-header h4{margin:0;font:800 12px/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.pbx .pb-pd .attributes-panel-header .ic{width:14px;height:14px}
.pbx .pb-pd .attributes-panel>*:not(.attributes-panel-header){margin-left:10px;margin-right:10px}
.pbx .pb-pd .attributes-panel>.attributes-panel-header+*{margin-top:8px}
.pbx .pb-pd .attributes-panel>*:last-child{margin-bottom:10px}
.pbx .pb-pd .pd2-cat-label{font:700 11px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:8px 10px 6px}
.pbx .pb-pd .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 10px 8px;background:var(--line);border:1px solid var(--line)}
.pbx .pb-pd .stat-tile{padding:8px 6px;border:0;border-radius:0;background:var(--panel);box-shadow:none;text-align:left;transform:none}
.pbx .pb-pd .stat-tile::before{display:none}
.pbx .pb-pd .stat-tile:hover{transform:none;box-shadow:none}
.pbx .pb-pd .stat-tile-label{margin:0 0 3px;font:700 10px/1.2 var(--f-body);letter-spacing:.05em;color:var(--muted)}
.pbx .pb-pd .stat-tile-value{font:800 20px/1.1 var(--f-num);text-shadow:none}
.pbx .pb-pd .attr-bar-single{margin:0;display:grid;grid-template-columns:128px minmax(0,1fr) 30px;align-items:center;gap:8px;min-height:27px}
.pbx .pb-pd .attr-bar-single-header{display:contents}
.pbx .pb-pd .attr-bar-single-label{font:600 12.5px/1 var(--f-body);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pbx .pb-pd .attr-bar-single-value{grid-column:3;grid-row:1;text-align:right;font:800 14px/1 var(--f-num)}
.pbx .pb-pd .attr-bar-single-track{grid-column:2;grid-row:1;height:6px;border-radius:3px;border:1px solid var(--line);background:var(--surface2);overflow:hidden}
.pbx .pb-pd .attr-bar-single-fill{height:100%;border-radius:0}
@media (max-width:420px){.pbx .pb-pd .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pbx .pb-pd .attr-bar-single{grid-template-columns:104px minmax(0,1fr) 28px}}

/* lineup rows: a long name gives way to the rating, never the other way round */
.pbx .ld-r b{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pbx .ld-r .rb{min-width:28px;height:22px}
.pbx .ld-st .ld-r{padding:0 6px;gap:4px;grid-template-columns:20px minmax(0,1fr) auto}
.pbx .ld-st .ld-r .rb{min-width:26px;padding:0 4px;font-size:13px}
.pbx .t-ro tr.rp-row td{height:44px}
.pbx .t-ro .rp-row td.nm a span b{white-space:normal}

/* ---- 1419 (7 Nov, owner): a WIDE public page (the Leagues finder) sits in the homepage's frame and wears the homepage's backdrop ---- */
/* the frame: 1320 px of content like the homepage sections (.lg-in), centred, never the 720 px column */
.pbx.pbx-wide .pb-main{max-width:1368px;padding:var(--s4) var(--s3) 48px}
.pbx.pbx-wide .pb-main .bc.r1{max-width:none;margin:0 auto;gap:var(--k-space-md,16px)}
@media (min-width:760px){.pbx.pbx-wide .pb-main{padding:var(--s4) var(--s4) 56px}}
/* the backdrop: the homepage's opening frame, fixed behind the whole page, under the homepage's own grade; a still picture, no video */
.pbx>.pb-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#06080b}
.pbx>.pb-backdrop img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 55%}
.pbx>.pb-backdrop .pb-backdrop-grade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,11,.62) 0%,rgba(6,8,11,.5) 40%,rgba(6,8,11,.72) 100%),rgba(16,36,34,.2)}
.pbx.pbx-wide .pb-shell{position:relative;z-index:1}
/* R5 42.6: the wide pages wear the homepage's top bar, flat footer and bottom bar. */
.pbx.pbx-wide .pb-nav{background:#0a0e13;border-bottom:0;box-shadow:0 1px 0 rgba(255,255,255,.1),0 12px 24px -16px #000;backdrop-filter:blur(14px)}
.pbx.pbx-wide .pb-nav-in{height:68px;gap:28px}
.pbx.pbx-wide .pb-brand--home img{width:34px;height:34px;object-fit:contain}
.pbx.pbx-wide .pb-brand--home .pb-word{font-size:20px;letter-spacing:.02em}
.pbx.pbx-wide .pb-brand--home .pb-word b{color:var(--brand);font-weight:inherit}
.pbx.pbx-wide .pb-links a{color:#b7c2bb}
.pbx.pbx-wide .pb-cta .btn{background:rgba(255,255,255,.06);color:var(--text);border:1px solid rgba(255,255,255,.28);min-height:44px;padding:0 16px}
.pbx.pbx-wide .pb-cta .btn:hover{background:rgba(255,255,255,.12)}
.pbx.pbx-wide .pb-foot--flat{background:rgba(13,17,23,.92);border-top:0;color:#b7c2bb;padding:56px 24px 40px}
.pbx.pbx-wide .pb-foot-flat{max-width:1240px;margin:0 auto;display:grid;gap:32px}
.pbx.pbx-wide .pb-foot-flat .pb-word{font-size:24px;color:var(--text);margin-bottom:12px}
.pbx.pbx-wide .pb-foot-flat .pb-word b{color:var(--brand);font-weight:inherit}
.pbx.pbx-wide .pb-foot-flat p{font-size:16px;line-height:1.5;max-width:62ch;margin:0 0 8px;color:#b7c2bb}
.pbx.pbx-wide .pb-foot-flat a{color:var(--text);text-underline-offset:3px}
.pbx.pbx-wide .pb-foot-flat .pb-foot-links{flex-direction:row;flex-wrap:wrap;gap:8px 24px;font-weight:600}
.pbx.pbx-wide .pb-foot-flat .pb-foot-links a{border-bottom:0;text-decoration:none}
.pbx.pbx-wide .pb-foot-flat .pb-foot-links a:hover{text-decoration:underline}
.pbx.pbx-wide .pb-foot-flat .pb-foot-legal{font-size:14px;line-height:1.55;color:#8a978f;max-width:100ch}
@media (max-width:900px){.pbx.pbx-wide .pb-foot--flat{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}.pbx.pbx-wide .pb-nav-in{gap:12px}}
/* the finder's league cards are the shared dashboard cards: one column on a phone, two from 760 px (leagues_v3.css .bc-lcards) */
.pbx.pbx-wide .bc-lcards{padding:var(--k-space-sm,12px) 0 0}
.pbx.pbx-wide .bc-lcards.bc-lcards--feat{padding-top:var(--k-space-xs,8px)}

/* 7 Nov fix pass: the public finder loads the dashboard Leagues sheet (leagues_q1.css, scoped to .lq) so its cards are the same cards. That sheet lays cards out as a flat list inside a box; here each card is its own rounded card in the 1 / 2 / 3 column grid. */
.pbx.pbx-wide .lq .bc-lcards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--k-space-md,12px);padding:var(--k-space-sm,12px) 0 0;align-items:start}
.pbx.pbx-wide .lq .bc-lcards.bc-lcards--feat{padding-top:var(--k-space-xs,8px)}
.pbx.pbx-wide .lq .bc-lc{border:1px solid var(--color-k-border);border-radius:14px}
.pbx.pbx-wide .lq .bc-lc--feat{border-color:color-mix(in srgb,var(--lq-gold) 55%,var(--color-k-border))}
@media (min-width:760px){.pbx.pbx-wide .lq .bc-lcards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- R8-DESKTOP_DESIGNS (10 Nov 2026): the desktop layout of the Broadcast pages (public league / team / player / game and the signed-in twins). ----
   The 1290 phone spec capped these pages at 880 px, so a 1440 screen showed a thin column. From 1100 px the page takes the frame's width
   (public: the same 1368 px as the Leagues finder; signed in: --k-page-max, owner rule 17) and lays two short boxes side by side, as the approved mockups do
   (docs/program/mockups/broadcast_v3_2026-10-31/public/*.html). A pair is two boxes that sit next to each other in the page and carry the same
   pair class (bx--h1, bx--h2, bx--h3); a box with no partner takes the whole row, so there is never a lone half card. Phone and tablet: unchanged. */
@media (min-width:1100px){
  .pbx.pbx-col .pb-main{max-width:1368px}
  .pbx.pbx-col .pb-main .bc.r1{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
  .pbx.pbx-col .pb-main .bc.r1>*,.pbx .bxs-col>*{grid-column:1/-1}
  .pbx.pbx-col .pb-main .bc.r1>.bx--h1{grid-column:auto}
  .pbx.pbx-col .pb-main .bc.r1>.bx--h1:not(:has(+ .bx--h1)):not(.bx--h1 + .bx--h1){grid-column:1/-1}
  .pbx .bxs-col>.bx--h1{grid-column:auto}
  .pbx .bxs-col>.bx--h1:not(:has(+ .bx--h1)):not(.bx--h1 + .bx--h1){grid-column:1/-1}
  .pbx.pbx-col .pb-main .bc.r1>.bx--h2{grid-column:auto}
  .pbx.pbx-col .pb-main .bc.r1>.bx--h2:not(:has(+ .bx--h2)):not(.bx--h2 + .bx--h2){grid-column:1/-1}
  .pbx .bxs-col>.bx--h2{grid-column:auto}
  .pbx .bxs-col>.bx--h2:not(:has(+ .bx--h2)):not(.bx--h2 + .bx--h2){grid-column:1/-1}
  .pbx.pbx-col .pb-main .bc.r1>.bx--h3{grid-column:auto}
  .pbx.pbx-col .pb-main .bc.r1>.bx--h3:not(:has(+ .bx--h3)):not(.bx--h3 + .bx--h3){grid-column:1/-1}
  .pbx .bxs-col>.bx--h3{grid-column:auto}
  .pbx .bxs-col>.bx--h3:not(:has(+ .bx--h3)):not(.bx--h3 + .bx--h3){grid-column:1/-1}
}

/* the shared player card's boxes flow in two columns on every player page (public, Leagues and My Team): one gear (was My Team only) */
@media (min-width:900px){
  .pbx .pb-pd .pd2-grid.detail-panels-grid{display:block;column-count:2;column-gap:var(--g,8px)}
  .pbx .pb-pd .pd2-grid.detail-panels-grid>*{break-inside:avoid;page-break-inside:avoid;display:block;margin:0 0 var(--g,8px);padding:0}
}
/* 11 Nov picture read: the report line on a public league page is a quiet 14 px line, not bold body text */
.pbx .pb-rp-small{margin:16px 0 0;font:500 var(--text-14,14px)/1.5 var(--font-k-body);color:var(--color-k-muted);text-align:center}
.pbx .pb-rp-small a{color:var(--color-k-text);text-decoration:underline;text-underline-offset:3px}

/* ===== 1627 (owner picked Richer for the public player, team and game pages, 11 Nov) ===== */
/* Rating colours: ONE scale, read from the number. These are the ten steps the .rb chips above already use (the public ramp of the player cards); the lower reds are lifted a little to read as text on the dark panel.
   99 gold, 90-98 rich green, 85-89 green, 80-84 deep green, 75-79 lime, 70-74 yellow, 65-69 orange, 60-64 red-orange, 50-59 red, under 50 dark red. */
:is(.pbx,.ptg){--rt-99:#fdd23a;--rt-elite:#5be38a;--rt-great:#36c168;--rt-good:#28a94f;--rt-fair:#9ad12e;--rt-avg:#e8c628;--rt-below:#e89328;--rt-poor:#dc5a35;--rt-bad:#e04848;--rt-terrible:#c8383d}
/* the literal colours of the Richer extras live here as tokens (kit 1588: a page sheet reads colours from tokens): the gold fill of a 99, the gold number and the inks and dark shadow of the overall badge (1642 round 3), the white glints of the shines */
:is(.pbx,.ptg){--rt-99-fill:linear-gradient(90deg,#c9890a,#fdd23a 55%,#fff4a8);--rt-99-ink:linear-gradient(180deg,#fffbe0 0%,#fff4a8 24%,#fdd23a 52%,#d99a14 100%);--pb-glint-lo:rgba(255,255,255,.04);--pb-glint:rgba(255,255,255,.2);--ov3-ink:#fff;--ov3-lab:#b3bcc6;--ov3-lab-99:#f2d98a;--ov3-shade:radial-gradient(closest-side,rgba(4,6,9,.8) 0%,rgba(4,6,9,.72) 58%,rgba(4,6,9,.38) 80%,transparent 100%)}
:is(.pbx,.ptg) [data-rt="99"]{--rc:var(--rt-99)}:is(.pbx,.ptg) [data-rt="elite"]{--rc:var(--rt-elite)}:is(.pbx,.ptg) [data-rt="great"]{--rc:var(--rt-great)}:is(.pbx,.ptg) [data-rt="good"]{--rc:var(--rt-good)}:is(.pbx,.ptg) [data-rt="fair"]{--rc:var(--rt-fair)}
:is(.pbx,.ptg) [data-rt="avg"]{--rc:var(--rt-avg)}:is(.pbx,.ptg) [data-rt="below"]{--rc:var(--rt-below)}:is(.pbx,.ptg) [data-rt="poor"]{--rc:var(--rt-poor)}:is(.pbx,.ptg) [data-rt="bad"]{--rc:var(--rt-bad)}:is(.pbx,.ptg) [data-rt="terrible"]{--rc:var(--rt-terrible)}
.pbx .pb-pd .attr-bar-single-value[data-rt]{color:var(--rc);border-color:color-mix(in srgb,var(--rc) 55%,var(--line));background:color-mix(in srgb,var(--rc) 12%,transparent);box-shadow:none}
.pbx .pb-pd .attr-bar-single-fill[data-rt]{background:var(--rc);box-shadow:none}
.pbx .pb-pd .attr-bar-single-fill[data-rt="99"]{background:var(--rt-99-fill)}
.pbx .rs b[data-rt]{color:var(--rc)}

/* Abilities: just the circle with the icon inside (the icon art is a gold-edged square tile; the circle crops it down to the glyph) */
.pbx .ab-box .ab-ic{border-radius:50%;overflow:visible;background:#0b1118;border:2px solid color-mix(in srgb,var(--ab-c,var(--tier-gold,#f2b23e)) 80%,#000)}
.pbx .ab-box .ab-ic img{border-radius:50%;transform:scale(1.16);clip-path:circle(50%)}
.pbx .ab-box .ab-ic-lock{right:-4px;bottom:-4px}

/* Richer: the gold rule under every title strip, a slow shine across it, the red X-Factor edge breathing, a rim light behind the face and crest */
.pbx .bx>.bx-h{position:relative;overflow:hidden;box-shadow:inset 0 -2px 0 var(--tier-gold,#f2b23e)}
.pbx .bx>.bx-h::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;pointer-events:none;background:linear-gradient(100deg,transparent 0,var(--pb-glint-lo) 30%,var(--pb-glint) 50%,var(--pb-glint-lo) 70%,transparent 100%);transform:translateX(-140%) skewX(-18deg)}
html[data-motion="on"] .pbx .bx>.bx-h::after{animation:pbr-shine 12s ease-in-out infinite}
html[data-motion="on"] .pbx .bx:nth-of-type(3n+2)>.bx-h::after{animation-delay:1.5s}
html[data-motion="on"] .pbx .bx:nth-of-type(3n)>.bx-h::after{animation-delay:3s}
@keyframes pbr-shine{0%{transform:translateX(-140%) skewX(-18deg)}14%{transform:translateX(330%) skewX(-18deg)}100%{transform:translateX(330%) skewX(-18deg)}}
.pbx .ab-list--xf .ab.is-xf{position:relative;isolation:isolate}
.pbx .ab-list--xf .ab.is-xf::after{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;box-shadow:0 0 28px color-mix(in srgb,var(--xf-red,#e5383b) 42%,transparent);opacity:0;pointer-events:none}
html[data-motion="on"] .pbx .ab-list--xf .ab.is-xf::after{animation:pbr-breathe 4s ease-in-out infinite}
@keyframes pbr-breathe{0%,100%{opacity:0}50%{opacity:1}}
.pbx .ph-f::before,.pbx .th-c::before{content:"";position:absolute;inset:-6px;z-index:-1;-webkit-mask:radial-gradient(closest-side,#000 72%,transparent 100%);mask:radial-gradient(closest-side,#000 72%,transparent 100%);background:conic-gradient(from 0deg,transparent 0 62%,color-mix(in srgb,var(--hue) 70%,#fff) 80%,transparent 100%);filter:blur(5px);opacity:.55;pointer-events:none}
.pbx .th-c{position:relative}
html[data-motion="on"] .pbx .ph-f::before,html[data-motion="on"] .pbx .th-c::before{animation:pbr-rim 9s linear infinite}
@keyframes pbr-rim{to{transform:rotate(360deg)}}


/* The overall badge in the player head (1642, owner approved 11 Nov, round 3): an open ring over the number and OVR under it, nothing else. The ring fills to the rating in the number's own colour
   (--rc from data-rt, the ten --rt-* steps above); the flare steps with the rating (99 gold and glowing, the 90s a soft glow, the rest clean); a light runs along the ring every --every seconds.
   --d is the whole badge; the number, OVR and ring follow it. Fonts: the site's own self-hosted OFL Oswald 700 and Barlow Condensed 600 (/fonts, the same files other sheets use). */
@font-face{font-family:"FH Oswald";font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/look/oswald-700-latin.woff2) format("woff2")}
@font-face{font-family:"FH Barlow C";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/barlow/barlow-condensed-600-latin.woff2) format("woff2")}
:is(.pbx,.ptg) .ov3{--d:72px;--glow:0;--every:8s;position:relative;isolation:isolate;display:grid;place-items:center;width:var(--d);height:var(--d);flex:none;line-height:1;-webkit-font-smoothing:antialiased}
@media (min-width:900px){:is(.pbx,.ptg) .ov3{--d:104px}}
@media (max-width:360px){:is(.pbx,.ptg) .ov3{--d:68px}}
:is(.pbx,.ptg) .ov3[data-tier="gold"]{--glow:.55;--every:4.5s}
:is(.pbx,.ptg) .ov3[data-tier="foil"]{--glow:.3;--every:6s}
:is(.pbx,.ptg) .ov3[data-tier="satin"]{--every:8s}
:is(.pbx,.ptg) .ov3[data-tier="matte"]{--every:11s}
:is(.pbx,.ptg) .ov3 svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
:is(.pbx,.ptg) .ov3-trk,:is(.pbx,.ptg) .ov3-val,:is(.pbx,.ptg) .ov3-gl{fill:none;stroke-width:7;stroke-linecap:round}
:is(.pbx,.ptg) .ov3-trk{stroke:rgba(255,255,255,.14)}
:is(.pbx,.ptg) .ov3-val{stroke:var(--rc)}
:is(.pbx,.ptg) .ov3[data-tier="gold"] .ov3-val,:is(.pbx,.ptg) .ov3[data-tier="foil"] .ov3-val{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--rc) 80%,transparent))}
:is(.pbx,.ptg) .ov3-gl{stroke:#fff;opacity:0;stroke-dasharray:9 200;stroke-dashoffset:9}
:is(.pbx,.ptg) .ov3::before{content:"";position:absolute;inset:-14%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--rc) 60%,transparent),transparent 78%);opacity:var(--glow);pointer-events:none}
:is(.pbx,.ptg) .ov3-n{position:relative;font:700 calc(var(--d) * .43)/1 "FH Oswald",Impact,sans-serif;color:var(--ov3-ink);font-variant-numeric:tabular-nums;text-box:trim-both cap alphabetic;transform:translateY(-6%);text-shadow:0 1px 2px rgba(0,0,0,.65);font-style:normal}
:is(.pbx,.ptg) .ov3[data-tier="gold"] .ov3-n{background:var(--rt-99-ink);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}
:is(.pbx,.ptg) .ov3-o{position:absolute;left:0;right:0;bottom:2%;text-align:center;font:600 max(10px,calc(var(--d) * .15))/1 "FH Barlow C","Barlow Condensed",sans-serif;letter-spacing:.14em;margin-right:-.14em;color:var(--ov3-lab);font-style:normal}
:is(.pbx,.ptg) .ov3[data-tier="gold"] .ov3-o{color:var(--ov3-lab-99)}
/* owner 11 Nov: a soft dark shadow behind the badge, so a moving or bright background never washes it out */
:is(.pbx,.ptg) .ov3::after{content:"";position:absolute;inset:-12%;z-index:-2;border-radius:50%;background:var(--ov3-shade);pointer-events:none}
/* in the signed-in player head the badge stands at the right end of the grid */
.pbx .ph>.ov3{justify-self:end;align-self:center}
/* motion (the site's gate: html[data-motion="on"], and never under reduced motion): the ring draws in once, then a light runs along it every --every seconds; the 99 glow breathes */
html[data-motion="on"] :is(.pbx,.ptg) .ov3-val{animation:ov3-in .9s ease-out both}
html[data-motion="on"] :is(.pbx,.ptg) .ov3-gl{animation:ov3-glint var(--every) ease-in-out 1.4s infinite}
html[data-motion="on"] :is(.pbx,.ptg) .ov3[data-tier="gold"]::before{animation:ov3-breathe 3.6s ease-in-out infinite}
@keyframes ov3-in{from{opacity:0}to{opacity:1}}
@keyframes ov3-glint{0%{stroke-dashoffset:9;opacity:0}3%{opacity:.95}15%{opacity:.95}18%,100%{stroke-dashoffset:var(--end);opacity:0}}
@keyframes ov3-breathe{0%,100%{opacity:calc(var(--glow) * .6)}50%{opacity:var(--glow)}}
@media (prefers-reduced-motion:reduce){:is(.pbx,.ptg) .ov3-val,:is(.pbx,.ptg) .ov3-gl,:is(.pbx,.ptg) .ov3::before{animation:none!important}}
/* the age line never leaves one word alone on its own line: it breaks at a separator and the two lines balance */
.pbx .ph-n small{text-wrap:balance}
.pbx .ph-n .sb{white-space:nowrap}
/* a very small phone (320-360): the dial, the name and the face give a little so the head never overflows */
@media (max-width:360px){
  .pbx .ph-n h1{font-size:20px!important}
  .pbx .ph{grid-template-columns:56px minmax(0,1fr) auto;gap:8px}
  .pbx .ph-f,.pbx .ph-f .fc{width:56px;height:56px}
}

/* ---- 1686 (11 Nov 2026): the public league page (public/v3/league.pug) rebuilt to the picture drawn for the Leagues section
   (docs/program/mockups/leagues_redo_2026-11-10/public.html). Wide frame + the Leagues board's motion backdrop, one stage, a figure strip, the tab strip,
   then two columns (8 / 4) of .seg boxes. Every width: nothing under 14 px on a phone, names wrap and are never cut, boxes never touch (the grid gap is 16 px). ---- */
.pbx .lpv-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1px;border:1px solid var(--color-k-border);border-radius:var(--radius-xl);background:var(--color-k-border);overflow:hidden}
.pbx .lpv-fig{display:flex;flex-direction:column;justify-content:center;gap:var(--k-space-xs);min-width:0;min-height:88px;padding:var(--k-space-md) var(--k-space-lg);background:var(--color-k-panel)}
.pbx .lpv-fig b{font:600 var(--text-32)/1.05 var(--bc-num);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pbx .lpv-fig span{font:600 var(--text-12)/1.25 var(--font-k-heading);letter-spacing:.06em;text-transform:uppercase;color:var(--color-k-muted)}
.pbx .lpv-fig b span{font:inherit;letter-spacing:0;text-transform:none;color:inherit}
.pbx .lpv-fig.is-warn b{color:var(--color-k-warn)}
.pbx .lpv-split>.pb-col>.seg{width:100%}
.pbx .lpv-split--flow{display:flex;flex-direction:column;gap:var(--s3)}
.pbx .lpv-split--flow>.lpv-col{display:contents}
.pbx .seg--flush>.seg-b{padding:0;gap:0}
.pbx .lpv-prose{margin:0;font:500 var(--t16)/1.5 var(--f-body);color:var(--text);white-space:pre-line;overflow-wrap:anywhere}
.pbx .seg-b>.cps{margin-top:var(--k-space-xs)}
.pbx .seg-b>.pb-acts{margin-top:0}
.pbx .lpv-sb{border-top:1px solid var(--line);border-bottom:0}
.pbx .lpv-nm{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
/* Division Leaders: one tile per division */
.pbx .lpv-divs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--k-space-sm);padding:var(--k-space-md)}
.pbx .lpv-divl{display:flex;align-items:center;gap:var(--k-space-sm);min-width:0;min-height:64px;padding:var(--k-space-sm);border:1px solid var(--color-k-border);border-radius:var(--radius-lg);background:var(--color-k-surface-2);color:var(--color-k-text);text-decoration:none}
.pbx .lpv-divl:hover,.pbx .lpv-divl:focus-visible{border-color:var(--color-k-gold)}
.pbx .lpv-divl:focus-visible{outline:3px solid var(--color-k-brand);outline-offset:-3px}
.pbx .lpv-divl .cr{flex:none}
.pbx .lpv-divl span{display:flex;flex-direction:column;gap:2px;min-width:0}
.pbx .lpv-divl small{font:700 var(--text-12)/1.1 var(--font-k-heading);letter-spacing:.06em;text-transform:uppercase;color:var(--color-k-muted)}
.pbx .lpv-divl b{font:700 var(--text-16)/1.15 var(--font-k-heading);overflow-wrap:anywhere}
.pbx .lpv-divl em{font:600 var(--text-14)/1 var(--bc-num);font-style:normal;color:var(--color-k-muted)}
/* Recent Results and On Deck: one row per game, the whole row is the box score link */
.pbx .pb-res.lpv-res{grid-template-columns:minmax(0,1fr)}
.pbx .lpv-res>.pb-rr{grid-template-columns:56px minmax(0,1fr) 44px 20px 44px minmax(0,1fr);min-height:60px;border-left:0;border-top:1px solid var(--border)}
.pbx .lpv-res>.pb-rr:first-child{border-top:0}
.pbx .lpv-res>.pb-rr[hidden]{display:none}
.pbx .lpv-more{display:flex;padding:var(--k-space-sm) var(--k-space-md);border-top:1px solid var(--line)}
.pbx .lpv-more .btn{min-height:44px;gap:var(--k-space-xs)}
/* motion: the title sweeps once, a slow light crosses the stage; both rest while the tab is hidden (leagues_motion.js sets html.lg-bg-off) and never run with motion off */
.pbx-wide .r1-stage .r1-h1{position:relative;max-width:100%;overflow:hidden;padding-right:.1em;overflow-wrap:anywhere}
.pbx-wide .r1-stage .r1-h1::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:34%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7) 50%,transparent);transform:translateX(-180%) skewX(-18deg);mix-blend-mode:screen;pointer-events:none}
html[data-motion="on"] .pbx-wide .r1-stage .r1-h1::after{animation:lpv-tsw 900ms cubic-bezier(.2,.8,.2,1) 360ms both}
.pbx-wide .r1-stage::before{content:"";position:absolute;z-index:2;top:-30%;bottom:-30%;left:0;width:42%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.04) 25%,rgba(255,244,200,.2) 50%,rgba(255,255,255,.04) 75%,transparent);transform:translateX(-130%) skewX(-20deg);pointer-events:none;opacity:0}
html[data-motion="on"] .pbx-wide .r1-stage::before{opacity:1;animation:lpv-sw 26s ease-in-out infinite}
html.lg-bg-off .pbx-wide .r1-stage::before{animation-play-state:paused}
@keyframes lpv-tsw{to{transform:translateX(420%) skewX(-18deg)}}
@keyframes lpv-sw{0%{transform:translateX(-130%) skewX(-20deg)}45%,100%{transform:translateX(330%) skewX(-20deg)}}
@container bc (max-width:1100px){
  .pbx .lpv-divs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container bc (max-width:640px){
  .pbx .lpv-strip{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
  .pbx .lpv-fig:last-child:nth-child(odd){grid-column:1/-1}
  .pbx .lpv-fig{min-height:80px;padding:var(--k-space-sm) var(--k-space-md)}
  .pbx .lpv-fig b{font-size:var(--text-24)}
  .pbx .lpv-fig span{font-size:var(--text-14);letter-spacing:0}
  .pbx .lpv-divs{padding:var(--k-space-sm)}
  .pbx .lpv-divl small{font-size:var(--text-14)}
  /* a game is two lines: week on the left, then each team with its score on the right, so a name is never cut */
  .pbx .lpv-res>.pb-rr{grid-template-columns:44px minmax(0,1fr) 44px;grid-template-areas:"wk a sa" "wk b sb";row-gap:var(--k-space-xs);align-items:center;min-height:76px;padding:var(--k-space-sm) var(--k-space-md)}
  .pbx .lpv-res .pb-rr-wk{grid-area:wk;font-size:var(--text-14);letter-spacing:0}
  .pbx .lpv-res .pb-rr>.pb-rr-t:not(.r){grid-area:a}
  .pbx .lpv-res .pb-rr>:nth-child(3){grid-area:sa}
  .pbx .lpv-res .pb-rr>:nth-child(5){grid-area:sb}
  .pbx .lpv-res .pb-rr>.pb-rr-t.r{grid-area:b;flex-direction:row-reverse;justify-content:flex-end;text-align:left}
  .pbx .lpv-res .pb-rr-at{display:none}
  .pbx .lpv-res .pb-rr-s{font-size:var(--text-20);text-align:right}
  .pbx .lpv-res .pb-rr-t span{font-size:var(--text-14);overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
}
@container bc (max-width:400px){
  .pbx .lpv-divs{grid-template-columns:minmax(0,1fr)}
}
/* 1686: the league page keeps the FULL stage (banner, crest in its pool of light, kicker, title, pills, buttons); the compact head above is for the other .pbx pages */
.pbx-wide .r1-stage{min-height:340px;flex-direction:row;align-items:center;gap:0;padding:0;border:1px solid var(--color-k-border);border-radius:var(--radius-xl);background:#0b0e13}
.pbx-wide .r1-stage .bc-pic{display:block}
.pbx-wide .r1-poolwrap{display:grid}
.pbx-wide .r1-rule{display:block}
.pbx-wide .r1-crest{position:absolute;left:48px;top:50%;margin:-72px 0 0;width:144px;height:144px;border-radius:var(--radius-xl)}
.pbx-wide .r1-crest b{font-size:var(--text-48)}
.pbx-wide .r1-stage-in{flex:0 1 auto;max-width:100%;padding:var(--k-space-lg) var(--k-space-lg) var(--k-space-lg) 252px;gap:var(--k-space-sm);color:#fff}
.pbx-wide .r1-kick{font:700 var(--text-12)/1 var(--font-k-heading);letter-spacing:.1em;color:#0b0e13}
.pbx-wide .r1-h1{font:800 italic var(--text-48)/1.05 var(--font-k-display);color:#fff}
.pbx-wide .r1-lead{font:400 var(--text-16)/1.4 var(--font-k-body);color:rgba(243,246,250,.92)}
@container bc (max-width:640px){
  .pbx-wide .r1-stage{min-height:0;flex-direction:column;align-items:stretch}
  .pbx-wide .r1-poolwrap{left:50%;top:0;margin:0 0 0 -150px;width:300px;height:300px}
  .pbx-wide .r1-crest{position:relative;left:auto;top:auto;margin:var(--k-space-lg) auto 0;width:96px;height:96px}
  .pbx-wide .r1-crest b{font-size:var(--text-32)}
  .pbx-wide .r1-stage-in{padding:var(--k-space-md)}
  .pbx-wide .r1-kick{margin-left:calc(var(--k-space-md) * -1);padding:0 var(--k-space-md)}
  .pbx-wide .r1-h1{font-size:var(--text-32)}
  .pbx-wide .r1-lead{font-size:var(--text-14)}
}

/* 11 Nov WCL review (1686): the boxes the rebuilt league page inherited were drawn for a full-width page.
   Open Teams now sits in the narrow side column on a computer (four tiles across a third of the page crushed the names), and on a phone the
   two-across facts, playoff seeds and power rankings left a name about 40 px, so it stacked or ran into the record. One per row there. */
.pbx .lpv-split .dvl b,.pbx .lpv-split .kv2 b{min-width:0;overflow-wrap:anywhere}
.pbx .lpv-split .po-r b,.pbx .lpv-split .pw-r .nm{min-width:0;overflow-wrap:anywhere}
@container bc (min-width:1101px){
  .pbx .lpv-split:not(.lpv-split--flow) .pb-s4 .dvl{grid-template-columns:minmax(0,1fr)}
}
@container bc (max-width:640px){
  .pbx .lpv-split .dvl{grid-template-columns:minmax(0,1fr)}
  .pbx .lpv-split .kv2{grid-template-columns:minmax(0,1fr)}
  .pbx .lpv-split .kv2>div:last-child:nth-child(odd){grid-column:auto}
  .pbx .lpv-split .po{grid-template-columns:minmax(0,1fr)}
  .pbx .lpv-split .po-c+.po-c{border-left:0;border-top:1px solid var(--line)}
  .pbx .lpv-split .pw{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;grid-template-rows:none}
  .pbx .lpv-split .pw-r:nth-child(n+6){border-left:0;border-top:1px solid var(--line)}
}

/* TRACE-public_pages-10: the compare page wears the shared overall badge (+mt3RosterOvr) small: the ring and the number only, same sizing rule as the My Team rows (my_team_mt3.css .mt3-ring) */
.pbx .pb-slot .mt3-ring,.pbx .pb-pk .mt3-ring,.pbx .pb-rp .mt3-ring{flex:none;display:inline-grid;place-items:center}
.pbx .pb-slot .ptg.mt3-ring .ov3{--d:64px}
.pbx .pb-pk .ptg.mt3-ring .ov3,.pbx .pb-rp .ptg.mt3-ring .ov3{--d:44px}
.pbx .pb-slot .ptg.mt3-ring .ov3-o,.pbx .pb-pk .ptg.mt3-ring .ov3-o,.pbx .pb-rp .ptg.mt3-ring .ov3-o{display:none}
.pbx .pb-slot .ptg.mt3-ring .ov3-n,.pbx .pb-pk .ptg.mt3-ring .ov3-n,.pbx .pb-rp .ptg.mt3-ring .ov3-n{transform:none;font-size:calc(var(--d) * .45)}
