/* A small non-modal card, never part of the sticky header or the article flow. */
.tp-push-prompt {
  --tp-push-top: 16px;
  position: fixed;
  z-index: 90;
  inset-block-start: calc(var(--tp-push-top) + env(safe-area-inset-top, 0px));
  inset-inline-end: max(20px, env(safe-area-inset-right, 0px));
  width: min(420px, calc(100% - 32px));
  max-height: calc(100vh - var(--tp-push-top) - 32px);
  max-height: calc(100dvh - var(--tp-push-top) - env(safe-area-inset-top, 0px) - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 22px;
  border: 1px solid var(--tp-border);
  border-block-start: 3px solid var(--tp-accent);
  border-radius: min(var(--tp-radius), 22px);
  background: var(--tp-surface);
  color: var(--tp-text);
  box-shadow: 0 18px 65px rgba(0,0,0,.16), 0 0 0 1px rgba(var(--tp-accent-rgb),.04);
  isolation: isolate;
  overflow-wrap: anywhere;
}
@supports ((backdrop-filter: blur(16px)) or (-webkit-backdrop-filter: blur(16px))) {
  .tp-push-prompt { background: var(--tp-glass); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
}
.admin-bar .tp-push-prompt { --tp-push-top: 48px; }
.tp-push-prompt.is-visible { animation: tp-push-arrive .42s cubic-bezier(.2,.8,.2,1) both; }
.tp-push-prompt.is-leaving { animation: tp-push-leave .18s ease-in both; pointer-events: none; }
.tp-push-prompt-close {
  position: absolute; inset-block-start: 5px; inset-inline-end: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px;
  background: transparent; color: var(--tp-muted);
}
.tp-push-prompt-close:hover { color: var(--tp-text); background: rgba(var(--tp-accent-rgb),.09); }
.tp-push-prompt-heading { display: flex; align-items: center; gap: 13px; padding-inline-end: 23px; }
.tp-push-prompt-icon {
  display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px;
  border-radius: 14px; background: var(--tp-accent); color: var(--tp-on-accent);
  box-shadow: 0 5px 18px rgba(var(--tp-accent-rgb),.16);
}
.tp-push-prompt.is-visible .tp-push-prompt-icon svg { animation: tp-push-ring .65s ease-in-out .18s both; transform-origin: 50% 15%; }
.tp-push-prompt-copy { min-width: 0; }
.tp-push-prompt-kicker { display: block; margin-block-end: 4px; color: var(--tp-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.tp-push-prompt h2 { margin: 0; font-size: 19px; line-height: 1.3; letter-spacing: -.02em; }
.tp-push-prompt-description { margin: 15px 0 16px; color: var(--tp-muted); font-size: 13px; line-height: 1.65; }
.tp-push-prompt-activate { width: 100%; min-height: 46px; white-space: normal; font-size: 14px; }
.tp-push-prompt-privacy { margin: 11px 0 0; font-size: 11px; line-height: 1.55; color: var(--tp-muted); text-align: center; }
.tp-push-prompt-privacy a { text-decoration: underline; text-underline-offset: 2px; }
.tp-push-prompt-status { margin: 12px 0 0; font-size: 12px; line-height: 1.5; color: var(--tp-text); }
.tp-push-prompt-status:empty { display: none; }
.tp-push-prompt[data-state="success"] .tp-push-prompt-icon { box-shadow: none; }
@keyframes tp-push-arrive { from { opacity: 0; transform: translateY(-16px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes tp-push-leave { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-10px); } }
@keyframes tp-push-ring { 0%,100% { transform: rotate(0); } 20% { transform: rotate(12deg); } 40% { transform: rotate(-10deg); } 65% { transform: rotate(5deg); } }
@media (max-width: 782px) { .admin-bar .tp-push-prompt { --tp-push-top: 58px; } }
@media (max-width: 480px) {
  .tp-push-prompt { --tp-push-top: 10px; inset-inline-end: max(12px, env(safe-area-inset-right, 0px)); width: calc(100% - 24px); padding: 17px; }
  .tp-push-prompt h2 { font-size: 17px; }
  .tp-push-prompt-icon { flex-basis: 40px; width: 40px; height: 40px; border-radius: 12px; }
  .tp-push-prompt-description { margin-block: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .tp-push-prompt.is-visible, .tp-push-prompt.is-leaving, .tp-push-prompt.is-visible .tp-push-prompt-icon svg { animation: none; }
}
@media (prefers-reduced-transparency: reduce) { .tp-push-prompt { background: var(--tp-surface); -webkit-backdrop-filter: none; backdrop-filter: none; } }
@media (forced-colors: active) { .tp-push-prompt { border: 2px solid CanvasText; } .tp-push-prompt-icon { border: 1px solid CanvasText; } }
@media print { .tp-push-prompt { display: none !important; } }
