.profile-character-linking { margin-top: .65rem; padding-top: .65rem; border-top: 1px solid var(--line, #66758a); }
.profile-settings-panel .profile-character-linking > button { width: auto; padding: .35rem 0; border: 0; background: transparent; color: var(--muted, #b9c8d3); font: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.profile-settings-panel .profile-character-linking > button:hover { color: var(--white, #fff); }
.character-link-dialog { box-sizing: border-box; width: min(44rem, calc(100vw - 2rem)); max-height: 85vh; margin: auto; padding: 1.25rem; overflow: auto; border: 1px solid var(--blue, #3d85c6); border-radius: .65rem; color: var(--white, #fff); background: var(--slate, #243341); font-family: var(--font, Saira, Arial, sans-serif); }
.character-link-dialog:not([open]) { display: none; }
.character-link-dialog::backdrop { background: rgb(0 0 0 / .65); }
.recovery-dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.recovery-dialog-heading h2 { margin: 0; font: 600 1.25rem var(--display, Arial, sans-serif); }
.recovery-dialog-heading button, .character-link-dialog button { cursor: pointer; }
.recovery-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 1rem 0; }
.recovery-controls > label:first-child { flex: 1 1 18rem; }
.recovery-controls input[type="search"] { display: block; width: 100%; box-sizing: border-box; margin-top: .35rem; padding: .65rem; font: inherit; }
.recovery-toggle { display: flex; align-items: center; gap: .4rem; }
.recovery-list { list-style: none; padding: 0; margin: 0; }
.recovery-list li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid #66758a; }
.recovery-list li > div { min-width: 0; overflow-wrap: anywhere; }
.recovery-list li p { margin: .3rem 0 0; font-size: .9em; }
.recovery-list button { flex-shrink: 0; padding: .65rem; }
.recovery-name-button { margin-left: .5rem; }
@media (max-width: 520px) { .recovery-list li { align-items: stretch; flex-direction: column; } }
