/* Keep large selection pools and bulk rewards inside the viewport. */
#rates-dialog[open]{display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;padding:24px}
#rates-dialog>.eyebrow,#rates-dialog>h2,#rates-dialog>p,#rates-done{flex-shrink:0}
#rates-dialog>h2{padding-right:32px;margin:10px 0}
#rates-dialog>.rates-empty{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:12px 0;padding:12px;scrollbar-gutter:stable}
#rates-dialog>.rates-empty p{margin:8px 0}
#rates-close{width:40px;height:40px;z-index:2;cursor:pointer}
#summon-animation[open]{box-sizing:border-box;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
#summon-animation #multi-results{max-height:32vh;overflow-y:auto;overscroll-behavior:contain}
#summon-animation #finish-reveal,#summon-animation #skip-reveal{position:sticky;bottom:0;z-index:3;flex-shrink:0}
#selection-hit{max-width:100%;box-sizing:border-box}
@media(max-height:600px){#rates-dialog[open]{padding:16px}#rates-dialog>h2{font-size:26px}#rates-dialog>p{margin:6px 0}#summon-animation{padding:16px}#reveal-art{width:108px;height:120px;margin:6px auto}}
