.roster-dialog{color:#d4d4c8;background:#101b20;border:1px solid #a38b5866;width:min(1160px,calc(100vw - 40px));max-height:calc(100dvh - 36px);padding:0;overflow:auto;box-shadow:0 30px 100px #000b}.roster-dialog::backdrop{background:#03090ee8;backdrop-filter:blur(8px)}.roster-header{padding:24px 30px 20px;border-bottom:1px solid #a38b5840;display:flex;align-items:center;justify-content:space-between}.roster-header h2{font:400 27px var(--serif);color:#dfd3b4;margin:9px 0 0}.roster-close{background:none;border:0;font-size:26px;color:#aeb5ac}.roster-layout{display:grid;grid-template-columns:205px minmax(230px,1fr) minmax(290px,1.1fr);height:525px;grid-template-rows:minmax(0,1fr)}.roster-classes{overflow-y:auto;padding:20px 0;border-right:1px solid #a38b5830}.roster-classes button{display:block;width:100%;padding:16px 22px;text-align:left;border:0;border-left:2px solid transparent;background:none}.roster-classes button span{display:block;font:16px var(--serif);color:#c8c9b9}.roster-classes button small{display:block;font-size:10px;color:#8a9897;margin-top:7px}.roster-classes button[aria-pressed=true]{border-left-color:#c6b58c;background:linear-gradient(90deg,#c6b58c17,transparent)}.roster-classes button[aria-pressed=true] span{color:#ead6a7}.roster-portrait{display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 50% 64%,#34555b70,transparent 72%);min-width:0}.roster-portrait img{width:100%;max-height:450px;object-fit:contain;filter:drop-shadow(0 9px 15px #0003)}.roster-appearance-name{position:absolute;bottom:22px;left:0;right:0;text-align:center;font:15px var(--serif);color:#b6c4bf}.roster-description{padding:24px 27px 20px 13px;min-width:0;overflow-y:auto}.roster-description .eyebrow{font-size:10px;letter-spacing:1.3px}.roster-name{font:25px var(--serif);color:#dfd8c0;margin:8px 0 12px}.roster-story{font-size:12px;line-height:1.75;color:#99a69f;margin:0 0 15px}.roster-stats{display:flex;gap:20px;font-size:10px;color:#9faca6;padding:11px 0;border-top:1px solid #a38b582b;border-bottom:1px solid #a38b582b}.roster-stats strong{color:#ddd3b5;font-size:14px;font-weight:500;margin-right:4px}.roster-equipment{margin:15px 0;font-size:11px}.roster-equipment>div{display:grid;grid-template-columns:65px 1fr;gap:10px;margin:7px 0}.roster-equipment dt{color:#85988e}.roster-equipment dd{margin:0;color:#c8c6ae}.roster-skills>div{display:flex;gap:11px;margin:10px 0}.roster-skills kbd{height:23px;min-width:30px;align-self:flex-start;display:grid;place-items:center}.roster-skills p{margin:0}.roster-skills strong{display:block;font-weight:500;font-size:11px;color:#d5d7c5}.roster-skills p span{display:block;font-size:10px;line-height:1.6;color:#94a39b;margin-top:4px}.roster-footer{border-top:1px solid #a38b583a;padding:17px 26px;display:flex;align-items:center;justify-content:space-between;gap:25px}.roster-note{font-size:11px;color:#9aa69f;line-height:1.6;margin:0;max-width:570px}.roster-confirm{margin:0;white-space:nowrap}.roster-dialog [hidden]{display:none!important}#character-button{pointer-events:auto;border:0;background:none;padding:0;text-align:left;cursor:pointer}#character-button strong:after{content:' · C';font-size:9px;color:var(--gold)}.change-class-button{display:block;margin:16px auto 4px}.ability .ability-name{white-space:normal;line-height:1.25;font-size:9px}.inventory-character .warden-portrait{object-fit:contain}.gear-tile img{object-fit:contain}
@media(max-width:950px){.roster-layout{grid-template-columns:170px minmax(190px,1fr) minmax(250px,1.1fr)}.roster-classes button{padding:15px}.roster-description{padding:20px 18px 15px 5px}.roster-stats{gap:10px}}@media(max-width:740px){.roster-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.roster-header{padding:20px}.roster-header h2{font-size:22px}.roster-header .eyebrow{font-size:9px}.roster-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto;height:auto}.roster-classes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-right:0;border-bottom:1px solid #a38b5830;padding:9px}.roster-classes button{padding:12px 7px;text-align:center;border-left:0;border-bottom:2px solid transparent}.roster-classes button span{font-size:12px}.roster-classes button small{display:none}.roster-classes button[aria-pressed=true]{border-left:0;border-bottom-color:var(--gold)}.roster-portrait{height:280px}.roster-portrait img{height:280px;width:300px}.roster-appearance-name{bottom:2px;font-size:12px}.roster-description{padding:23px;overflow-y:visible}.roster-name{font-size:23px}.roster-story{font-size:13px}.roster-skills strong{font-size:12px}.roster-skills p span{font-size:11px}.roster-footer{position:sticky;bottom:0;background:#101b20f5;padding:14px;gap:12px}.roster-note{font-size:10px}.roster-confirm{font-size:11px;padding:11px 14px}}
