.zap-user-profile-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(620px, calc(100vw - 28px));
  max-height: min(88vh, 820px);
  padding: 0;
  overflow: auto;
  color: var(--txt, #f5f4f8);
  background: linear-gradient(145deg, rgba(29, 24, 40, .98), rgba(15, 14, 20, .99));
  border: 1px solid rgba(254, 1, 154, .45);
  border-radius: 16px;
  box-shadow: 0 24px 90px rgba(0, 0, 0, .68), 0 0 42px rgba(254, 1, 154, .12);
}
.zap-user-profile-dialog::backdrop { background: rgba(5, 4, 9, .78); backdrop-filter: blur(7px); }
.zap-user-profile-form { padding: clamp(18px, 4vw, 30px); }
.zap-user-profile-form header { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
.zap-user-profile-form header small { color: #ff72c3; font: 700 10px/1.5 ui-monospace, monospace; letter-spacing: .16em; }
.zap-user-profile-form h2 { margin: 6px 0 4px; font-size: 22px; }
.zap-user-profile-form header p { margin: 0; color: var(--txt-3, #a8a4af); font-size: 13px; }
.zap-user-profile-close { width: 36px; height: 36px; flex: 0 0 36px; color: #ddd; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 50%; font-size: 24px; cursor: pointer; }
.zap-user-profile-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding-top: 20px; }
.zap-user-profile-fields label { display: grid; gap: 7px; color: #d7d3df; font-size: 13px; font-weight: 650; }
.zap-user-profile-fields input { width: 100%; min-width: 0; min-height: 43px; box-sizing: border-box; padding: 10px 12px; color: #f7f3fa; background: rgba(7, 6, 12, .72); border: 1px solid rgba(255,255,255,.17); border-radius: 8px; outline: none; }
.zap-user-profile-fields input:focus { border-color: #ff52b3; box-shadow: 0 0 0 3px rgba(254,1,154,.14); }
.zap-user-profile-fields .zap-user-profile-diamond { grid-column: 1 / -1; }
.zap-user-profile-diamond input { border-color: rgba(255, 205, 112, .55); }
.zap-user-profile-diamond small { color: #c5b47f; font-size: 12px; font-weight: 400; }
.zap-uid-binding { display: grid; gap: 10px; margin-top: 18px; padding: 14px; background: rgba(89, 61, 121, .18); border: 1px solid rgba(187, 140, 255, .28); border-radius: 10px; }
.zap-uid-binding[hidden], .zap-user-profile-fields [hidden] { display: none !important; }
.zap-uid-binding h3, .zap-uid-binding p { margin: 0; }
.zap-uid-binding h3 { font-size: 15px; }
.zap-uid-binding p, .zap-uid-binding small { color: #bcb4cb; font-size: 12px; }
.zap-uid-binding label { display: grid; gap: 7px; font-size: 13px; }
.zap-uid-binding select { width: 100%; min-height: 42px; color: #f7f3fa; background: #17131e; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; padding: 8px; }
/* —— 钻粉候选：文本框 + 模糊搜索下拉 —— */
.zap-uid-field { display: grid; gap: 7px; font-size: 13px; }
.zap-uid-field__label { color: #d7d3df; font-weight: 650; }
.zap-uid-combo { position: relative; }
.zap-uid-combo input[type="text"] { width: 100%; box-sizing: border-box; min-height: 42px; padding: 9px 12px; color: #f7f3fa; background: #17131e; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; outline: none; font: inherit; font-size: 13px; }
.zap-uid-combo input[type="text"]:focus { border-color: #ff52b3; box-shadow: 0 0 0 3px rgba(254,1,154,.14); }
.zap-uid-combo input[type="text"]:disabled { opacity: .55; cursor: progress; }
.zap-uid-list { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; right: 0; max-height: 260px; overflow: auto; padding: 4px; display: grid; gap: 2px; background: #17131e; border: 1px solid rgba(187,140,255,.42); border-radius: 10px; box-shadow: 0 20px 54px rgba(0,0,0,.62); }
.zap-uid-list[hidden] { display: none; }
.zap-uid-list.is-up { top: auto; bottom: calc(100% + 6px); }
.zap-uid-opt { display: grid; gap: 2px; width: 100%; box-sizing: border-box; padding: 8px 10px; text-align: left; color: #f2eef8; background: transparent; border: 0; border-radius: 7px; cursor: pointer; font: inherit; }
.zap-uid-opt:hover, .zap-uid-opt.is-active { background: rgba(254,1,154,.18); }
.zap-uid-opt__name { font-size: 13px; font-weight: 650; }
.zap-uid-opt__meta { color: #b7aec9; font-size: 12px; }
.zap-uid-opt--empty, .zap-uid-opt--empty:hover { padding: 10px; color: #9a93a8; background: transparent; font-size: 12.5px; cursor: default; }
.zap-uid-binding .zap-uid-picked { display: block; min-height: 15px; color: #8be6be; font-size: 12px; font-weight: 400; }
.zap-user-profile-warning { margin: 16px 0 0; padding: 11px 13px; color: #ffd9dd; background: rgba(211, 53, 83, .13); border: 1px solid rgba(255, 100, 125, .38); border-radius: 8px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.zap-user-profile-message { min-height: 18px; margin: 12px 0 0; color: #8be6be; font-size: 13px; }
.zap-user-profile-form footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 10px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.1); }
.zap-user-profile-form button:disabled { opacity: .55; cursor: wait; }
@media (max-width: 520px) {
  .zap-user-profile-fields { grid-template-columns: minmax(0, 1fr); }
  .zap-user-profile-fields .zap-user-profile-diamond { grid-column: auto; }
}
