/* Shared character art. Its selectors affect only explicit character widgets. */
.roster-avatar{position:relative;display:inline-block;width:64px;aspect-ratio:96/116;flex-shrink:0;isolation:isolate;vertical-align:middle;overflow:visible;pointer-events:none}
.roster-avatar-halo{position:absolute;left:4%;top:19%;width:92%;height:70%;border:1px solid var(--roster-color,#b89f64);border-radius:49% 53% 46% 52%;background:var(--roster-tint,#f4e9c6);box-shadow:0 0 0 3px #fff9e65e;transform:rotate(-9deg);z-index:-1}
.roster-avatar>img{position:absolute!important;left:18.4%!important;top:10.3448%!important;width:63.1944%!important;height:78.4483%!important;max-width:none!important;object-fit:fill!important;margin:0!important;border:0!important;transform:none!important;filter:drop-shadow(1px 2px 0 #27302220)}
.roster-avatar-accents{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.setup-panel.home-console .character-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0;padding:2px 1px 4px}
.setup-panel.home-console .character-choice{--roster-color:var(--character-color,#c4ad77);--roster-tint:var(--character-tint,#fff3db);position:relative;min-width:0;min-height:99px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;padding:5px 3px 8px;border:1.5px solid #d3c5a3;border-radius:9px;background:#fff9e9;box-shadow:0 2px 0 #2633220b;transition:background .15s,border-color .15s,box-shadow .15s}
.setup-panel.home-console .character-choice .roster-avatar{width:min(66px,100%);margin-top:-1px}
.setup-panel.home-console .character-choice>b{position:relative;z-index:2;font-size:11px;font-weight:900;line-height:1.4;white-space:nowrap;letter-spacing:0}
.setup-panel.home-console .character-choice[aria-pressed=true]{border-color:var(--roster-color);background:var(--roster-tint,#f9efd3);box-shadow:0 3px 0 var(--roster-color)}
.setup-panel.home-console .character-choice .character-choice-check{position:absolute;right:3px;top:3px;display:grid;place-items:center;width:14px;height:14px;border:1px solid var(--ink);border-radius:50%;background:var(--roster-color);font-size:9px;color:#fff9dc;opacity:0;z-index:3;line-height:1}
.setup-panel.home-console .character-choice[aria-pressed=true] .character-choice-check{opacity:1}
.setup-panel.home-console .character-choice:focus-visible{outline:3px solid var(--roster-color,#ee8950);outline-offset:3px}
.setup-panel.home-console .character-selection-info{margin-top:9px;padding:10px 11px;border:1px solid #d7c9a8;border-radius:8px;background:#f7f0dc;line-height:1.65}
.setup-panel.home-console .character-selection-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.setup-panel.home-console .character-selection-title>strong{font-size:13px;letter-spacing:0}
.setup-panel.home-console .character-selection-title>small,.setup-panel.home-console .character-selection-title>span{font-size:8px;color:#8b7b59}
.character-specialties{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.character-specialties>span{display:inline-block;padding:2px 6px;border:1px solid #cbbd9c;border-radius:4px;background:#fff8e5;font-size:8px;font-weight:800;line-height:1.3;white-space:nowrap;color:#626a4a}
.setup-panel.home-console .character-selection-info>p{margin:6px 0;font-size:9px;color:#736d52;line-height:1.7}
.setup-panel.home-console .character-selection-skills{display:flex;gap:5px 12px;flex-wrap:wrap;align-items:center;font-size:9px;font-weight:800}
.setup-panel.home-console .character-selection-skills kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-right:4px;border:1px solid #c1b28c;border-bottom-width:2px;border-radius:4px;background:#fffbee;font-size:9px;font-family:inherit;font-weight:900}
.setup-panel.home-console #selectedCharacterDetails{margin-left:auto;padding:4px 7px;border:1px solid #c8bb98;border-radius:5px;background:#fff8e7;font-size:8px;font-weight:900;white-space:nowrap}
.character-stage>.roster-avatar,.character-stage .character-portrait.roster-avatar{position:absolute;left:50%;bottom:3px;width:223px;height:auto;aspect-ratio:96/116;transform:translateX(-50%) rotate(-3deg);filter:none}
.character-stage>.roster-avatar .roster-avatar-halo{display:none}
.ability-role-tab .roster-avatar{width:40px}
.room-player .roster-avatar,.player-slot .roster-avatar,.room-slot .roster-avatar{width:40px}
@media(hover:hover){.setup-panel.home-console .character-choice:hover{border-color:var(--roster-color,#a49872);background:var(--roster-tint,#fff5db);box-shadow:0 3px 0 #2931221a}}
@media(max-width:740px){.setup-panel.home-console .character-selector{gap:5px}.setup-panel.home-console .character-choice{min-height:86px;padding:4px 2px 6px}.setup-panel.home-console .character-choice .roster-avatar{width:min(56px,100%)}.setup-panel.home-console .character-choice>b{font-size:9px}.setup-panel.home-console .character-selection-info{padding:8px 9px;margin-top:8px}.setup-panel.home-console .character-selection-title{gap:5px 7px}.setup-panel.home-console .character-selection-title>strong{font-size:12px}.setup-panel.home-console .character-selection-info>p{font-size:8px}.setup-panel.home-console .character-selection-skills{font-size:8px;gap:4px 8px}.setup-panel.home-console .character-selection-skills kbd{width:16px;min-width:16px;height:16px;font-size:8px}.setup-panel.home-console .character-specialties>span{font-size:7px;padding:2px 4px}.ability-role-tab .roster-avatar{width:38px}}
@media(max-width:620px){.character-stage>.roster-avatar,.character-stage .character-portrait.roster-avatar{width:148px;bottom:0}}
@media(max-width:380px){.setup-panel.home-console .character-selector{gap:4px}.setup-panel.home-console .character-choice{min-height:77px}.setup-panel.home-console .character-choice .roster-avatar{width:min(48px,100%)}.setup-panel.home-console .character-choice>b{font-size:8px}.setup-panel.home-console .character-choice .character-choice-check{width:12px;height:12px;font-size:8px;right:2px;top:2px}.setup-panel.home-console #selectedCharacterDetails{padding:4px 5px;font-size:7px}.character-stage>.roster-avatar,.character-stage .character-portrait.roster-avatar{width:135px}}
@media(prefers-reduced-motion:reduce){.setup-panel.home-console .character-choice{transition:none}}

/* A wrapper keeps the same portrait geometry when panels re-render the kit. */
.character-stage>.character-identity-art{position:absolute;left:50%;bottom:3px;width:223px;aspect-ratio:96/116;transform:translateX(-50%) rotate(-3deg);pointer-events:none}
.character-stage>.character-identity-art>.roster-avatar{display:block;width:100%;height:auto}
.character-stage .roster-avatar-halo{display:none}
.character-person .character-specialties{margin-top:8px;gap:4px}
.character-person .character-specialties>span{font-size:9px;padding:3px 6px;border-color:#bcc8a2;background:#f5f6df}
.character-person .character-trait{padding:8px 0 0;margin-top:9px;border-top:1px dashed #c8bb92;font-size:10px;line-height:1.85;color:#5b6546}
.character-person .character-playstyle{font-size:9px;line-height:1.8;color:#847456;margin-top:7px}
.party-slot>.roster-avatar{width:40px;height:auto;aspect-ratio:96/116;min-width:40px}
.party-slot>div{min-width:0}
.party-slot>div strong{overflow-wrap:anywhere}
.party-slot>div small{white-space:normal;overflow-wrap:break-word;line-height:1.6;margin-left:0}
.setup-panel.home-console .character-selection-info>.character-specialties{margin-top:7px}
@media(max-width:620px){.character-stage>.character-identity-art{width:148px;bottom:0}.character-person .character-specialties{gap:3px;margin-top:7px}.character-person .character-specialties>span{font-size:7px;padding:2px 4px}.character-person .character-trait{font-size:8px;margin-top:7px;padding-top:7px}.character-person .character-playstyle{font-size:8px}}
@media(max-width:380px){.character-stage>.character-identity-art{width:135px}}

.setup-panel.home-console #selectedCharacterDetails{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;font-size:9px}
.party-empty-avatar{display:grid;place-items:center;width:40px;height:48px;flex-shrink:0;border:1px dashed #b5aa89;border-radius:8px;background:#f0ead7;color:#a39676;font-size:24px}
