.roster-count{margin:20px 0}.roster-card-art{height:310px;display:flex;justify-content:center;align-items:flex-start;overflow:hidden;background:var(--raised)}.roster-window{display:block;position:relative;overflow:hidden;max-width:100%;width:100%;margin:auto;background:#e1d6c2}.roster-window img{position:absolute!important;width:var(--rw)!important;height:var(--rh)!important;left:var(--rx);top:var(--ry);max-width:none!important;max-height:none!important;object-fit:fill!important;transform:none!important;margin:0!important;opacity:1!important}.roster-card-art .roster-window{width:100%}.roster-card .copy{padding:24px}.roster-card h3{font:27px/1.15 var(--serif);margin:8px 0 15px}.roster-card .roster-age{font-size:13px;color:var(--ink)}.roster-open{display:block;margin-top:20px;font-size:12px;color:var(--accent)}.roster-head{grid-template-columns:minmax(280px,.85fr) minmax(300px,1fr);align-items:start;gap:44px}.roster-stage{background:var(--panel);border:1px solid var(--line);max-width:600px;margin:auto}.roster-title{text-align:center;padding:28px 16px 22px;border-bottom:1px solid var(--line);background:var(--panel)}.roster-title span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.roster-title h2{font:30px/1.1 var(--serif);margin:12px 0;color:var(--ink)}.roster-title p{font-size:12px;color:var(--muted)}.roster-enlarge{display:block;padding:0;width:100%;border:0;border-radius:0;background:#dfd3b9}.roster-enlarge .roster-window{max-width:450px}.roster-stage figcaption{font-size:12px;line-height:1.6;padding:17px;background:var(--panel)}.roster-life-label{margin:25px 0 12px}.roster-options{display:flex;gap:8px;flex-wrap:wrap}.roster-options button{padding:11px 14px;border:1px solid var(--line);text-align:left;font-size:12px}.roster-options button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.roster-options small{display:block;font-size:10px;margin-top:6px;opacity:.8}.roster-ledger{margin:45px 0;border:1px solid var(--line);padding:22px;background:var(--panel)}.roster-ledger summary{font:25px/1.3 var(--serif);cursor:pointer}.roster-ledger summary span{display:inline-block;margin-left:14px;font:10px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.roster-ledger>p{margin-top:22px;line-height:1.7}.roster-table-wrap{overflow:auto;margin-top:22px}.roster-ledger table{width:100%;border-collapse:collapse;font-size:12px;min-width:620px}.roster-ledger th{text-align:left;color:var(--accent);font-weight:500}.roster-ledger :is(td,th){padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:top}.roster-ledger td:first-child{font-family:var(--serif);font-size:17px}.roster-lightbox{max-width:520px;margin:auto}.roster-lightbox .roster-window{max-height:none}.roster-missing{display:grid;place-items:center;min-height:250px;color:var(--muted);font-size:13px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:760px){.roster-head{grid-template-columns:1fr;gap:30px}.roster-card-art{height:270px}.roster-title h2{font-size:26px}.roster-ledger{padding:17px}.roster-ledger summary span{display:block;margin:10px 0 0}.roster-enlarge .roster-window{max-width:340px}}
.atlas-image-grid{margin-top:24px}.gallery button small{display:block;margin-top:8px;font-size:11px;line-height:1.5;color:var(--muted)}.journey-stop h2{margin:12px 0}.journey-stop>.date{margin:10px 0}.journey-stop>.small{margin:18px 0}.roster-presence{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:12px 0}.scope-summary{margin:28px 0}.scope-summary li{padding:8px 0}.person-ref-kind{display:block;font:11px var(--sans);color:var(--accent);margin-bottom:8px}
.family-portrait{width:108px;height:136px;overflow:hidden;margin:0 auto 16px;border-radius:3px}.family-portrait .roster-window{width:100%;height:100%;display:block}.family-person>span{display:block}
.journey-portraits{display:flex;gap:14px;margin:16px 0;flex-wrap:wrap}.journey-portraits>a{width:120px;font-size:11px}.journey-portraits .roster-window{height:155px}.journey-portraits a>span:last-child{display:block;margin-top:8px}
