.class-race-page{display:grid;gap:38px}.roster-section{display:grid;gap:18px;padding:clamp(20px,3vw,30px);background:rgba(83,63,34,.09);border:1px solid rgba(75,58,34,.25);border-radius:12px}.roster-heading{margin:0}.roster-heading>div{display:grid;gap:3px}.roster-heading h2{margin:0}.roster-count{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.class-roster-grid,.race-roster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.race-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-card,.race-card{min-height:150px;padding:20px;background:rgba(255,255,255,.24);border:1px solid rgba(75,58,34,.22);border-radius:9px}.class-card h3,.race-card h3{margin:0 0 14px}.editable-description{margin:0;line-height:1.6;font-style:italic;opacity:.78}.editor-note{padding:18px 20px;border-left:4px solid rgba(75,58,34,.5);background:rgba(83,63,34,.08);line-height:1.6}@media(max-width:1150px){.class-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.class-roster-grid,.race-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.class-roster-grid,.race-roster-grid{grid-template-columns:1fr}.class-card,.race-card{min-height:0}}
.page-document>ul>li>strong{display:block;margin:0 0 14px;text-align:center;font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.2;}
