/* agents/family/page.css: the family pages (agents/<animal>/ and agents/family/?id=). zp-* names only.
   Loaded after shared/pages.css. Family colours reuse his card tints (styles.css / live-data.css). */
.zp-head .zp-fam-line{display:block;font-size:12px;margin:-4px 0 10px;color:#6b7a86}
.zp-head .zp-fam-line:empty,.zp-head .zp-lede:empty{display:none}
.zp-crumbs{padding:0 0 18px}
.zp-crumbs-pn{display:flex;flex-wrap:wrap;gap:8px 18px}

/* overview */
.zp-house{margin-bottom:26px}
.zp-house-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:26px;align-items:center}
.zp-house-art{position:relative;max-width:380px;width:100%;justify-self:center}
.zp-house-art .zp-portrait{border-radius:24px}
.zp-house-inset{position:absolute;right:-6px;bottom:-6px}
.zp-house-inset .zp-avatar{border-width:4px;box-shadow:0 6px 18px #24382d1f}
.zp-house-facts{min-width:0;display:flex;flex-direction:column;gap:14px}
.zp-house-facts .zp-note{margin:0}
.zp-house-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.zp-house-badges .zp-tag{margin:0;font-size:11px;padding:3px 10px}
.zp-tag.zp-style{background:#eef3f8;color:#3f5a86}
.zp-house .zp-kpis dd{font-size:19px}

/* jump links */
.zp-jump{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px;margin:0 0 30px;border-bottom:1px solid var(--zp-line);scrollbar-width:thin}
.zp-jump a{flex:none;font-size:12px;font-weight:600;color:#3e514e;text-decoration:none;border:1px solid #dce4df;border-radius:20px;padding:6px 12px;background:#fff}
.zp-jump a:hover{border-color:#9fcfb8;color:var(--zp-link)}

/* residents */
.zp-residents{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:start}
.zp-resident{background:#fff;border:1px solid var(--zp-line);border-radius:17px;padding:16px;min-width:0;scroll-margin-top:96px}
.zp-resident:target,.zp-resident:focus{outline:none;box-shadow:0 0 0 3px #9fcfb8}
.zp-resident-top{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:start}
.zp-resident-top .zp-portrait{border-radius:15px}
.zp-resident-top .zp-portrait .art-draft{right:5px;bottom:5px}
.zp-resident h3{font-size:18px;letter-spacing:-.4px;line-height:1.25;margin:6px 0 2px}
.zp-resident .agent-models{margin:0 0 6px;font-size:11px}
.zp-tag.is-role{margin:0;background:#eef3f7;color:#55657a}
.zp-tag.is-role.is-trader{background:#e3f2ea;color:#1c6a52}
.zp-resident-bio{font-size:13px;line-height:1.6;color:#51616f;margin:0}
.zp-resident-quote{margin:12px 0 0;padding:0 0 0 12px;border-left:3px solid #d8e6de;font:italic 15px/1.55 Georgia,serif;color:#437764}
.zp-resident-status{margin:12px 0 0;font-size:13px;font-weight:650;color:#55657a}
.zp-notebook,.zp-calls{margin:14px 0 0;padding:12px 0 0;border-top:1px solid #eef2ee}
.zp-notebook h4,.zp-calls h4{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#6b7a86;margin:0 0 6px;font-weight:650}
.zp-notebook p{font-size:13px;line-height:1.65;color:#40525e;margin:0 0 8px}
.zp-notebook time{display:block;font-size:11px;font-weight:650;color:#6b7a86}
.zp-notebook details p{color:#5a6a76}
.zp-calls ol{list-style:none;margin:0;padding:0}
.zp-calls li{padding:8px 0;border-bottom:1px solid #f1f4f1}
.zp-calls li:last-child{border-bottom:0}
.zp-calls p{font-size:13px;line-height:1.6;color:#40525e;margin:4px 0 0}
.zp-calls .zp-call-risk{color:#7a6440;font-size:12px}
.zp-call-meta{font-size:11px;color:#6b7a86;font-variant-numeric:tabular-nums}
.zp-call-act{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.4px;padding:1px 7px;border-radius:6px;background:#eef2f5;color:#4f5f6e}
.zp-call-act.is-buy{background:#e6f5ec;color:#1f7a57}
.zp-call-act.is-sell{background:#fbeee8;color:#a3553f}
.zp-resident-town{margin:12px 0 0}

/* holdings */
.zp-alloc{display:flex;gap:2px;height:14px;border-radius:7px;overflow:hidden;margin:0 0 10px}
.zp-alloc span{min-width:3px}
.zp-alloc-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 14px;padding:0;font-size:12px;color:#253d37}
.zp-alloc-legend li{display:flex;align-items:center;gap:6px}
.zp-alloc-legend i,.zp-dot-s{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.zp-dot-s{margin-right:6px;vertical-align:0}
.zp-alloc-legend b{font-weight:700;font-variant-numeric:tabular-nums}
.zp-alloc-legend span{color:#6b7a86;font-variant-numeric:tabular-nums}
.zp-holdings .zp-ticker{color:#1f5f4d}

/* trades, journal, ribbons */
.zp-first{margin:0 0 4px}
#trades .zp-links,#journal .zp-links{margin-top:12px}
.zp-family-journals{grid-template-columns:repeat(3,minmax(0,1fr))}
.zp-award-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,470px),1fr));gap:18px 28px}
.zp-award-day .zp-medals{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.zp-award-day h3{font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:#4f625b;margin:0 0 8px;font-weight:650}

@media(max-width:1150px){.zp-family-journals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
 .zp-house-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .zp-house-art{max-width:300px}
 .zp-family-journals{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
 .zp-house-art{max-width:240px}
 .zp-house .zp-kpis dd{font-size:16px}
 .zp-kpis.zp-kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}
 .zp-residents{grid-template-columns:minmax(0,1fr)}
 .zp-resident{padding:14px}
 .zp-resident-top{grid-template-columns:88px minmax(0,1fr);gap:12px}
 .zp-resident h3{font-size:17px}
 .zp-holdings .zp-wide{display:none}
 /* fit the six remaining columns at 390 without sideways scrolling */
 .zp-holdings th,.zp-holdings td{padding-left:4px;padding-right:4px}
 .zp-holdings thead th{white-space:normal;vertical-align:bottom;line-height:1.25}
 .zp-jump{margin-bottom:24px}
}
.zp-kpis .zp-slash{color:#a3b0a8;font-weight:500}
