/* ---------------------------------------------------------------------------
   通用弹窗（提示 / 确认 / 输入）

   浏览器自带的 alert / confirm / prompt 长得丑，还固定在窗口最上面。
   这里换成自己画的：窗口正中、跟界面同色系、带淡入和一点点弹出动画。
   --------------------------------------------------------------------------- */

.uic-wrap {
  position: fixed; inset: 0; z-index: 900;
  display: grid; place-items: center;
  background: rgba(0, 0, 0, .62);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  animation: uicFade .12s ease-out;
}
.uic-wrap.uic-hidden { display: none; }

@keyframes uicFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes uicPop {
  from { transform: translateY(10px) scale(.97); opacity: .5; }
  to   { transform: none; opacity: 1; }
}

.uic-card {
  width: min(440px, calc(100vw - 32px));
  max-height: calc(100vh - 40px); overflow: auto;
  background: #313338; color: #dbdee1;
  border-radius: 14px; padding: 22px 22px 18px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .05);
  animation: uicPop .16s cubic-bezier(.2, .9, .3, 1.2);
  font-family: inherit;
}

.uic-title {
  margin: 0; font-size: 17.5px; font-weight: 800;
  color: #f2f3f5; line-height: 1.45; word-break: break-word;
}
.uic-body {
  margin: 8px 0 0; font-size: 14px; line-height: 1.7;
  color: #b5bac1; white-space: pre-wrap; word-break: break-word;
}
.uic-body:empty { display: none; }

.uic-input {
  width: 100%; margin-top: 16px; padding: 11px 13px;
  background: #1e1f22; color: #f2f3f5; font-size: 15px;
  border: 1.5px solid #1e1f22; border-radius: 9px; outline: none;
  transition: border-color .12s;
}
.uic-input:focus { border-color: #5865f2; }
.uic-input.uic-off { display: none; }

.uic-actions {
  display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px;
}
.uic-btn {
  border: 0; border-radius: 9px; padding: 10px 20px;
  font-size: 14px; font-weight: 700; cursor: pointer; color: #fff;
  background: #4e5058;
  transition: filter .12s, background .12s;
}
.uic-btn:hover { filter: brightness(1.13); }
.uic-btn:active { filter: brightness(.95); }
.uic-btn.uic-primary { background: #5865f2; }
.uic-btn.uic-danger { background: #da373c; }
.uic-btn.uic-off { display: none; }

@media (max-width: 520px) {
  .uic-card { padding: 18px 16px 14px; border-radius: 12px; }
  .uic-actions { margin-top: 18px; }
  .uic-btn { padding: 10px 16px; }
}
