.roster-page{isolation:isolate;padding-bottom:96px;position:relative;overflow-x:clip}.page-hero{align-items:center;gap:28px;padding:36px 0 32px;display:flex;position:relative}.page-hero:before{content:"";z-index:-1;opacity:.6;background:linear-gradient(90deg, var(--night-950) 30%, #0409158c 60%, #04091533), url(/art/castle.webp) right 55% / cover;position:absolute;inset:0 -100vw;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.page-hero img{filter:drop-shadow(0 0 28px #38b6ee59);width:112px;height:auto}.page-hero h1{margin-top:6px;font-size:40px}.roster-page .statbar-wrap,.council,.roster-page>.shell>.panel{margin-top:28px}.council{grid-template-columns:1fr 1fr;gap:12px;display:grid}.council .seat.leader{grid-column:1/-1}.seat{text-align:center;align-content:start;justify-items:center;gap:6px;padding:16px 10px;display:grid}.seat .medal{border:2px solid var(--gold-300);background:radial-gradient(circle at 35% 30%, #6fd3ff59, var(--night-800) 70%);width:58px;height:58px;font:var(--weight-bold) 22px/1 var(--font-display);color:var(--gold-100);border-radius:50%;place-items:center;display:grid;box-shadow:0 0 18px #38b6ee40}.seat.leader .medal{width:76px;height:76px;font-size:28px}.seat .role{font:var(--weight-bold) 11px/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-300)}.seat .who-name{font:var(--weight-bold) 17px/1.2 var(--font-display);color:var(--text-primary);overflow-wrap:anywhere}.seat .stats{font-size:var(--text-sm);color:var(--text-muted)}.seat.vacant .medal{color:var(--text-muted);box-shadow:none;background:0 0;border-style:dashed}.seat.vacant .who-name{color:var(--text-muted);font-family:var(--font-ui);font-weight:var(--weight-medium);font-style:italic}@media (width>=900px){.council{grid-template-columns:1.3fr repeat(4,1fr);gap:16px}.council .seat.leader{grid-column:auto}.seat{padding:18px 12px 16px}}.officers{grid-template-columns:1fr;gap:12px;padding:16px 20px 20px;display:grid}@media (width>=640px){.officers{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.officers{grid-template-columns:repeat(4,1fr)}}.officer{border:1px solid var(--border-gold-soft);border-radius:var(--radius-md);background:#0f204080;align-items:center;gap:12px;padding:12px;display:flex}.officer .n{font-weight:var(--weight-semibold);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.officer .s{font-size:var(--text-sm);color:var(--text-muted)}.title-text{color:var(--gold-300)}.roster{container-type:inline-size}.roster-toolbar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 20px;display:flex}.roster-toolbar .field{flex:220px;max-width:300px}.roster-toolbar .chips{flex-wrap:wrap;gap:8px;display:flex}.roster-toolbar .chip{white-space:nowrap;flex:none}.roster-toolbar .spacer{flex:1}.me-btn{border-radius:var(--radius-pill);border:1px solid var(--border-gold);height:34px;color:var(--gold-200);font:var(--weight-semibold) var(--text-sm)/1 var(--font-ui);cursor:pointer;background:#0f204099;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.me-btn:disabled{cursor:default;border-color:var(--border-subtle);color:var(--text-muted)}.r-head,.r-row{grid-template-columns:52px minmax(200px,2.2fr) 76px minmax(150px,1.4fr) 64px 118px 44px;align-items:center;column-gap:12px;padding:0 16px;display:grid}.r-head{border-bottom:1px solid var(--border-subtle);height:42px;font:var(--weight-semibold) var(--text-sm)/1 var(--font-ui);color:var(--text-muted);background:#0409158c}.r-head button{all:unset;cursor:pointer}.r-head button:hover{color:var(--text-primary)}.r-head button:focus-visible{outline:2px solid var(--crystal-300);outline-offset:2px}.r-head [aria-sort] button{color:var(--text-link)}.r-row{border-bottom:1px solid var(--border-subtle);min-height:58px;color:var(--text-secondary)}.r-row:hover{background:var(--bg-row-hover)}.r-row.me{background:var(--bg-row-self);box-shadow:inset 3px 0 0 var(--gold-300)}.r-row.me .idx{color:var(--gold-200);font-weight:var(--weight-bold)}.idx{font-variant-numeric:tabular-nums}.who{align-items:center;gap:12px;min-width:0;display:flex}.who .name{color:var(--text-primary);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.who .rank{display:none}.title-tag{color:var(--gold-200);font:var(--weight-bold) 10px/1.4 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;background:#d9aa4f1f;border:1px solid #ecc9778c;border-radius:3px;flex:none;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.title-tag.leader{border-color:var(--gold-300);background:linear-gradient(#f7e3ad40,#b98a3533)}.you-tag{background:var(--gold-300);color:var(--text-on-gold);font:800 10px/1.4 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;flex:none;padding:2px 7px}.power{gap:5px;display:grid}.power .num{color:var(--text-primary)}.power .bar{background:#9aa6bb26;border-radius:2px;height:3px;overflow:hidden}.power .bar i{background:linear-gradient(90deg, var(--gold-500), var(--gold-200));height:100%;display:block}.seen.stale{color:var(--warn)}.meta{display:none}.pin{all:unset;width:32px;height:32px;color:var(--text-muted);cursor:pointer;opacity:0;border-radius:50%;place-items:center;display:grid}.r-row:hover .pin,.r-row.me .pin,.pin:focus-visible{opacity:1}.pin:focus-visible{outline:2px solid var(--crystal-300)}.r-row.me .pin{color:var(--gold-300)}.pin:hover{color:var(--gold-200);background:#ffffff0f}.empty{text-align:center;color:var(--text-muted);margin:0;padding:28px 20px}.foot{font-size:var(--text-sm);color:var(--text-muted);margin:0;padding:12px 20px}.group-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:18px 20px 10px;display:flex}.group-head .h3{font-size:14px}.group-head .caption{margin-left:auto}@container (width<=640px){.r-head{display:none}.r-row{grid-template-columns:minmax(0,1fr) auto 36px;grid-template-areas:"who power pin""meta power pin";row-gap:2px;min-height:0;padding:10px 14px}.r-row>.idx,.r-row>.rank-cell,.r-row>.level,.r-row>.seen{display:none}.r-row .who{grid-area:who;gap:10px}.r-row .who .rank{min-width:36px;height:22px;font-size:12px;display:inline-grid}.r-row .who .title-tag,.r-row .who .you-tag{display:none}.r-row .meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;grid-area:meta;padding-left:46px;font-size:12px;display:block;overflow:hidden}.meta .title-tag,.meta .you-tag{margin-right:2px;padding:1px 5px;font-size:9px}.r-row .power{text-align:right;grid-area:power;min-width:64px}.r-row .power .bar{display:none}.r-row .pin{opacity:1;grid-area:pin}.roster-toolbar{padding:12px 14px}.roster-toolbar .field{max-width:none}.roster-toolbar .chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -14px;padding:0 14px;overflow-x:auto}.roster-toolbar .spacer{display:none}.group-head{padding:14px 14px 8px}}@media (width<=719px){.page-hero{gap:14px;padding:18px 0 16px}.page-hero img{width:64px}.page-hero h1{font-size:26px}.roster-page .statbar{grid-template-columns:repeat(2,1fr);padding:14px 10px}.roster-page .stat{gap:10px;padding:0 10px}.roster-page .stat:nth-child(odd){border-left:0}.roster-page .stat .value{font-size:19px}.roster-page .stat:nth-child(n+5){display:none}}
