/* deckagent.ai motion watermark, v2 (legibility fix).
   Old kit: whole badge at 12% opacity on a clear glass fill, which was invisible.
   v2: a theme-aware solid plate under the artwork, the whole badge at 90%
   opacity (raised from 68% after the dark-slide check read faint). Composite
   wordmark contrast against its plate is about 9:1 on light and 13.7:1 on dark.
   Small, bottom-left, links to deckagent.ai. Motion plays once per slide entry
   (deck-page.js adds .da-animate on first entry); reduced motion shows the settled
   frame; print keeps it with a solid plate. Colors come from tokens.css. */
.da-watermark {
  --da-ink: var(--sv-black);
  --da-plate: var(--sv-white);
  --da-edge: rgb(18 17 15 / 0.28);
  --da-sweep: rgb(255 255 255 / 0.55);
  --da-scale: clamp(0.78, var(--da-canvas-scale, 1), 1.3);
  position: absolute;
  left: calc(48px * var(--da-scale));
  bottom: calc(40px * var(--da-scale));
  z-index: 5;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 145px;
  height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--da-edge);
  border-radius: 6px;
  color: var(--da-ink);
  background: var(--da-plate);
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.08);
  opacity: 0.9;
  overflow: hidden;
  isolation: isolate;
  text-decoration: none;
  font-family: var(--sv-font-sans);
  line-height: 1;
  transform: scale(calc(var(--da-scale) * 160 / 145));
  transform-origin: 0 100%;
  transition: opacity var(--sv-dur-fast) var(--sv-ease-out), border-color var(--sv-dur-fast) var(--sv-ease-out);
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.da-watermark[data-theme="dark"] {
  --da-ink: var(--sv-white);
  --da-plate: var(--sv-black);
  --da-edge: rgb(255 253 248 / 0.34);
  --da-sweep: rgb(255 253 248 / 0.28);
}
.da-watermark:hover { opacity: 0.92; }
.da-watermark:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; opacity: 1; }
.da-word { position: relative; z-index: 2; font-size: 13px; font-weight: 400; letter-spacing: -0.35px; white-space: nowrap; }
.da-word strong { font-weight: 800; }
.da-symbol { position: relative; z-index: 2; width: 24px; height: 18px; flex: none; }
.da-slide { position: absolute; box-sizing: border-box; width: 18px; height: 13px; border: 1.5px solid currentColor; border-radius: 2.5px; }
.da-back { left: 0; top: 0; }
.da-front { right: 0; bottom: 0; background: var(--da-plate); }
.da-sweep { position: absolute; top: -60%; bottom: -60%; left: -50%; width: 24%; background: linear-gradient(90deg, transparent, var(--da-sweep), transparent); transform: skewX(-22deg); pointer-events: none; opacity: 0; z-index: 1; }

/* Full motion: outlines settle 2px into place, then a highlight crosses the plate. Once. */
.da-animate .da-back { animation: da-back-settle 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.da-animate .da-front { animation: da-front-settle 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.da-animate .da-sweep { animation: da-glass-sweep 1.5s ease-in-out 0.45s both; }
@keyframes da-back-settle { from { transform: translate(2px, 2px); opacity: 0.55; } to { transform: translate(0, 0); opacity: 1; } }
@keyframes da-front-settle { from { transform: translate(-2px, -2px); opacity: 0.55; } to { transform: translate(0, 0); opacity: 1; } }
@keyframes da-glass-sweep { 0% { left: -50%; opacity: 0; } 20%, 80% { opacity: 1; } 100% { left: 130%; opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .da-animate .da-slide, .da-animate .da-sweep { animation: none; }
  .da-sweep { display: none; }
}
@media print {
  .da-watermark { --da-scale: 1; box-shadow: none; transition: none; }
  .da-watermark .da-slide, .da-watermark .da-sweep { animation: none !important; }
  .da-sweep { display: none; }
}
