/* Reference-style character paper doll, inside the existing MU STEP panel. */
.ce-equipment-stage { position:relative; width:100%; max-width:517px; aspect-ratio:517/390; margin:12px auto 20px; isolation:isolate; background:radial-gradient(ellipse at 50% 48%,#12425b99,#081b2b55 60%,transparent); border-radius:4px; user-select:none; }
.ce-silhouette { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:.3; pointer-events:none; }
.ce-equipment-slot { position:absolute; display:flex; align-items:center; justify-content:center; box-sizing:border-box; border:1px solid #7292a04d; background:#9fbac215; padding:3px; min-width:0; min-height:0; font:10px Arial,sans-serif; color:#a5b9c5; }
.ce-equipment-slot.ce-filled { cursor:help; }
.ce-equipment-slot img { width:100%; height:100%; object-fit:contain; pointer-events:none; }
.ce-equipment-slot:is(:hover,:focus-visible) { background:#65c6df22; border-color:#79d8ed; outline:1px solid #79d8ed; outline-offset:1px; }
.ce-empty-slot { font-size:clamp(7px,2vw,10px); text-align:center; overflow-wrap:anywhere; }
.ce-slot-pet img,.ce-slot-pendant img,.ce-slot-ringLeft img,.ce-slot-ringRight img { max-width:75%; max-height:75%; }
.ce-profile-link { color:#00c3ff; background:none; border:0; font:inherit; padding:0; cursor:pointer; text-align:left; }
.ce-profile-link:is(:hover,:focus-visible) { text-decoration:underline; outline-offset:3px; }
.ce-profile-dialog { width:min(560px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); }
.ce-equipment-slot .pm-art-unavailable { font-size:8px; }

/* Native 190×429 warehouse frame: grid begins at x=15,y=36 and is 160×300. */
.pm-vault-frame { position:relative; width:100%; max-width:342px; aspect-ratio:190/429; margin:20px auto; background:#14181b url('assets/game-ui/newui_msgbox_back.png') center/100% 100%; isolation:isolate; user-select:none; }
.pm-vault-frame::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:2; background:url('assets/game-ui/newui_item_back01-persistent.png') top/100% 14.918% no-repeat,url('assets/game-ui/newui_item_back03.png') bottom/100% 10.49% no-repeat; }
/* Absolute positions avoid background-position percentage arithmetic on the side pieces. */
.pm-vault-frame::after { content:''; position:absolute; left:0; right:0; top:14.918%; height:74.592%; pointer-events:none; z-index:2; background:url('assets/game-ui/newui_item_back02-l.png') left top/11.053% 100% no-repeat,url('assets/game-ui/newui_item_back02-r.png') right top/11.053% 100% no-repeat; }
.pm-vault-title { position:absolute; top:3.4%; left:15%; right:15%; z-index:3; color:#dfd6c4; font:bold clamp(12px,3vw,17px) Arial,sans-serif; text-align:center; text-shadow:0 1px 3px #000; }
.pm-vault-caption { position:absolute; top:83%; left:10%; right:10%; z-index:3; font:10px/1.5 Arial,sans-serif; color:#a7a7a4; text-align:center; }
.pm-vault-frame .pm-vault-grid { position:absolute; left:7.895%; top:8.392%; width:84.211%; height:69.93%; max-width:none; margin:0; border:0; background:transparent; grid-template-columns:repeat(8,minmax(0,1fr)); grid-template-rows:repeat(15,minmax(0,1fr)); }
.pm-vault-frame .pm-cell { min-width:0; min-height:0; border:0; background:url('assets/game-ui/newui_item_box.png') center/100% 100%; }
.pm-vault-frame .pm-vault-item { border:0; border-radius:0; box-shadow:none; padding:2px; display:flex; align-items:center; justify-content:center; background:transparent; cursor:help; }
.pm-vault-frame .pm-vault-item img { width:100%; height:100%; object-fit:contain; pointer-events:none; }
.pm-vault-frame .pm-vault-item:is(:hover,:focus-visible) { outline:1px solid #73d6f5; outline-offset:-1px; background:#69bbcc19; }
.pm-art-unavailable { font-size:8px; color:#c8bba7; text-align:center; }
