/* Scoped to the approved rank ceremony; badge and loot ceremonies keep their styles. */
#overlay.ascend { background:#080b12; overflow:auto; }
#overlay.ascend > .stage, #overlay.ascend > .flash { display:none; }
#overlay #rankAscendStage { position:relative; width:min(100%,600px); height:min(680px,100svh); min-height:360px; margin:auto; text-align:center; color:#f2f0fa; }
#rankAscendStage .ascend-heading { position:absolute; top:max(24px,env(safe-area-inset-top)); width:100%; letter-spacing:.32em; font-size:12px; color:#bda6e4; }
#rankAscendStage .ascend-art { position:absolute; inset:60px 0 95px; }
#rankAscendStage canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
#rankAscendStage .ascend-still { position:absolute; width:78%; max-width:390px; max-height:90%; object-fit:contain; inset:0; margin:auto; }
#rankAscendStage .ascend-still[hidden] { display:none; }
#rankAscendStage .ascend-name { position:absolute; bottom:100px; width:100%; font-size:clamp(17px,4vw,24px); font-weight:700; letter-spacing:.04em; }
#rankAscendStage .ascend-detail { position:absolute; bottom:78px; width:100%; color:#9c99ac; font-size:12px; }
#rankAscendStage .ascend-continue { position:absolute; bottom:max(18px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); min-height:44px; min-width:140px; border:1px solid #494055; border-radius:10px; color:#ded6ed; background:#17131f; font:inherit; cursor:pointer; }
