/* Shared persona picker/editor presentation. Account data stays API-owned. */
.room-persona-dialog { position: relative; }
.chat-room-page .room-persona-dialog { display: flex; flex-direction: column; width: min(352px, calc(100vw - 28px)); min-height: min(460px, calc(100dvh - 48px)); padding: 14px; background: #292c2a; }
.room-persona-dialog .room-persona-select { width: 100%; min-height: 44px; margin-top: auto; border-radius: 16px; background: #29d79e; color: #123529; font-size: 16px; font-weight: 700; }
.room-persona-dialog .room-persona-select:disabled { opacity: .45; cursor: not-allowed; }
.room-persona-dialog #room-persona-add { margin-bottom: 24px; min-height: 46px; border-radius: 14px; font-size: 14px; }
.room-persona-dialog > header { display: flex; align-items: center; justify-content: space-between; }
.room-persona-dialog .dialog__sub { font-size: 11px; margin: 6px 0 14px; }
.room-persona-dialog .room-persona-current { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.room-persona-dialog .room-persona-accounts { overflow: visible; max-height: none; gap: 7px; }
.room-persona-dialog .hint:empty { display: none; }
.persona-account-card { position: relative; border: 1px solid #4a504b; border-radius: 10px; background: #292c2a; }
.persona-account-card.is-selected { border-color: #29d79e; }
.persona-account-card .persona-account-choice { display: flex; align-items: center; gap: 8px; width: 100%; padding: 12px 34px 12px 10px; text-align: left; background: transparent; border: 0; color: #e8ebe8; }
.persona-account-card .persona-choice-avatar { width: 25px; height: 25px; flex: 0 0 25px; border-radius: 50%; background-size: cover; background-position: center; font-size: 11px; }
.persona-account-copy { display: grid; gap: 5px; min-width: 0; }
.persona-account-copy strong { display: flex; gap: 5px; align-items: center; font-size: 12px; font-weight: 500; }
.persona-account-copy em, .persona-default-badge { border-radius: 8px; background: #1b5544; color: #32d8a2; padding: 2px 5px; font-size: 9px; font-style: normal; }
.persona-account-copy small { font-size: 10px; color: #a0a6a2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.persona-account-more { position: absolute; right: 7px; top: 10px; width: 24px; height: 24px; border: 0; background: transparent; color: #c2c7c3; }
.persona-account-menu { position: absolute; z-index: 3; top: 33px; right: 4px; width: 125px; padding: 7px; border-radius: 10px; background: #343835; box-shadow: 0 8px 20px #0007; }
.persona-account-menu button { display: block; width: 100%; padding: 8px; text-align: left; font-size: 11px; background: transparent; color: #ddd; border: 0; }
.persona-account-menu button:disabled { opacity: .3; cursor: not-allowed; }
.persona-account-add { width: 100%; min-height: 34px; margin-top: 12px; border: 0; border-radius: 8px; background: #606165; color: #f1f3f1; font-size: 11px; }
.persona-account-add:disabled { opacity: .45; cursor: not-allowed; }
.room-persona-dialog .persona-account-choice { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; min-height: 86px; padding: 14px; }
.room-persona-dialog .persona-choice-avatar { width: 30px; height: 30px; }
.room-persona-dialog .persona-account-copy { display: contents; }
.room-persona-dialog .persona-account-copy strong { grid-column: 2; padding-right: 22px; font-size: 14px; font-weight: 700; }
.room-persona-dialog .persona-account-copy small { grid-column: 1 / -1; font-size: 13px; }
.persona-edit-layer { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 18px; }
.persona-edit-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #0009; }
.persona-edit-dialog { position: relative; width: min(430px, calc(100vw - 36px)); max-height: calc(100dvh - 36px); overflow: auto; padding: 18px; border-radius: 13px; background: #2a2d2b; color: #e3e7e4; box-shadow: 0 12px 36px #0005; }
.persona-edit-dialog header { display: flex; align-items: center; justify-content: space-between; }
.persona-edit-dialog h2 { margin: 0; font-size: 14px; }
.persona-edit-dialog header button { border: 0; background: transparent; color: #b5beb7; font-size: 22px; }
.persona-edit-sub { margin: 5px 0 20px; font-size: 10px; color: #a7aea9; }
.persona-edit-avatar { position: relative; display: block; width: 54px; height: 54px; margin: 0 auto 14px; cursor: pointer; }
.persona-edit-avatar span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #383c39 center/cover; color: #bbc4bd; font-size: 20px; }
.persona-edit-avatar input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
.persona-edit-avatar i { position: absolute; bottom: 0; right: 0; border-radius: 50%; padding: 2px 5px; background: #2ed9a3; color: #133629; font-size: 11px; pointer-events: none; }
.persona-edit-label { display: grid; gap: 6px; position: relative; margin-top: 12px; font-size: 11px; }
.persona-edit-label em { position: absolute; left: 24px; color: #f06d75; }
.persona-edit-label small { color: #a7aea9; font-size: 10px; }
.persona-edit-label input, .persona-edit-label textarea { box-sizing: border-box; width: 100%; padding: 9px 11px; border: 1px solid #565e58; border-radius: 10px; background: #313632; color: #e4e8e5; font: inherit; }
.persona-edit-label textarea { min-height: 88px; resize: vertical; line-height: 1.5; }
.persona-edit-label :focus { outline: 1px solid #2dd9a2; }
.persona-edit-counter { text-align: right; margin-top: 5px; color: #a7aea9; font-size: 9px; }
.persona-edit-status { font-size: 11px; color: #e5b5ba; }
.persona-edit-status:empty { display: none; }
.persona-edit-dialog footer { display: flex; justify-content: flex-end; gap: 6px; margin-top: 12px; }
.persona-edit-dialog footer button { padding: 8px 12px; border: 0; border-radius: 8px; color: #eee; background: #454c47; font-size: 11px; }
.persona-edit-dialog footer .persona-edit-save { background: #2bd79f; color: #09291f; }
.persona-edit-dialog button:disabled { opacity: .45; }
.persona-stage-shell { align-items: center; }
.persona-stage-shell .persona-stage-panel { width: min(600px, calc(100vw - 32px)); max-width: none; background: #171918; border: 0; box-shadow: none; padding: 0; border-radius: 14px; }
.persona-stage-heading { border: 0; padding-top: 10px; }
.persona-stage-heading h2 { font-size: 13px; }
.persona-stage-content { position: relative; display: block; padding: 0 24px 18px; }
.persona-stage-content > .hint { font-size: 10px; margin: 0 0 10px; }
.persona-stage-options.persona-stage-track { display: flex; gap: 12px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; min-height: 0; }
.persona-stage-track > * { flex: 0 0 calc((100% - 12px) / 2); min-width: 0; scroll-snap-align: start; min-height: 370px; }
.persona-stage-card--creator { display: flex; flex-direction: column; justify-content: flex-end; padding: 14px; background-color: #303b35; }
.persona-stage-card__copy { display: grid; gap: 7px; padding-bottom: 12px; color: #f2f5f3; }
.persona-stage-card__copy > strong { font-size: 16px; text-align: center; }
.persona-stage-card__intro { text-align: center; font-size: 10px; color: #d7ddd8; }
.persona-stage-card__copy > p { margin: 0; font-size: 11px; line-height: 1.5; color: #c8d0ca; white-space: pre-wrap; max-height: 125px; overflow: auto; }
.persona-stage-card__actions { display: flex; gap: 7px; }
.persona-stage-card .persona-stage-card__actions > button { position: static!important; inset: auto; width: auto; margin: 0; min-height: 36px; padding: 8px 10px; font-size: 12px; border-radius: 9px; }
.persona-stage-card .persona-stage-card__actions > .persona-stage-card__select { display: block; flex: 1; text-align: center; background: #2bdaa2; color: #092b20; }
.persona-stage-track .persona-account-panel { display: flex; flex-direction: column; padding: 13px; gap: 7px; background: #292e2a; }
.persona-stage-track .persona-account-options { max-height: 260px; }
.persona-stage-track .persona-account-choice { position: relative; }
.persona-stage-track .persona-choice-card { width: 100%; padding-right: 34px; }
.persona-stage-track .persona-choice-card.is-selected { border-color: #2cdaa3; }
.persona-stage-track .persona-account-edit { position: absolute; right: 5px; top: 8px; background: none; border: 0; color: #acb6ae; font-size: 10px; padding: 3px; }
.persona-stage-track .persona-account-select { margin-top: auto; min-height: 36px; border-radius: 9px; font-size: 12px; background: #2bdaa2; color: #092b20; }
.persona-stage-track .persona-account-select:disabled { opacity: .4; }
.persona-stage-dots { margin-top: 12px; }
.persona-stage-dot { width: 5px; height: 5px; padding: 0; border: 0; border-radius: 50%; background: #626a65; }
.persona-stage-dot.active { background: #f0f5f1; }
.persona-stage-arrow { position: absolute; z-index: 3; top: 45%; width: 30px; height: 38px; background: #181c19cc; border: 0; border-radius: 9px; color: #ddd; font-size: 26px; }
.persona-stage-arrow--previous { left: 28px; }.persona-stage-arrow--next { right: 28px; }
.persona-stage-arrow:disabled { opacity: 0; pointer-events: none; }
@media (max-width: 560px) {
  .persona-stage-content { padding-inline: 18px; }
  .persona-stage-track > * { flex-basis: 88%; min-height: 350px; }
  .persona-stage-arrow--previous { left: 20px; }.persona-stage-arrow--next { right: 20px; }
}
