/* Page coordinates only: no flow space, stage, fixed position or smooth slide. */
.pw-character-dock { position:absolute; left:0; top:0; width:144px; height:216px; margin:0; z-index:20; pointer-events:none; --safe-left:env(safe-area-inset-left,0px); --safe-right:env(safe-area-inset-right,0px); --safe-bottom:env(safe-area-inset-bottom,0px); }
.pw-character-trigger { display:block; padding:0; border:0; border-radius:0; background:transparent; cursor:grab; width:100%; height:100%; touch-action:none; pointer-events:auto; user-select:none; -webkit-user-select:none; }
.pw-character-dock[data-dragging="true"] .pw-character-trigger { cursor:grabbing; }
.pw-character-trigger .pw-profile-slot,.pw-player-profile > summary .pw-profile-slot { display:block; flex-shrink:0; width:144px; height:216px; border:0; background:transparent; }
.pw-profile-slot img,.pw-character-trigger img,.pw-character-dialog > img { image-rendering:auto; }
.pw-character-trigger img { width:144px; height:216px; object-fit:contain; }
.pw-character-trigger img { pointer-events:none; -webkit-user-drag:none; }
@media(max-width:700px) {
  .pw-character-dock { width:80px; height:120px; }
  .pw-character-trigger .pw-profile-slot,.pw-character-trigger img { width:80px; height:120px; }
}
.pw-character-trigger:focus-visible,.pw-character-close:focus-visible { outline:3px solid #153e7a; outline-offset:4px; }
.pw-character-dialog { box-sizing:border-box; width:min(480px,calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right))); max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); margin:auto; padding:18px; overflow:auto; border:3px solid #153e7a; border-radius:12px; background:#f7faff; color:#23344a; box-shadow:6px 6px 0 #2f69d0; overscroll-behavior:contain; }
.pw-character-dialog::backdrop { background:rgb(21 40 70 / .65); }
.pw-character-dialog { inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
.pw-character-close { display:block; margin:0 0 12px auto; min-width:88px; min-height:44px; padding:8px 12px; border:2px solid #153e7a; border-radius:4px; color:#153e7a; background:#fff; cursor:pointer; }
.pw-character-dialog > img { width:144px; height:192px; margin:0 auto; object-fit:contain; }
.pw-character-dialog .pw-profile-content { margin:16px 0 0; padding:16px; }
.pw-character-dialog h3 { overflow-wrap:anywhere; }
.pw-profile-stats { margin:16px 0; }
.pw-profile-stats > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:8px; padding:9px 0; border-bottom:1px solid #c8d8f0; }
.pw-profile-stats dt { font-family:'DotGothic16',monospace; color:#153e7a; }
.pw-profile-stats dd { margin:0; overflow-wrap:anywhere; }
@media(prefers-reduced-motion:reduce) {
  .pw-character-dock *,.pw-character-dialog { animation:none!important; transition:none!important; }
}
