/* performance/page.css: /performance/ only (zp-* names; shared pieces live in shared/pages.css). */
.zp-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:12px;margin:-8px 0 30px}
.zp-jump a{color:var(--zp-link);font-weight:600;text-decoration:none}
.zp-jump a:hover{text-decoration:underline;text-underline-offset:3px}

/* A. versus the market: bars around a zero axis, dashed SPY reference */
.zp-vs-sum{font-size:15px;font-weight:700;color:#20382f;margin:0 0 12px}
.zp-bars{list-style:none;margin:0;padding:0}
.zp-bar-row{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);align-items:center;gap:12px;min-height:34px;border-radius:8px;padding:0 6px;outline:0}
.zp-bar-row:hover,.zp-bar-row:focus-visible{background:#f5f8f6}
.zp-bar-row:focus-visible{box-shadow:0 0 0 2px #73ad91}
.zp-bar-name{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;color:#253455}
.zp-bar-name b{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zp-bar-row.is-spy .zp-bar-name b{color:#5c6b78}
.zp-bar-track{position:relative;display:block;height:34px;background:linear-gradient(#c9d3cc,#c9d3cc) 50% 0/1px 100% no-repeat}
.zp-bar-track[style*="--spy"]::after{content:"";position:absolute;top:0;bottom:0;left:var(--spy);border-left:1.5px dashed #8a959e}
.zp-bar{position:absolute;top:10px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 1px #0000001f}
.zp-bar-val{position:absolute;top:9px;font-size:11px;font-weight:700;color:#253455;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:6px}
.zp-bar-val.is-neg{margin:0 6px 0 0}
.zp-bar-read{font-size:12px;color:#50625a;min-height:1.6em;margin:10px 0 0;font-variant-numeric:tabular-nums}
.zp-spy-chip{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#e8edf1;color:#56636f;font-size:8px;font-weight:800;letter-spacing:.2px}

/* tables: keep sr-only text inside the scroll wrapper (absolute children escape overflow otherwise) */
#zp-main .zp-table-wrap{position:relative}
.zp-who{display:inline-flex;align-items:center;gap:8px;text-align:left;vertical-align:middle}
.zp-who-rank{display:inline-block;min-width:22px;font-size:11px;font-weight:700;color:#5d7466}
.zp-who .zp-fam-name{font-size:13px;color:#253455}
.zp-table .zp-who .agent-models{font-size:10px;color:#7c8a95;font-weight:500}
.zp-table tbody th .zp-tag{margin-left:8px}
.zp-table .is-idle .zp-who{opacity:.7}
.zp-table .is-spy th,.zp-table .is-spy td{background:#f6f8fa;color:#56636f}
.zp-table tfoot .is-spy th,.zp-table tfoot .is-spy td{font-weight:600}
.zp-void-note{display:block;font-size:10px;color:#8a96a3;font-weight:500}
.zp-vs{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;border-radius:20px;padding:2px 8px;background:#eef2f5;color:#4f5f6e}
.zp-vs.is-negative{background:#fbeae6;color:#a2463c}
.zp-vs.is-positive{background:#e3f4ec;color:#1c6a52}
.zp-vs>span{font-size:8px}
.zp-days th small{display:block;font-size:10px;color:#9aa6b2}
.zp-daycell>span{display:inline-block;min-width:64px;padding:4px 7px;border-radius:6px;color:#20382f;font-weight:600}
.zp-star{color:#b9820b;font-size:11px;margin-left:3px}
.zp-note{margin:12px 0 0}
.zp-note a{color:var(--zp-link)}
.zp-defs{margin-top:14px}
.zp-defs dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;font-size:12px;line-height:1.6;color:#51616f;margin:0}
.zp-defs dt{font-weight:650;color:#253455}
.zp-defs dd{margin:0}

/* chart card */
#chart .zp-toolbar{justify-content:space-between}
#chart .zp-chips{min-width:0;max-width:100%}

/* awards */
.zp-award-day+.zp-award-day{margin-top:18px}
.zp-more-days{margin-top:16px}
.zp-more-days>summary{margin-bottom:14px}
.zp-award-day h3{font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:#4f625b;margin:0 0 8px}

@media(max-width:560px){
 .zp-jump{justify-content:flex-start;gap:6px 14px;margin:-4px 0 24px}
 .zp-bar-row{grid-template-columns:minmax(0,1fr);gap:0;padding:4px 4px 0}
 .zp-bar-track{height:28px}
 .zp-bar{top:7px;height:13px}
 .zp-bar-val{top:6px}
 .zp-defs dl{grid-template-columns:minmax(0,1fr);gap:2px}
 .zp-defs dd{margin-bottom:6px}
 .zp-table .zp-who .agent-models,.zp-table .zp-who .zp-avatar,.zp-table .zp-who .zp-spy-chip{display:none}
 .zp-table.is-sticky tbody th,.zp-table.is-sticky tfoot th{white-space:normal;min-width:96px;max-width:124px}
 .zp-table .zp-who{gap:4px}
 .zp-table .zp-who-rank{min-width:18px}
 .zp-table tbody th .zp-tag{margin:3px 0 0 22px}
 .zp-table.is-sticky tbody th,.zp-table.is-sticky tfoot th{position:sticky;left:0;z-index:1;background:#fff}
 .zp-table.is-sticky .is-spy th{background:#f6f8fa}
 .zp-daycell>span{min-width:56px}
}

/* B. standings as a list at ≤560 (SPEC §4.3B): # · family · Portfolio · Since start, the rest behind a per-row <details> */
.zp-sl-head,.zp-sl{display:none}
@media(max-width:560px){
 #standings .zp-table-wrap,#standings .zp-scroll-hint{display:none}
 .zp-sl-head,.zp-sl-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 68px;gap:8px;align-items:center}
 .zp-sl-head span{white-space:nowrap}
 .zp-sl-head{font-size:11px;color:#7f8e9f;padding:0 0 8px;border-bottom:1px solid #edf1f7}
 .zp-sl-head span+span,.zp-sl-row>span{text-align:right}
 .zp-sl{display:block;list-style:none;margin:0;padding:0}
 .zp-sl>li{padding:10px 0;border-bottom:1px solid #edf1f7}
 .zp-sl>li:last-child{border-bottom:0}
 .zp-sl>li.is-spy{background:#f6f8fa;margin:0 -8px;padding:10px 8px;border-radius:8px}
 .zp-sl-row{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:#2d4466}
 .zp-sl-row>div{min-width:0}
 .zp-sl .zp-who{display:flex;align-items:flex-start}
 .zp-sl .zp-who-rank{min-width:20px;padding-top:7px}
 .zp-sl .zp-fam-name{font-size:13px;color:#253455}
 .zp-sl .agent-models{font-size:10px;color:#7c8a95;font-weight:500}
 .zp-sl .is-idle .zp-who{opacity:.7}
 .zp-sl .zp-tag{margin:4px 0 0 64px}
 .zp-sl .positive{color:var(--zp-up)}.zp-sl .negative{color:var(--zp-down)}
 .zp-sl details{margin:4px 0 0 64px}
 .zp-sl details[open]>summary{margin-bottom:6px}
 .zp-sl dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;font-size:12px;margin:0;color:#51616f;font-variant-numeric:tabular-nums}
 .zp-sl dt{color:#7f8e9f}
 .zp-sl dd{margin:0}
 .zp-sl dd a{color:var(--zp-link)}
}

/* R2: corrections (banner, per-family links, table that stacks into blocks on phones) */
.zp-fix-banner a{color:inherit;font-weight:650}
.zp-fix-note{display:block;font-size:10px;font-weight:600;color:#8a5a00;text-decoration:none}
.zp-fix-note:hover{text-decoration:underline}
.zp-fixes td,.zp-fixes th{vertical-align:top}
.zp-fixes .zp-fix-day{white-space:nowrap}
.zp-fixes .zp-fix-desc{white-space:normal;min-width:300px;max-width:440px;line-height:1.55;color:#4c5c69}
.zp-fixes .zp-fix-effect{white-space:nowrap}
.zp-fixes .zp-who a{color:var(--ink);font-weight:650;text-decoration:none}
.zp-fixes .zp-who a:hover{color:var(--zp-link);text-decoration:underline}
.zp-tag.is-fix{margin-left:0;background:#fff3dc;color:#8a5a00}
.zp-tag.is-fix.is-void_fill{background:#eceff2;color:#5c6670}
.zp-fixes tr.is-hl>*{background:#fff8e4}
#corrections{scroll-margin-top:90px}
@media(max-width:560px){
 .zp-fixes,.zp-fixes tbody,.zp-fixes tr,.zp-fixes td,.zp-fixes th{display:block;width:auto}
 .zp-fixes thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .zp-fixes tr{padding:12px 0;border-bottom:1px solid #edf1ed}
 .zp-fixes tr:last-child{border-bottom:0}
 .zp-fixes td,.zp-fixes th{border:0!important;padding:2px 0!important;text-align:left!important;position:static!important;background:none}
 .zp-fixes td[data-label]::before{content:attr(data-label);display:inline-block;min-width:118px;font-size:10px;font-weight:650;color:#7a8e80;text-transform:uppercase;letter-spacing:.4px}
 .zp-fixes td.zp-fix-desc{min-width:0;max-width:none}
 .zp-fixes td.zp-fix-desc::before{display:block}
 .zp-fixes .zp-fix-day{font-weight:700;font-size:13px}
 .zp-fixes .zp-who .zp-avatar{display:inline-block!important}
}
