.tamaku-toast-stack {
  position: fixed;
  top: 22px;
  right: 22px;
  z-index: 10000;
  width: min(400px, calc(100vw - 32px));
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: none;
}

.tamaku-toast {
  position: relative;
  min-height: 82px;
  padding: 16px 45px 16px 16px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  overflow: hidden;
  color: #fff;
  background: rgba(14, 14, 14, 0.96);
  border: 1px solid rgba(191, 149, 63, 0.24);
  border-radius: 18px;
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(20px);
  opacity: 0;
  transform: translateX(35px) scale(0.97);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: auto;
}

.tamaku-toast.is-visible { opacity: 1; transform: translateX(0) scale(1); }
.tamaku-toast.is-leaving { opacity: 0; transform: translateX(35px) scale(0.96); }

.tamaku-toast-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  font-size: 1rem;
}

.tamaku-toast-success .tamaku-toast-icon { color: #78dfa0; background: rgba(46, 204, 113, 0.12); }
.tamaku-toast-error .tamaku-toast-icon { color: #ff7777; background: rgba(255, 77, 77, 0.12); }
.tamaku-toast-warning .tamaku-toast-icon { color: #ffd277; background: rgba(191, 149, 63, 0.14); }
.tamaku-toast-info .tamaku-toast-icon { color: #82b6ff; background: rgba(80, 140, 255, 0.12); }

.tamaku-toast-copy { min-width: 0; }
.tamaku-toast-copy strong { display: block; margin-bottom: 5px; color: #f4f4f4; font: 700 0.76rem "Montserrat", sans-serif; }
.tamaku-toast-copy p { margin: 0; color: #999; font: 400 0.7rem/1.5 "Montserrat", sans-serif; overflow-wrap: anywhere; }

.tamaku-toast-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: #666;
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}
.tamaku-toast-close:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }

.tamaku-toast-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, #bf953f, #f5d487);
  animation: tamakuToastProgress linear forwards;
}
@keyframes tamakuToastProgress { from { width: 100%; } to { width: 0; } }

.tamaku-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 11000;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(14px);
  opacity: 0;
  transition: opacity 0.22s ease;
}
.tamaku-confirm-overlay.is-visible { opacity: 1; }

.tamaku-confirm-card {
  width: min(430px, 100%);
  padding: 30px;
  color: #fff;
  background: radial-gradient(circle at 100% 0%, rgba(191, 149, 63, 0.12), transparent 38%), #0d0d0d;
  border: 1px solid rgba(191, 149, 63, 0.25);
  border-radius: 25px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7);
  text-align: center;
  transform: translateY(20px) scale(0.96);
  transition: transform 0.25s ease;
}
.tamaku-confirm-overlay.is-visible .tamaku-confirm-card { transform: translateY(0) scale(1); }

.tamaku-confirm-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  color: #ffd277;
  background: rgba(191, 149, 63, 0.12);
  border-radius: 18px;
  font-size: 1.25rem;
}
.tamaku-confirm-icon.danger { color: #ff7777; background: rgba(255, 77, 77, 0.12); }
.tamaku-confirm-eyebrow { display: block; margin-bottom: 7px; color: #bf953f; font: 700 0.55rem "Montserrat", sans-serif; letter-spacing: 3px; }
.tamaku-confirm-card h2 { margin: 0 0 10px; color: #fff; font: 700 1.2rem "Cinzel", serif; }
.tamaku-confirm-card p { margin: 0 auto 25px; max-width: 350px; color: #888; font: 400 0.75rem/1.65 "Montserrat", sans-serif; }
.tamaku-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tamaku-confirm-actions button { padding: 13px; border-radius: 50px; font: 700 0.7rem "Montserrat", sans-serif; letter-spacing: 0.8px; text-transform: uppercase; cursor: pointer; }
.tamaku-confirm-cancel { color: #aaa; background: transparent; border: 1px solid #3d3d3d; }
.tamaku-confirm-accept { color: #111; background: linear-gradient(135deg, #bf953f, #e6c87a); border: 1px solid transparent; }
.tamaku-confirm-accept.danger { color: #fff; background: #d94a4a; }

@media (max-width: 600px) {
  .tamaku-toast-stack { top: 14px; right: 16px; left: 16px; width: auto; }
  .tamaku-toast { min-height: 76px; padding: 14px 42px 14px 13px; grid-template-columns: 38px minmax(0, 1fr); border-radius: 16px; }
  .tamaku-toast-icon { width: 38px; height: 38px; }
  .tamaku-confirm-overlay { align-items: flex-end; padding: 12px; }
  .tamaku-confirm-card { width: 100%; padding: 25px 20px 20px; border-radius: 25px; }
  .tamaku-confirm-actions { grid-template-columns: 1fr; }
  .tamaku-confirm-accept { grid-row: 1; }
}
