/* =========================================================== */
/* AG Cursor Standard v2.1 — CANONICAL DROP-IN (Liminal Means)  */
/* Source: sectors/web/library/ag-components/ag-cursor.css       */
/* Painted with LM tokens (gold edge, dark/cream luminance).     */
/* =========================================================== */

/* ---- Token bridge for the cursor ---- */
:root {
  --accent: #c8924a;   /* LM gold — cursor edge + ignite */
  --ink: #0d0d0b;      /* LM black — hand fill on light bg */
  --paper: #ede2d8;    /* LM cream — hand fill on dark bg */
}

.ag-fine, .ag-fine *, .ag-fine *::before, .ag-fine *::after { cursor: none !important; }

.ag-cursor__body,
.ag-cursor__edge {
  position: fixed; top: 0; left: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--duration-instant, 120ms) var(--ease-satisfying, cubic-bezier(0.22,1,0.36,1));
  will-change: transform;
}
.ag-cursor__body { z-index: 2147483646; mix-blend-mode: difference; }  /* inverting arrow */
.ag-cursor__edge { z-index: 2147483647; }                              /* gold edge + solid hand */

.ag-cursor__body svg,
.ag-cursor__edge svg { position: absolute; top: 0; left: 0; display: block; max-width: none; }
.ag-cursor__body .ag-cursor__arrow, .ag-cursor__edge .ag-cursor__arrow { width: 13px; height: 20px; }
.ag-cursor__edge .ag-cursor__hand { width: 18px; height: 18px; }

.ag-cursor__body path { fill: #fff; }
.ag-cursor__edge path { fill: none; stroke: var(--accent, #c9a861); stroke-linejoin: round; stroke-linecap: round; }
.ag-cursor__edge .ag-cursor__arrow path { stroke-width: 0.8; }
.ag-cursor__edge .ag-cursor__hand  path { fill: var(--cur-fill, var(--ink, #0a0a0a)); stroke-width: 0.75; }

.ag-cursor__arrow {
  transform-origin: 0 0;
  transition: opacity 210ms var(--ease-settle, cubic-bezier(.22,1,.36,1)),
              transform 210ms var(--ease-settle, cubic-bezier(.22,1,.36,1));
}
.ag-cursor__hand {
  position: absolute; left: -8px; top: -2px;   /* fingertip to hotspot */
  opacity: 0; transform: scale(.7); transform-origin: 8px 2px;
  transition: opacity 210ms var(--ease-settle, cubic-bezier(.22,1,.36,1)),
              transform 210ms var(--ease-settle, cubic-bezier(.22,1,.36,1));
}
.ag-cur-hover .ag-cursor__arrow { opacity: 0; transform: scale(.6); }
.ag-cur-hover .ag-cursor__hand  { opacity: 1; transform: scale(1); }
.ag-cur-hover.ag-cur-press .ag-cursor__hand { transform: scale(.88); }
.ag-cur-press:not(.ag-cur-hover) .ag-cursor__arrow { transform: scale(.88); }

@media (hover: none), (pointer: coarse) { .ag-cursor__body, .ag-cursor__edge { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .ag-cursor__arrow, .ag-cursor__hand, .ag-cursor__body, .ag-cursor__edge { transition: none; } }
