/**
 * Air_DS cursors - GENERATED by tools/build-cursors.mjs, do not edit.
 * Source: assets/cursors/figma-export.json (Figma page 407:552)
 *
 * Use var(--cur-*) rather than a bare cursor keyword. A later
 * `cursor: pointer` anywhere in the cascade silently reverts an element to the
 * OS cursor; referencing the variable keeps every call site on the design
 * system regardless of source order or selector weight.
 *
 * Each value lists SVG, then PNG, then the native keyword. Engines skip
 * sources they cannot decode, so Safari (no SVG cursor support) lands on the
 * PNG without any CSS-level branching.
 */
:root {
  /* Type=Arrow - Figma 407:772. Hotspot 7 3: Arrow tip - the path's 'L7 19.8284V3' vertex. */
  --cur-arrow: url('../cursors/arrow.svg') 7 3, url('../cursors/arrow.png') 7 3, default;
  /* Type=Pointer - Figma 407:765. Hotspot 9 4: Index fingertip - topmost point of the hand path (y min approx 4.29 at x approx 9.4). */
  --cur-pointer: url('../cursors/pointer.svg') 9 4, url('../cursors/pointer.png') 9 4, pointer;
  /* Type=Text - Figma 407:725. Hotspot 12 12: I-beam centre - path spans x 7.9-16.0, y 3.1-20.0. */
  --cur-text: url('../cursors/text.svg') 12 12, url('../cursors/text.png') 12 12, text;
  /* Type=Move - Figma 407:730. Hotspot 12 12: Centre of the 4-way arrow - the path is symmetric about (12,12). */
  --cur-move: url('../cursors/move.svg') 12 12, url('../cursors/move.png') 12 12, move;
}

/* Retina upgrade, gated because image-set() in `cursor` is not universal and a
   var() holding unparseable syntax would make the property inherit rather than
   fall back. */
@supports (cursor: image-set(url("../cursors/arrow.png") 1x) 0 0, auto) {
  :root {
    --cur-arrow: url('../cursors/arrow.svg') 7 3, image-set(url('../cursors/arrow.png') 1x, url('../cursors/arrow@2x.png') 2x) 7 3, default;
    --cur-pointer: url('../cursors/pointer.svg') 9 4, image-set(url('../cursors/pointer.png') 1x, url('../cursors/pointer@2x.png') 2x) 9 4, pointer;
    --cur-text: url('../cursors/text.svg') 12 12, image-set(url('../cursors/text.png') 1x, url('../cursors/text@2x.png') 2x) 12 12, text;
    --cur-move: url('../cursors/move.svg') 12 12, image-set(url('../cursors/move.png') 1x, url('../cursors/move@2x.png') 2x) 12 12, move;
  }
}

/* Utility classes, for markup that cannot carry a rule of its own. */
.cur-arrow { cursor: var(--cur-arrow); }
.cur-pointer { cursor: var(--cur-pointer); }
.cur-text { cursor: var(--cur-text); }
.cur-move { cursor: var(--cur-move); }

/* ---- element defaults --------------------------------------------------
   Baseline only. Anything with its own cursor rule must use var(--cur-*)
   explicitly - see the header note. */
html, body { cursor: var(--cur-arrow); }

a, button, summary, [role="button"],
[data-go], [data-install], [data-ext], [data-car], [data-tab] {
  cursor: var(--cur-pointer);
}

input[type="text"], input[type="search"], input[type="email"], textarea {
  cursor: var(--cur-text);
}

/* Air_DS has no disabled/blocked cursor, so this one stays native. */
:disabled, [aria-disabled="true"] { cursor: not-allowed; }
