.roster-summary{gap:var(--space-5) var(--space-6);padding:var(--pad-panel);background:var(--stone);border:1px solid var(--edge);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.roster-counts{gap:var(--space-5);flex-wrap:wrap;margin:0;display:flex}.roster-counts div{gap:var(--space-1);padding-left:var(--space-3);border-left:2px solid var(--edge-2);display:grid}.roster-counts dt{align-items:center;gap:var(--space-2);color:var(--text);font:700 var(--fs-xs)/1.2 var(--cond);letter-spacing:var(--track-ui);text-transform:uppercase;display:flex}.roster-counts dt .role-icon{width:16px;height:16px}.roster-counts dd{color:var(--role-color,var(--text));font:700 var(--fs-h2)/1 var(--cond);margin:0}.roster-spread{gap:var(--space-3);min-width:0;display:grid}.roster-bar{background:var(--night);height:10px;display:flex;overflow:hidden}.roster-bar i{min-width:4px;display:block}.roster-legend{gap:var(--space-2) var(--space-4);font-size:var(--fs-dense);color:var(--text-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.roster-legend li{align-items:center;gap:var(--space-1);display:inline-flex}.roster-legend .class-icon{border-radius:var(--radius-sm);width:18px;height:18px}.roster-legend b{color:var(--text)}.roster-board{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;display:grid}.roster-column{gap:var(--space-1);padding:var(--space-3) var(--space-3) var(--space-4);background:var(--sink);border:1px solid var(--edge);border-top:2px solid var(--edge-2);display:grid;container-type:inline-size}.roster-row{align-items:start;gap:var(--space-2);padding:var(--space-2);border:1px solid #0000;grid-template-columns:38px minmax(0,1fr) 28px;display:grid;position:relative}.roster-who{min-width:0;display:grid}.roster-name{align-items:center;gap:0 var(--space-2);min-width:0;display:flex}.roster-name strong{overflow-wrap:anywhere;min-width:0;font:700 var(--fs-lg)/1.25 var(--cond);letter-spacing:var(--track-head)}.roster-name strong a{text-decoration:none}.roster-name strong a:hover{text-decoration:underline}.roster-note{padding:0 var(--space-1);border:1px solid var(--edge-2);border-radius:var(--radius-sm);color:var(--text-3);font:700 var(--fs-2xs)/1.5 var(--cond);letter-spacing:var(--track-ui);text-transform:uppercase;flex:none}.roster-raid-mark{z-index:2;flex:none;display:inline-flex;position:relative}.roster-raids a{gap:var(--space-2);padding-inline:var(--space-3) var(--space-3)}.roster-legend .class-word{font-weight:600}.roster-spec{overflow-wrap:anywhere;color:var(--text-3);font-size:var(--fs-sm);grid-template-rows:minmax(1.4em,auto) minmax(1.4em,auto);align-items:start;display:grid}.roster-main-spec{color:var(--text-2);line-height:1.4}.roster-spec .roster-offspec-inline{align-items:center;gap:var(--space-1);flex-wrap:nowrap;min-width:0;line-height:1.4;display:inline-flex}.roster-spec .roster-offspec-inline abbr{color:var(--text-3);font:700 var(--fs-2xs)/1 var(--cond);letter-spacing:var(--track-ui);text-decoration:none}.roster-spec .roster-offspec-inline .spec-icon{border-radius:var(--radius-sm);opacity:.8;width:14px;height:14px}.roster-row .race-portrait{object-fit:cover;border:1px solid var(--edge-2);border-radius:50%;width:28px;height:28px}.roster-alt-list{gap:var(--space-1);margin-top:var(--space-1);display:grid}@media (max-width:1100px){.roster-summary{grid-template-columns:1fr}}@media (max-width:760px){.roster-counts{gap:var(--space-4)}}@media (max-width:600px){.roster-counts{gap:var(--space-3) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.roster-counts>div{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.roster-counts dt{min-width:0}.roster-counts dt .role-icon{flex:none}.roster-counts dd{font-variant-numeric:tabular-nums;flex:none}.roster-counts>div:first-child{justify-content:flex-start;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);grid-column:1/-1}.roster-counts>div:first-child dd{order:-1}.roster-counts>div:not(:first-child) dd{font-size:var(--fs-xl)}}.roster-alts-trigger{z-index:2;align-items:center;gap:var(--space-1);padding:0 var(--space-1);border:1px solid var(--edge-2);border-radius:var(--radius-sm);background:var(--stone-2);color:var(--text-2);font:600 var(--fs-xs)/1.5 var(--body);cursor:pointer;white-space:nowrap;flex:none;display:inline-flex;position:relative}.roster-alts-trigger:hover{background:var(--stone-3);color:var(--text)}.roster-alts-trigger .ui-icon{width:12px;height:12px}.roster-alts-trigger:after{content:"";inset:calc((100% - var(--control-sm)) / 2) calc(-1 * var(--space-1));position:absolute}@media (pointer:coarse){.roster-alts-trigger:after{inset-block:calc((100% - var(--control-md)) / 2)}}@container (max-width:270px){.roster-alts-word{display:none}}.roster-alts-heading{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 0 var(--space-1) var(--space-2);display:flex}.roster-alts-heading .button{min-height:var(--control-sm);width:var(--control-sm);margin-block:calc(-1 * var(--space-2));padding:var(--space-1)}.roster-alts-dialog{width:min(26rem, calc(100vw - 2 * var(--space-3)));max-height:calc(100dvh - 2 * var(--space-3));overscroll-behavior:contain;padding:var(--space-2) var(--space-2) var(--space-3);border:1px solid var(--edge-2);border-radius:var(--radius-md);background:var(--float-surface);color:var(--text);box-shadow:var(--shadow-3);margin:0;position:fixed;inset:auto;overflow:auto}.roster-alts-dialog::backdrop{background:0 0}.roster-alts-heading h2{color:var(--text-3);font:700 var(--fs-2xs)/1.5 var(--cond);letter-spacing:var(--track-ui);text-transform:uppercase;margin:0}.roster-profile-link:after{content:"";z-index:1;position:absolute;inset:0}.roster-row:has(.roster-profile-link:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
