/**
 * SweetAlert（sweetalert.min.camp.js）深色主題 — 對齊 CAMP02 液態玻璃／霓虹主視覺
 * 請於 sweetalert.min.camp.js 之後載入本檔，以覆寫 bundle 內嵌樣式。
 */
:root {
  --camp-swal-surface: rgba(16, 20, 36, 0.94);
  --camp-swal-surface-2: rgba(10, 14, 28, 0.98);
  --camp-swal-border: rgba(255, 255, 255, 0.14);
  --camp-swal-title: rgba(245, 248, 255, 0.96);
  --camp-swal-text: rgba(255, 255, 255, 0.68);
  --camp-swal-muted: rgba(255, 255, 255, 0.45);
  --camp-swal-accent: #5eb0ff;
  --camp-swal-accent-2: #00e5ff;
  --camp-swal-glow: rgba(0, 229, 255, 0.22);
  --camp-swal-danger: #ff5c6c;
  --camp-swal-success: #5ce29a;
  --camp-swal-warning: #ffc078;
  --camp-swal-error: #ff6b7a;
}

.swal-overlay {
  background: radial-gradient(ellipse 120% 80% at 50% 20%, rgba(0, 229, 255, 0.06), transparent 55%),
    rgba(4, 6, 14, 0.78) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 25000 !important;
}

.swal-overlay--show-modal .swal-modal {
  z-index: 25001 !important;
}

.swal-modal {
  font-family: "Inter", "Noto Sans TC", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  background: linear-gradient(155deg, var(--camp-swal-surface) 0%, var(--camp-swal-surface-2) 100%) !important;
  border: 1px solid var(--camp-swal-border) !important;
  border-radius: 22px !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 18px 48px rgba(0, 0, 0, 0.55),
    0 0 60px var(--camp-swal-glow) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  padding-bottom: 4px !important;
}

.swal-title {
  color: var(--camp-swal-title) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.45);
}

.swal-text {
  color: var(--camp-swal-text) !important;
  text-align: center !important;
  max-width: 100% !important;
}

.swal-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.18)) !important;
  margin-top: 8px !important;
  padding-top: 16px !important;
  border-bottom-left-radius: inherit !important;
  border-bottom-right-radius: inherit !important;
}

.swal-button-container {
  margin: 6px 4px !important;
}

.swal-button {
  border-radius: 999px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: none;
  padding: 10px 26px !important;
  transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease, filter 0.2s ease !important;
}

.swal-button:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.35), 0 0 0 4px rgba(0, 0, 0, 0.35) !important;
}

.swal-button--confirm:not(.swal-button--danger) {
  background: linear-gradient(120deg, var(--camp-swal-accent) 0%, #3d7dff 48%, var(--camp-swal-accent-2) 100%) !important;
  color: #061018 !important;
  box-shadow: 0 4px 20px rgba(0, 120, 255, 0.35) !important;
}

.swal-button--confirm:not(.swal-button--danger):hover {
  filter: brightness(1.08) saturate(1.05);
  box-shadow: 0 6px 28px rgba(0, 229, 255, 0.35) !important;
}

.swal-button--confirm:not(.swal-button--danger):active {
  transform: translateY(1px);
  filter: brightness(0.96);
}

.swal-button--danger {
  background: linear-gradient(120deg, #ff7a6a 0%, var(--camp-swal-danger) 100%) !important;
  color: #1a0508 !important;
  box-shadow: 0 4px 22px rgba(255, 70, 90, 0.35) !important;
}

.swal-button--danger:hover {
  filter: brightness(1.06);
}

.swal-button--cancel {
  background: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
}

.swal-button--cancel:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
}

.swal-button--cancel:focus {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2) !important;
}

.swal-button__loader div {
  background-color: rgba(255, 255, 255, 0.85) !important;
}

/* 圖示：霓虹描邊，成功動畫白底改為與彈層同色以免破圖 */
.swal-icon {
  border-width: 3px !important;
  box-shadow: 0 0 32px rgba(0, 0, 0, 0.35);
}

.swal-icon--error {
  border-color: rgba(255, 100, 115, 0.95) !important;
}

.swal-icon--error__line {
  background-color: var(--camp-swal-error) !important;
}

.swal-icon--warning {
  border-color: rgba(255, 192, 120, 0.95) !important;
}

.swal-icon--warning__body,
.swal-icon--warning__dot {
  background-color: var(--camp-swal-warning) !important;
}

.swal-icon--info {
  border-color: rgba(120, 200, 255, 0.85) !important;
}

.swal-icon--info::before,
.swal-icon--info::after {
  background-color: rgba(160, 220, 255, 0.95) !important;
}

.swal-icon--success {
  border-color: rgba(92, 226, 154, 0.9) !important;
}

.swal-icon--success::before,
.swal-icon--success::after {
  background: var(--camp-swal-surface-2) !important;
}

.swal-icon--success__hide-corners {
  background-color: var(--camp-swal-surface-2) !important;
}

.swal-icon--success__line {
  background-color: var(--camp-swal-success) !important;
}

.swal-icon--success__ring {
  border-color: rgba(92, 226, 154, 0.28) !important;
}

.swal-content__input,
.swal-content__textarea {
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: var(--camp-swal-title) !important;
  border-radius: 12px !important;
}

.swal-content__input:focus,
.swal-content__textarea:focus {
  border-color: rgba(0, 229, 255, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.12) !important;
}

@media (max-width: 500px) {
  .swal-modal {
    border-radius: 18px !important;
  }
}
