.divination-scene-slot { position:absolute; inset:0; }
.portrait-ritual-scene { display:flex; align-items:center; justify-content:flex-end; padding:80px 7vw 24px 45%; background:#f6eee4; }
.ritual-still-room { position:absolute; inset:0; z-index:-1; }
.ritual-still-room img { display:block; width:100%; height:100%; object-fit:cover; opacity:.55; }
.ritual-still-portrait { display:block; width:100%; height:auto; max-width:min(480px,calc((100svh - 120px) * .6667)); max-height:100%; margin:0; object-fit:contain; border-radius: 8px; box-shadow: none; }
@media(max-width:700px) {
  .ritual-panel:has(.portrait-ritual-scene) { display:flex; flex-direction:column; padding-top:calc(76px + env(safe-area-inset-top)); }
  .ritual-panel:has(.portrait-ritual-scene) .ritual-stage-wrap { position:relative; inset:auto; flex:1 1 0; min-height:0; }
  .portrait-ritual-scene { padding:0 12px; justify-content:center; align-items:center; }
  .ritual-still-portrait { width:auto; height:100%; max-width:100%; aspect-ratio:2 / 3; box-shadow:none; }
  .ritual-panel:has(.portrait-ritual-scene) .ritual-dialogue { position:relative; left:auto; right:auto; bottom:auto; width:auto; flex:0 1 auto; min-height:0; max-height:calc(100svh - 100px); margin:12px 16px calc(16px + env(safe-area-inset-bottom)); }
}
