.matrix-panel{margin-bottom:var(--sp-4)}.race-matrix-wrap{overflow-x:auto}.race-matrix{--matrix-min: 860px;width:100%;min-width:var(--matrix-min);border-collapse:collapse;table-layout:auto;font-size:var(--fs-table)}.race-matrix col.race-col{width:1%}.race-matrix thead th:not(:first-child),.race-matrix tbody td{width:calc(100% / var(--matrix-cols, 9))}.race-matrix th,.race-matrix td{padding:7px var(--sp-2);border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.race-matrix thead th{padding:var(--sp-4) var(--sp-1) var(--sp-3);background:var(--bg-raised);font-weight:600;border-bottom:1px solid var(--hairline);vertical-align:bottom}.matrix-class{display:inline-flex;flex-direction:column;align-items:center;gap:6px}.race-matrix tbody th[scope=row]{width:1%;text-align:left;font-weight:600;font-size:var(--fs-body);position:sticky;left:0;z-index:1;padding-left:var(--sp-5);background:var(--bg-panel);box-shadow:inset -1px 0 0 var(--border)}.matrix-race{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--text)}.matrix-race>span{min-width:0}.matrix-race .icon-m{flex:none}.matrix-race:hover{color:var(--link)}.race-matrix tr.matrix-faction th{text-align:left;padding:var(--sp-2) var(--sp-5);font-family:var(--font-heading);font-weight:600;font-size:var(--fs-table);color:var(--link);background:var(--bg-inset)}.race-matrix td+td,.race-matrix th+th,.race-matrix th+td{border-left:1px solid var(--border)}.race-matrix tbody tr:not(.matrix-faction):hover>td,.race-matrix tbody tr:not(.matrix-faction):hover>th[scope=row]{background:var(--bg-hover)}.race-matrix tbody tr>*{transition:background-color .12s}.race-matrix .cell-era{color:var(--text);font-size:13px;line-height:1}.race-matrix td.is-new{background:color-mix(in srgb,var(--action) 14%,transparent)}.race-matrix .flag-unverified{margin-left:4px}.matrix-legend{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;margin:0;padding:var(--sp-3) var(--sp-5) var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-table);color:var(--text-muted)}.matrix-legend li{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 10px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 1px 0 var(--bevel-hi)}.matrix-legend .cell-era{color:var(--text);font-size:13px;line-height:1}.race-note{max-width:var(--prose-max);color:var(--text-muted);margin:0 0 var(--sp-2)}.race-note .source,.race-page .source{white-space:nowrap}.race-faction .section-head{align-items:center;margin-top:var(--sp-6)}.race-faction .section-head h2 .ui-iconlabel{gap:var(--sp-3)}.race-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:var(--sp-4);list-style:none;margin:0;padding:0}.race-card{--rc-name-fs: 19px;--rc-name-lh: 1.25;--rc-ico: 32px;padding:var(--sp-4);gap:var(--sp-4)}.race-card:hover{border-color:var(--hairline)}.race-card-head{display:flex;flex-direction:column;gap:var(--sp-3);color:var(--text)}.race-card-head:hover{text-decoration:none}.race-pair{display:inline-flex;gap:var(--sp-2)}.race-card-title{display:flex;flex-direction:column;min-width:0;min-height:calc(2 * var(--rc-name-lh) * var(--rc-name-fs) + 2px + var(--lh-body) * var(--fs-table))}.race-card-title b{font-family:var(--font-heading);font-size:var(--rc-name-fs);font-weight:700;line-height:var(--rc-name-lh)}.race-card-head:hover b{color:var(--link)}.race-card-meta{margin-top:2px;color:var(--text-muted);font-size:var(--fs-table)}.race-card-figures{padding:var(--sp-3) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.race-card-play{display:flex;flex-direction:column;gap:var(--sp-2)}.race-card-play-t{font-size:var(--fs-table);line-height:1.3;color:var(--text-muted)}.race-card-play ul{display:grid;grid-template-columns:repeat(var(--play-cols, 5),var(--rc-ico));grid-template-rows:repeat(var(--play-rows, 2),var(--rc-ico));grid-auto-rows:var(--rc-ico);gap:var(--sp-1);justify-content:start;align-content:start;list-style:none;margin:0;padding:0}.race-card-play li,.race-card-play li>a{display:block;min-width:0}.race-card-play li>a{line-height:0}@media(hover:hover)and (pointer:fine){.race-card-play li>a:hover{translate:0 calc(-1px * var(--motion-move))}}.race-card-play li>a:focus-visible{outline:none;box-shadow:var(--focus-acc)}@media(max-width:479px){.race-card-head{flex-direction:row;align-items:center}.race-card-title{min-height:0}}.race-portraits{display:inline-flex;gap:var(--sp-2);flex:none;color:var(--border)}.race-band .band-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3)}.race-faction-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 3px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 1px 0 var(--bevel-hi);color:var(--text);font-weight:600}.race-intro>:last-child{margin-bottom:0}.race-intro .lead{margin:0 0 var(--sp-3);max-width:var(--prose-max)}.racial-rows{list-style:none;margin:0;padding:0}.racial-rows>li{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px solid var(--border)}.racial-rows>li:first-child{border-top:0;padding-top:0}.racial-rows>li:last-child{padding-bottom:0}.racial-text{min-width:0}.racial-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3);margin:0 0 var(--sp-1)}.racial-name{font-family:var(--font-heading);font-size:var(--fs-h3);font-weight:600;line-height:1.3}.racial-classes{font-size:var(--fs-table);color:var(--text-muted)}.racial-desc{margin:0;max-width:var(--prose-max);font-size:var(--fs-body);line-height:var(--lh-body)}.cardlinks.race-classes{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}.race-classes+.race-note{margin:var(--sp-4) 0 0;font-size:var(--fs-table)}.race-soon{display:grid;gap:var(--sp-2)}.race-soon .soon-block{margin:0;max-width:none;font-size:var(--fs-table)}@media(max-width:767px){.race-matrix tbody th[scope=row],.race-matrix tr.matrix-faction th{padding-left:var(--sp-4)}.race-matrix tbody th[scope=row]{white-space:normal;font-size:var(--fs-table);line-height:1.25}.matrix-race{gap:var(--sp-2)}.matrix-legend{padding:var(--sp-3) var(--sp-4)}.race-portraits .crest-frame.is-l{--cs: 56px}.racial-rows>li{gap:var(--sp-3)}}.rt-panel{margin-bottom:var(--sp-5)}.rt-note{max-width:var(--prose-max);margin:0;padding:var(--sp-3) var(--sp-4) var(--sp-2);color:var(--text-muted);font-size:var(--fs-table)}.rt-table{width:100%;border-collapse:collapse;font-size:var(--fs-table)}.rt-table thead th{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);color:var(--text-muted);font:600 var(--fs-small) / 1.2 var(--font);letter-spacing:.04em;text-align:left;text-transform:uppercase}.rt-table td,.rt-table th.rt-who{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.rt-race+.rt-race tr:first-child>*{border-top:1px solid var(--hairline)}.rt-who{width:1%;white-space:nowrap;background:var(--bg-raised)}.rt-race-link{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:600}.rt-faction{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--fs-small);font-weight:400}.rt-name{width:16em}.rt-name-row{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:600}.rt-only{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--fs-small)}.rt-name .rt-mark{display:flex;width:fit-content;margin-top:var(--sp-1)}.rt-kind{width:1%;color:var(--text-muted);white-space:nowrap}.rt-effect{line-height:1.5}@media(max-width:767px){.rt-table,.rt-table tbody,.rt-table tr,.rt-table td,.rt-table th.rt-who{display:block;width:auto}.rt-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rt-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border)}.rt-table td{padding:0;border:0}.rt-race+.rt-race tr:first-child>*{border-top:0}.rt-race+.rt-race{border-top:1px solid var(--hairline)}.rt-table th.rt-who{grid-column:1 / -1;margin:calc(-1 * var(--sp-2)) calc(-1 * var(--sp-4)) var(--sp-2);padding:var(--sp-2) var(--sp-4);border:0;border-bottom:1px solid var(--border);white-space:normal;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3)}.rt-faction{margin:0}.rt-name{grid-column:1;min-width:0}.rt-kind{grid-column:2;align-self:start;font-size:var(--fs-small)}.rt-effect{grid-column:1 / -1;margin-top:var(--sp-1);overflow-wrap:anywhere}}
