#memoryToggle.memory-promo-target {
  position: relative !important;
  z-index: 19002 !important;
  outline: 2px solid rgba(124, 88, 230, .58) !important;
  outline-offset: 3px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 0 0 5px rgba(124, 88, 230, .1), 0 0 20px rgba(124, 88, 230, .18) !important;
  animation: memoryPromoTargetPulse 1.8s ease-in-out infinite alternate;
}

#memoryIntroPromo[hidden] { display: none !important; }
#memoryIntroPromo {
  --memory-promo-arrow-y: 50%;
  position: fixed;
  z-index: 19001;
  width: min(326px, calc(100vw - 24px));
  box-sizing: border-box;
  isolation: isolate;
  padding: 14px 15px 13px;
  overflow: visible;
  color: #202332;
  border: 1px solid rgba(255, 255, 255, .84);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,247,251,.93));
  box-shadow: 0 16px 42px rgba(31, 41, 55, .17), inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  backdrop-filter: blur(16px) saturate(120%);
  font: 400 13px/1.45 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  animation: memoryPromoEnter .24s cubic-bezier(.2,.75,.25,1) both;
}
#memoryIntroPromo::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: var(--memory-promo-arrow-y);
  left: -7px;
  width: 13px;
  height: 13px;
  border-left: 1px solid rgba(255,255,255,.84);
  border-bottom: 1px solid rgba(255,255,255,.84);
  border-radius: 0 0 0 3px;
  background: #f8f9fc;
  transform: translateY(-50%) rotate(45deg);
}
#memoryIntroPromo.points-right::before {
  right: -7px;
  left: auto;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.84);
  border-right: 1px solid rgba(255,255,255,.84);
  border-radius: 0 3px 0 0;
}
#memoryIntroPromo.points-up::before,
#memoryIntroPromo.points-down::before {
  top: auto;
  left: var(--memory-promo-arrow-x, 24px);
  right: auto;
  width: 13px;
  height: 13px;
  transform: translateX(-50%) rotate(45deg);
  border: 0;
  border-left: 1px solid rgba(255,255,255,.84);
  border-top: 1px solid rgba(255,255,255,.84);
  border-radius: 3px 0 0 0;
}
#memoryIntroPromo.points-up::before { top: -7px; }
#memoryIntroPromo.points-down::before {
  bottom: -7px;
  transform: translateX(-50%) rotate(225deg);
  border-color: rgba(231,234,241,.92);
}
.memory-promo-heading { position: relative; z-index: 1; display: flex; align-items: center; gap: 9px; min-width: 0; }
.memory-promo-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(124,88,230,.16);
  border-radius: 11px;
  background: linear-gradient(145deg, #fff, #f1edff);
}
.memory-promo-icon img { width: 20px; height: 20px; object-fit: contain; }
.memory-promo-title { display: grid; min-width: 0; gap: 1px; flex: 1; }
.memory-promo-title strong { color: #222334; font-size: 14px; font-weight: 760; letter-spacing: -.02em; }
.memory-promo-title small { color: #79758a; font-size: 10px; font-weight: 600; }
.memory-promo-close {
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  margin: -5px -6px 0 0;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #737586;
  font: 400 20px/1 system-ui, sans-serif;
  cursor: pointer;
}
.memory-promo-close:hover { background: rgba(50,55,70,.07); color: #262938; }
.memory-promo-copy { position: relative; z-index: 1; display: grid; gap: 4px; margin: 11px 0 12px 43px; }
.memory-promo-copy p { margin: 0; color: #626678; font-size: 11px; line-height: 1.45; }
.memory-promo-action {
  position: relative;
  z-index: 1;
  min-height: 35px;
  margin-left: 43px;
  padding: 7px 13px;
  border: 1px solid rgba(105,78,201,.2);
  border-radius: 10px;
  background: linear-gradient(135deg, #7655d9, #6246c5);
  box-shadow: 0 5px 13px rgba(102,75,199,.18), inset 0 1px rgba(255,255,255,.26);
  color: #fff;
  font: 650 11px/1.2 Inter, system-ui, sans-serif;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}
.memory-promo-action:hover { transform: translateY(-1px); box-shadow: 0 7px 17px rgba(102,75,199,.25), inset 0 1px rgba(255,255,255,.3); }
#memoryIntroPromo :focus-visible { outline: 2px solid #7150d4; outline-offset: 2px; }
body.ui-dark-mode #memoryIntroPromo {
  color: #f3f4f8;
  border-color: rgba(225,230,240,.2);
  background: linear-gradient(145deg, rgba(39,43,54,.97), rgba(29,33,43,.96));
  box-shadow: 0 18px 48px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.12);
}
body.ui-dark-mode #memoryIntroPromo::before { background: #303541; border-color: rgba(225,230,240,.2); }
body.ui-dark-mode #memoryIntroPromo.points-right::before { border-color: rgba(225,230,240,.2); }
body.ui-dark-mode #memoryIntroPromo.points-up::before,
body.ui-dark-mode #memoryIntroPromo.points-down::before { border-color: rgba(225,230,240,.2); }
body.ui-dark-mode .memory-promo-title strong { color: #f4f4f8; }
body.ui-dark-mode .memory-promo-title small,
body.ui-dark-mode .memory-promo-copy p { color: #b5b9c7; }
body.ui-dark-mode .memory-promo-icon { background: linear-gradient(145deg, #3b3e4b, #302d40); border-color: rgba(202,184,255,.16); }
body.ui-dark-mode .memory-promo-icon img { filter: brightness(0) invert(1); }
body.ui-dark-mode .memory-promo-close { color: #c1c4cf; }
body.ui-dark-mode .memory-promo-close:hover { background: rgba(255,255,255,.08); color: #fff; }
@keyframes memoryPromoEnter { from { opacity: 0; transform: translateY(5px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes memoryPromoTargetPulse { to { box-shadow: 0 0 0 7px rgba(124,88,230,.06), 0 0 24px rgba(124,88,230,.24); } }
@media (max-width: 700px) {
  #memoryIntroPromo { width: min(326px, calc(100vw - 24px)); padding: 13px 14px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  #memoryIntroPromo, #memoryToggle.memory-promo-target { animation: none !important; }
  .memory-promo-action { transition: none; }
}
