/* ===== Sticker modal (replaces native alert/confirm) ===== */
.sticker-overlay {
  position: fixed; inset: 0;
  background: rgba(20, 20, 30, 0.55);
  z-index: 100000;
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  opacity: 0; pointer-events: none;
  transition: opacity 0.18s ease;
}
.sticker-overlay.open {
  opacity: 1; pointer-events: auto;
}
body.sticker-open { overflow: hidden; }

.sticker-card {
  position: relative;
  background: #fffef5;
  border-radius: 14px;
  box-shadow:
    0 24px 40px -12px rgba(0,0,0,0.45),
    0 8px 18px -8px rgba(0,0,0,0.28);
  padding: 30px 22px 18px;
  min-width: 280px; max-width: 420px; width: 100%;
  text-align: center;
  transform: scale(0.92) translateY(8px) rotate(-0.6deg);
  opacity: 0;
  transition: transform 0.22s cubic-bezier(.2,.9,.3,1.2), opacity 0.18s ease;
  border: 1px solid rgba(0,0,0,0.05);
}
.sticker-overlay.open .sticker-card {
  transform: scale(1) translateY(0) rotate(-0.6deg);
  opacity: 1;
}

/* Decorative tape on top */
.sticker-card .sticker-tape {
  position: absolute;
  top: -12px; left: 50%;
  transform: translateX(-50%) rotate(-1.5deg);
  width: 96px; height: 22px;
  background: linear-gradient(180deg, rgba(255,200,100,0.85), rgba(255,170,80,0.75));
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.18);
  opacity: 0.95;
}
.sticker-card .sticker-tape::after {
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(
    90deg,
    rgba(255,255,255,0.18) 0 4px,
    rgba(0,0,0,0.04) 4px 8px
  );
  border-radius: inherit;
}

.sticker-card .sticker-title {
  font-size: 16px; font-weight: 700;
  color: #2b2b2b; margin: 0 0 8px;
  word-break: keep-all;
}

.sticker-card .sticker-body {
  font-size: 15px; line-height: 1.6; color: #333;
  margin: 6px 4px 18px;
  word-break: keep-all;
}

.sticker-card .sticker-btns {
  display: flex; gap: 8px; justify-content: center; flex-wrap: wrap;
  margin-top: 4px;
}

.sticker-btn {
  appearance: none; -webkit-appearance: none;
  border: none; cursor: pointer;
  font-size: 14px; font-weight: 600;
  padding: 10px 22px; border-radius: 8px;
  min-width: 92px;
  transition: transform 0.08s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.sticker-btn:active { transform: translateY(1px); }
.sticker-btn:focus { outline: 2px solid rgba(255,103,103,0.45); outline-offset: 2px; }

.sticker-btn-primary {
  background: #ff6767; color: #fff;
  box-shadow: 0 4px 10px -4px rgba(255,103,103,0.6);
}
.sticker-btn-primary:hover { background: #ff5050; }

.sticker-btn-cancel {
  background: #eceae0; color: #444;
}
.sticker-btn-cancel:hover { background: #ddd9c8; }

@media (max-width: 480px) {
  .sticker-card { padding: 26px 18px 16px; min-width: 0; }
  .sticker-card .sticker-body { font-size: 14px; }
  .sticker-btn { flex: 1 1 auto; min-width: 0; padding: 10px 14px; }
}
