/* Medienbibliothek (DEC-146 / FND-1985, M1a): only what inline styles cannot say - media queries, hover reveal, the dock position, the skeleton pulse.
   Colours come from the --ad-* tokens (C9); the signal lime appears for focus and progress only. */
.wy-media-tile .wy-media-check { opacity: 0; transition: opacity 120ms; }
.wy-media-tile:hover .wy-media-check, .wy-media-tile:focus-within .wy-media-check, .wy-media-tile[data-selected="1"] .wy-media-check { opacity: 1; }
.wy-media-tile button:focus-visible, .wy-media-listrow button:focus-visible, [data-media-alt-cell]:focus-visible { outline: 3px solid var(--ad-accent); outline-offset: 2px; }
.wy-media-skel { animation: wy-media-pulse 1.4s ease-in-out infinite; }
@keyframes wy-media-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }
@media (prefers-reduced-motion: reduce) { .wy-media-skel { animation: none; } }

/* list columns: check · preview · name · type · tags · alt text · size · dimensions · uploaded · status */
.wy-media-scroller { --wy-media-cols: 24px 40px minmax(140px, 2fr) 90px minmax(100px, 1.2fr) minmax(160px, 2fr) 70px 90px 130px 90px; }

/* upload dock: bottom right on desktop, a bottom sheet at 375 px */
.wy-media-dock { position: fixed; right: 18px; bottom: 18px; width: min(420px, calc(100vw - 36px)); z-index: 75; border-radius: 12px; overflow: hidden; }
.wy-media-toast { position: fixed; left: 50%; transform: translateX(-50%); bottom: 22px; z-index: 76; display: flex; align-items: center; gap: 14px; padding: 10px 14px; border-radius: 10px; font-size: 13px; font-weight: 600; }

@media (max-width: 640px) {
  /* the object bar keeps its one line: it scrolls inside its own strip instead of widening the page */
  .wy-media-objbar { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
  .wy-media-objbar [data-wy-tab] { min-height: 44px; }
  .wy-media-dock { right: 0; left: 0; bottom: 0; width: 100%; border-radius: 14px 14px 0 0; border-bottom: none; }
  .wy-media-toast { bottom: 76px; max-width: calc(100vw - 24px); }
  .wy-media-hide-s { display: none !important; }
  .wy-media-scroller { --wy-media-cols: 44px 40px minmax(0, 1fr) 90px; }
  .wy-media-tile .wy-media-check { opacity: 1; width: 44px !important; height: 44px !important; top: 4px !important; left: 4px !important; }
  .wy-media-listrow [role="checkbox"], .wy-media-toolbar button, .wy-media-dock button { min-width: 44px !important; min-height: 44px !important; }
  .wy-media-toolbar { padding: 10px !important; }
  .wy-media-toolbar input[type="text"], .wy-media-toolbar input:not([type]) { min-width: 0; }
}

/* the drop overlay's scrim: the brand's deep tone at 45 % (no raw colour) */
.wy-media-drop { background: color-mix(in srgb, var(--ad-brand-deep) 45%, transparent); }
