/* Player rows and source-preserving, recolorable illustrated avatars. */
.player-avatar-image{display:block;width:100%;height:100%;object-fit:contain}
.player-avatar-image[hidden]{display:none!important}
.player-avatar-human{position:relative;display:block;width:100%;height:100%}
.player-avatar-emoji{display:inline-grid;place-items:center;width:100%;height:100%;line-height:1}
.quest-home-avatar,.player-emblem{flex:none;overflow:hidden}
body.shared-canvas .cozy-players{--player-ink:#382c24;--player-muted:#76634f;--player-paper:#f0e6d3;--player-gold:#b89453;max-width:660px;padding:clamp(16px,4vw,28px);background:linear-gradient(125deg,#443023,#2c221b);border:1px solid #9e7e4b;border-radius:24px;box-shadow:inset 0 1px #e5c58644,0 18px 45px #0004;color:#f4e8d2}
body.shared-canvas .cozy-players .players-heading{justify-content:center;text-align:center;margin:6px 0 24px}
body.shared-canvas .cozy-players h1{font:500 clamp(24px,5vw,32px)/1.2 Georgia,serif;margin:0 0 10px;color:#f5ead5}
body.shared-canvas .cozy-players .player-roster{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:0 0 18px}
body.shared-canvas .cozy-players .player-card{margin:0;padding:16px;background:linear-gradient(130deg,#f6eddb,#e7d7bb);color:var(--player-ink);border:1px solid #c6ac7b;border-radius:18px;box-shadow:0 5px 12px #0002,inset 0 1px #fff8}
body.shared-canvas .cozy-players .player-row{display:grid;grid-template-columns:76px minmax(0,1fr) 76px;align-items:center;gap:12px}
body.shared-canvas #main .cozy-players .player-row>button{display:grid;place-items:center;min-width:0;min-height:76px;margin:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;color:var(--player-ink)!important;cursor:pointer}
body.shared-canvas #main .cozy-players .player-row>button:focus-visible{outline:3px solid #226e79;outline-offset:3px}
body.shared-canvas .cozy-players .player-emblem{display:block;width:76px;height:76px;font-size:46px;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;box-sizing:border-box}
body.shared-canvas .cozy-players .player-name-edit{text-align:center;overflow-wrap:anywhere}
body.shared-canvas .cozy-players .player-name-edit strong{font-size:19px;line-height:1.4;max-width:100%}
body.shared-canvas #main .cozy-players .player-row>.player-check{font-size:34px;color:#797b76!important}
body.shared-canvas #main .cozy-players .player-row>.player-check[aria-pressed=true]{color:#23733d!important}
@media(max-width:360px){body.shared-canvas .cozy-players .player-row{grid-template-columns:56px minmax(0,1fr) 56px;gap:8px}body.shared-canvas .cozy-players .player-emblem{width:56px;height:56px;font-size:38px}body.shared-canvas #main .cozy-players .player-row>button{min-height:56px}}
body.shared-canvas .cozy-players .player-inline-editor{margin-top:16px;padding-top:16px;border-top:1px solid #c9b58e}
body.shared-canvas .cozy-players :is(.player-inline-editor,.player-editor)>label{display:block;margin-bottom:8px;font-weight:650;font-size:14px;color:#443627}
body.shared-canvas .cozy-players :is(.player-inline-editor,.player-editor)>input{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #bba17a;border-radius:10px;background:#fffaf0;color:#3b2c20;font-size:18px;padding:10px 12px}
body.shared-canvas .cozy-players .player-editor{padding:18px;border:1px solid #c6ac7b;border-radius:18px;background:var(--player-paper);color:var(--player-ink);margin-bottom:18px}
body.shared-canvas .cozy-players .player-editor-head{justify-content:space-between;margin-bottom:14px}
body.shared-canvas .cozy-players .player-editor h2{font-size:20px;color:#443627;margin:0}
.player-editor-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
body.shared-canvas .cozy-players .player-editor-actions button{flex:1;min-width:96px;min-height:46px;background:#59412e;color:#fff5df;border:1px solid #a2875d;border-radius:10px}
body.shared-canvas .cozy-players .player-actions{margin:0;display:flex}
body.shared-canvas .cozy-players .player-add{width:100%;min-height:50px;border:1px dashed #ba9b66;border-radius:14px;background:#4a3827;color:#f3e4c6}
.players-local-note{font-size:11px;text-align:center;color:#c8b392;line-height:1.6;margin:18px 0 0}
body.shared-canvas .cozy-first-player{max-width:500px;margin:auto}
body.shared-canvas .cozy-first-player #playerSetupForm{box-sizing:border-box;padding:clamp(16px,4vw,24px);border-radius:22px;background:linear-gradient(130deg,#f7edda,#e8d9bc);border:1px solid #c7a46c;box-shadow:0 12px 30px #0003,inset 0 1px #fff8;text-align:start}
body.shared-canvas .cozy-first-player #playerSetupForm>label{font-weight:650;color:#443627;margin:0;font-size:14px;text-align:start}
body.shared-canvas :is(#playerSetupForm,.player-inline-editor,.player-editor) .player-avatar-picker.avatar-choices{display:block!important;grid-template-columns:none!important;width:100%;margin:18px 0 0!important;color:#3c3024}
.player-avatar-picker .avatar-picker-title{font:650 16px/1.4 system-ui,sans-serif;color:#443627;margin:0 0 14px;text-align:start}
.player-avatar-picker .avatar-choice-group{margin:0 0 18px;padding:0}
.player-avatar-picker .avatar-choice-group h3{font:600 12px/1.5 system-ui,sans-serif;color:#776044;margin:0 0 9px;text-align:start;letter-spacing:.03em}
.player-avatar-picker .avatar-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.player-avatar-picker .avatar-humans{grid-template-columns:repeat(2,minmax(0,1fr));max-width:280px;margin:0 auto}
body.shared-canvas #main .player-avatar-picker .avatar-choice{position:relative;display:grid;justify-items:center;align-content:center;gap:4px;width:100%;min-width:0;min-height:70px;padding:8px 4px 7px;border:1px solid #cbb48a;border-radius:14px;background:#fff9eb;color:#453326;font-size:28px;box-sizing:border-box;box-shadow:inset 0 1px #fff}
body.shared-canvas #main .player-avatar-picker .avatar-choice[aria-pressed=true]{border:2px solid #987335;background:#ead5a9;box-shadow:0 0 0 2px #b89b5f4d,inset 0 1px #fff9;padding:7px 3px 6px}
body.shared-canvas #main .player-avatar-picker .avatar-choice:focus-visible{outline:3px solid #226e79;outline-offset:3px}
.avatar-choice-art{display:block;width:100%;aspect-ratio:1;max-width:76px;line-height:1}
.avatar-humans .avatar-choice-art{max-width:88px}
.avatar-choice-label{font:500 10px/1.3 system-ui,sans-serif;color:#614b32;text-align:center;overflow-wrap:anywhere}
.avatar-choice-tick{position:absolute;top:4px;inset-inline-end:5px;width:16px;height:16px;line-height:16px;border-radius:50%;background:#7d642f;color:#fff9e6;font-size:11px;visibility:hidden}
.avatar-choice[aria-pressed=true] .avatar-choice-tick{visibility:visible}
.avatar-customizer{margin:0 0 20px;padding:14px;background:#e5d4b5;border:1px solid #c8af80;border-radius:16px}
.avatar-customizer-heading{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px;text-align:start}
.avatar-customizer-preview{display:block;width:100px;height:100px;flex:none}
.avatar-customizer-heading strong{font-size:15px;color:#473321}
.avatar-customizer-heading p{font-size:11px;line-height:1.5;margin:5px 0 0;color:#776047;max-width:160px}
.avatar-color-field{border:0;padding:0;margin:12px 0 0;min-width:0}
.avatar-color-field legend{font-size:12px;font-weight:650;color:#634a31;padding:0 0 8px}
.avatar-color-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
body.shared-canvas #main .avatar-color-options .avatar-color-choice{display:grid;justify-items:center;align-content:start;gap:5px;min-width:0;min-height:58px;padding:6px 2px;border:1px solid #bca27a;border-color:#bca27a!important;background:#fff8e9!important;color:#544029!important;border-radius:9px;box-shadow:none}
.avatar-color-choice>span{display:block;width:23px;height:23px;border-radius:50%;border:1px solid #0002;box-shadow:inset 0 1px #fff5}
.avatar-color-choice small{font-size:10px;line-height:1.3;overflow-wrap:anywhere}
body.shared-canvas #main .avatar-color-options .avatar-color-choice[aria-pressed=true]{border:2px solid #806329;border-color:#806329!important;padding:5px 1px;box-shadow:0 0 0 1px #80632933;background:#f6e6c5!important}
body.shared-canvas #main .avatar-color-options .avatar-color-choice:focus-visible{outline:3px solid #226e79;outline-offset:2px}
.avatar-custom-color{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0!important;font-size:12px!important;color:#5e472e}
.avatar-custom-color input[type=color]{width:54px!important;height:44px;min-height:44px!important;padding:3px!important;background:#fff8e9!important;border:1px solid #bca27a;border-radius:9px;cursor:pointer}
.avatar-classics{margin-top:6px;padding-top:12px;border-top:1px solid #cab792;color:#6f5b41}
.avatar-classics summary{font-size:12px;min-height:36px;cursor:pointer}
.avatar-classics .avatar-choice-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
body.shared-canvas .avatar-classics .avatar-classic{min-height:44px;border-radius:9px;font-size:24px;padding:4px}
@media(min-width:520px){.avatar-color-options{grid-template-columns:repeat(auto-fit,minmax(66px,1fr))}.scarf-color-options{grid-template-columns:repeat(auto-fit,minmax(66px,1fr))}.avatar-customizer-preview{width:112px;height:112px}.avatar-choice-label{font-size:11px}}
@media(max-width:360px){body.shared-canvas .cozy-players{padding:14px;border-radius:18px}body.shared-canvas .cozy-players .player-card{padding:12px}.player-avatar-picker .avatar-choice-grid{gap:6px}.avatar-choice-label{font-size:10px}.avatar-customizer{padding:10px}.avatar-customizer-preview{width:84px;height:84px}.avatar-classics .avatar-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:no-preference){.player-avatar-picker .avatar-choice{transition:background-color .12s,border-color .12s}.player-avatar-picker .avatar-choice:hover{background:#f1e1c3}}

/* All saved avatar identities display a name initial or a neutral book. */
.player-avatar-tile{display:grid;place-items:center;box-sizing:border-box;width:100%;height:100%;border:1px solid #bca071;border-radius:50%;background:#f2e4cb;color:#4d3623;overflow:hidden}
.player-avatar-initial{display:block;font-family:inherit;font-size:1em;font-weight:650;line-height:1.2;text-align:center;max-width:100%}
.player-avatar-book{display:block;width:65%;height:65%}
.player-avatar-picker .avatar-initial-preview{display:block;width:88px;height:88px;margin:0 auto;font-size:48px;line-height:1}
.player-avatar-picker .avatar-initial-preview:focus-visible{outline:3px solid #226e79;outline-offset:4px;border-radius:50%}
.player-avatar-picker .avatar-initial-description{font-size:14px;line-height:1.7;color:#614b32;text-align:center;margin:14px 0 0}
