/* Rilvaris profile dialog (hero picker). */
.rp-backdrop { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 18px; background: rgba(7, 14, 28, .72); backdrop-filter: blur(3px); animation: rp-fade .25s ease-out; }
@keyframes rp-fade { from { opacity: 0; } }
@keyframes rp-rise { from { opacity: 0; translate: 0 18px; } }
.rp-dialog { position: relative; width: min(760px, 100%); max-height: 92dvh; overflow: auto; padding: 30px 32px 26px; background: #fff9ed; color: #142b43; border: 1px solid #cfbc96; box-shadow: 0 30px 60px rgba(0, 0, 0, .45); animation: rp-rise .35s cubic-bezier(.2, .8, .3, 1); }
.rp-close { position: absolute; top: 10px; right: 12px; width: 34px; height: 34px; font-size: 24px; line-height: 1; background: none; border: 0; color: #5f584a; cursor: pointer; }
.rp-eyebrow { color: #927037; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; }
.rp-dialog h2 { margin: 8px 0 6px; font: 800 clamp(26px, 4vw, 36px) 'Fraunces', Georgia, serif; letter-spacing: -.02em; }
.rp-lead { margin: 0 0 16px; font-size: 13px; line-height: 1.6; color: #6a6258; }
.rp-account { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.rp-account div { padding: 9px 12px; background: #fff; border: 1px solid #e1d3b3; min-width: 0; }
.rp-account dt { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #927037; }
.rp-account dd { margin: 3px 0 0; font-size: 13px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 12px; }
.rp-avatar { display: grid; justify-items: center; gap: 6px; padding: 12px 8px; background: #fff; border: 2px solid #e1d3b3; color: inherit; cursor: pointer; transition: translate .2s cubic-bezier(.2, .8, .3, 1), border-color .2s, box-shadow .2s; }
.rp-avatar img { width: 96px; height: 96px; object-fit: cover; border-radius: 50%; border: 3px solid #d3b96e; background: #f0e6cf; }
.rp-avatar b { font-size: 13px; text-align: center; }
.rp-avatar small { font-size: 10px; font-weight: 800; color: #2b8a4f; }
.rp-avatar:hover { translate: 0 -3px; border-color: #b9944e; }
.rp-avatar.selected { border-color: #163958; box-shadow: 0 0 0 3px #ffd35a88, 0 8px 18px rgba(20, 43, 67, .18); }
.rp-note { margin: 16px 0 10px; font-size: 12px; color: #756f62; }
.rp-save { display: block; width: 100%; min-height: 46px; padding: 12px 18px; background: #163958; color: #ffe1a0; border: 0; font-size: 14px; font-weight: 800; cursor: pointer; }
.rp-save:disabled { opacity: .5; cursor: default; }
.rp-error { margin: 8px 0 0; color: #ab3a32; font-size: 12px; font-weight: 700; }
.rp-message { min-height: 18px; margin: 8px 0 0; font-size: 12px; font-weight: 700; color: #2b6a4a; }
.rp-empty { grid-column: 1 / -1; padding: 24px; text-align: center; color: #756f62; }
body.rp-open { overflow: hidden; }
@media (max-width: 560px) { .rp-dialog { padding: 22px 16px; } .rp-account { grid-template-columns: 1fr; } .rp-avatar img { width: 78px; height: 78px; } }
@media (prefers-reduced-motion: reduce) { .rp-backdrop, .rp-dialog { animation: none; } }
