/* TB-QR, Overlay */
#tb-qr-overlay {
  position: fixed; inset: 0;
  background: rgba(11,11,31,.55);
  backdrop-filter: blur(4px);
  display: grid; place-items: center;
  z-index: 9500;
  animation: tbqr-in 200ms ease both;
}
#tb-qr-overlay[hidden] { display: none; }
@keyframes tbqr-in { from { opacity: 0; } to { opacity: 1; } }

#tb-qr-overlay .tb-qr-card {
  background: var(--tb-bg-card, #fff);
  color: var(--tb-ink-900, #0E0E2A);
  border-radius: var(--radius-lg, 12px);
  padding: 1.5rem;
  width: min(420px, 92vw);
  text-align: center;
  box-shadow: 0 30px 80px rgba(0,0,0,.3);
  animation: tbqr-pop 250ms cubic-bezier(.34,1.16,.64,1) both;
}
@keyframes tbqr-pop {
  from { opacity: 0; transform: scale(.95); }
  to   { opacity: 1; transform: scale(1); }
}
#tb-qr-overlay h2 {
  margin: 0 0 .75rem;
  font-size: 1.1rem;
  font-family: Geist, Inter, sans-serif;
}
.tb-qr-canvas {
  width: 300px; height: 300px;
  margin: 0 auto;
  background: #fff;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--tb-line, #E7E7F2);
  display: grid; place-items: center;
}
.tb-qr-canvas canvas, .tb-qr-canvas svg { max-width: 100%; height: auto; }
.tb-qr-url {
  margin: .75rem 0 1rem;
  font-family: JetBrains Mono, monospace;
  font-size: .8rem;
  color: var(--tb-ink-500, #5C5C7A);
  word-break: break-all;
}
.tb-qr-actions {
  display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center;
}

/* Inline-Variante (Shortcode) */
.tb-qr-inline {
  display: inline-block;
  padding: .5rem;
  background: #fff;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--tb-line, #E7E7F2);
}

@media (prefers-reduced-motion: reduce) {
  #tb-qr-overlay, #tb-qr-overlay .tb-qr-card { animation: none; }
}
