.player-avatar{display:block;object-fit:cover;border-radius:50%;width:64px;height:64px;background:#394a3d;border:2px solid #8e6a42}
#app .talent-level-track{display:grid;grid-template-columns:minmax(0,1fr) 110px;column-gap:24px;align-items:center}
#app .talent-level-track>.talent-progress-content{display:block;min-width:0;letter-spacing:normal;font-weight:400}
.talent-progress-content>div{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:700;letter-spacing:.07em}
#app .talent-level-track>.talent-player-profile{display:flex;flex-direction:column;align-items:center;gap:6px;letter-spacing:normal}
.talent-player-profile .player-avatar{width:74px;height:74px}
.avatar-change,.map-message-link{padding:2px 3px;border:0;background:transparent;color:#793c28;font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.avatar-change:focus-visible,.map-message-link:focus-visible{outline:2px solid #8d512e;outline-offset:3px}
.leaderboard-table .leaderboard-avatar-cell{width:62px;padding:8px 10px;text-align:center}
.leaderboard-avatar-cell .player-avatar{width:38px;height:38px;margin:auto}
#app .map-selection{max-width:calc(100% - 24px)}
.map-player-profile{display:flex;flex-direction:column;align-items:center;gap:4px;margin:9px auto 5px}
.map-player-profile .player-avatar{width:52px;height:52px}
.map-player-profile small{font-size:10px;color:#674934}
.player-dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#09130fc7;z-index:1500}
.player-dialog{position:relative;width:min(700px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:26px;color:#573c28;border:1px solid #bc9655;border-radius:8px;background:#efdab2 url('/assets/empire-parchment.webp') center/cover;box-shadow:0 18px 60px #0009}
.player-dialog h2{margin:0 40px 12px 0;font:500 26px Cinzel,Georgia,serif}.player-dialog>p{font-size:13px;line-height:1.5}
.player-dialog-close{position:absolute;right:12px;top:12px;width:32px;height:32px;border:1px solid #af8251;background:#f4e2bf;color:#614129;font-size:23px;cursor:pointer}
.avatar-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:20px}
.avatar-choice{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:9px 4px;border:1px solid transparent;border-radius:7px;background:#fff3d74d;color:#5c4029;cursor:pointer}
.avatar-choice span{font-size:10px}.avatar-choice .player-avatar{width:72px;height:72px}
.avatar-choice.selected{border:2px solid #8f4c2f;background:#d5b17b88}.avatar-choice:hover,.avatar-choice:focus-visible{outline:2px solid #ad7543;outline-offset:1px;background:#f9e9c6}
.player-dialog-error{color:#982c24;font-size:13px}.message-compose-dialog{max-width:500px}
.message-compose-dialog label{display:grid;gap:5px;margin:14px 0;font-size:12px;font-weight:700}
.message-compose-dialog input,.message-compose-dialog textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #ad8057;background:#fff5df;color:#4e3726;font:14px Arial,sans-serif}.message-compose-dialog textarea{resize:vertical;min-height:130px}
.player-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.player-dialog-actions button{min-height:38px;padding:8px 14px;border:1px solid #a46c48;background:#f1debc;color:#643e27;cursor:pointer}.player-dialog-actions .primary{width:auto;margin:0;background:#9f5b38;color:#fff5de}
.message-scroll-body>p{white-space:pre-wrap;overflow-wrap:anywhere}
body.game-page #app .message-compose-dialog label{color:#64432d}
/* The simulator title and national ornament are printed on the same parchment. */
body.game-page #app .simulator-panel>h1{border:0;border-radius:0;background:none;box-shadow:none;filter:none;text-shadow:none;color:#68422a;max-width:none;margin:0 0 10px;padding:12px 20px 0;font:500 clamp(30px,4vw,42px) Cinzel,Georgia,serif;text-align:center}
body.game-page #app .simulator-panel>h1::before{content:none}
body.game-page #app .simulator-panel>h1::after{content:'';display:block;position:static;width:var(--simulator-ornament-width,32px);height:var(--simulator-ornament-height,32px);margin:8px auto 0;background:var(--ornament-line,var(--nation-line,url('/assets/bulgarian-embroidery-line.svg'))) center/var(--simulator-ornament-size,96px 32px) no-repeat;box-shadow:none;filter:none;text-shadow:none;pointer-events:none}
body.game-page[data-game-nation="Romans"] .simulator-panel{--simulator-ornament-width:50px;--simulator-ornament-height:18px;--simulator-ornament-size:96px 18px}
body.game-page[data-game-nation="Greeks"] .simulator-panel{--simulator-ornament-width:34px;--simulator-ornament-height:20px;--simulator-ornament-size:34px 20px}
.formation-slot.occupied,.formation-palette-unit{touch-action:none}.formation-slot.occupied{cursor:grab}.formation-slot.occupied:active{cursor:grabbing}.formation-slot.drop-target{outline:3px solid #b76c2e;outline-offset:-3px}
.formation-drag-preview{position:fixed;z-index:1600;width:68px;height:68px;border:2px solid #e8c67b;box-shadow:0 6px 18px #0008;object-fit:cover;pointer-events:none;transform:translate(-50%,-65%)}
.formation-palette-empty{font-size:12px;color:#6d4930}
@media(max-width:600px){#app .talent-level-track{grid-template-columns:minmax(0,1fr) 80px;gap:12px;padding:13px}.talent-progress-content>div{flex-direction:column;gap:4px}.talent-player-profile .player-avatar{width:58px;height:58px}.avatar-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.avatar-choice .player-avatar{width:55px;height:55px}.player-dialog{padding:20px 14px}.avatar-choice span{font-size:9px}}
