/* Pixel cursor set — 12x12 PNG cursors.
 * Use a class (.cursor-wait) or the variable directly: cursor: var(--cursor-wait);
 * Add class="pixel-cursors" to <html> or <body> to theme a whole page.
 * progress & wait animate when cursors-animate.js is loaded; otherwise they show frame 0. */

:root {
  --cursor-default: url("/cursor/default.png") 0 0, default;
  --cursor-context-menu: url("/cursor/context-menu.png") 0 0, context-menu;
  --cursor-help: url("/cursor/help.png") 0 0, help;
  --cursor-progress: url("/cursor/progress-0.png") 0 0, progress;
  --cursor-alias: url("/cursor/alias.png") 0 0, alias;
  --cursor-copy: url("/cursor/copy.png") 0 0, copy;
  --cursor-pointer: url("/cursor/pointer.png") 3 0, pointer;
  --cursor-no-drop: url("/cursor/no-drop.png") 3 0, no-drop;
  --cursor-grab: url("/cursor/grab.png") 4 5, grab;
  --cursor-grabbing: url("/cursor/grabbing.png") 4 5, grabbing;
  --cursor-text: url("/cursor/text.png") 2 5, text;
  --cursor-vertical-text: url("/cursor/vertical-text.png") 5 2, vertical-text;
  --cursor-wait: url("/cursor/wait-0.png") 3 3, wait;
  --cursor-crosshair: url("/cursor/crosshair.png") 3 3, crosshair;
  --cursor-cell: url("/cursor/cell.png") 3 3, cell;
  --cursor-not-allowed: url("/cursor/not-allowed.png") 5 5, not-allowed;
  --cursor-move: url("/cursor/move.png") 5 5, move;
  --cursor-all-scroll: url("/cursor/all-scroll.png") 5 5, all-scroll;
  --cursor-n-resize: url("/cursor/n-resize.png") 5 0, n-resize;
  --cursor-e-resize: url("/cursor/e-resize.png") 10 5, e-resize;
  --cursor-s-resize: url("/cursor/s-resize.png") 5 10, s-resize;
  --cursor-w-resize: url("/cursor/w-resize.png") 0 5, w-resize;
  --cursor-ns-resize: url("/cursor/ns-resize.png") 5 5, ns-resize;
  --cursor-ew-resize: url("/cursor/ew-resize.png") 5 5, ew-resize;
  --cursor-nw-resize: url("/cursor/nw-resize.png") 0 0, nw-resize;
  --cursor-ne-resize: url("/cursor/ne-resize.png") 8 0, ne-resize;
  --cursor-se-resize: url("/cursor/se-resize.png") 8 8, se-resize;
  --cursor-sw-resize: url("/cursor/sw-resize.png") 0 8, sw-resize;
  --cursor-nesw-resize: url("/cursor/nesw-resize.png") 4 4, nesw-resize;
  --cursor-nwse-resize: url("/cursor/nwse-resize.png") 4 4, nwse-resize;
  --cursor-col-resize: url("/cursor/col-resize.png") 5 5, col-resize;
  --cursor-row-resize: url("/cursor/row-resize.png") 5 5, row-resize;
  --cursor-zoom-out: url("/cursor/zoom-out.png") 3 3, zoom-out;
  --cursor-zoom-in: url("/cursor/zoom-in.png") 3 3, zoom-in;
}

.cursor-default { cursor: var(--cursor-default) !important; }
.cursor-context-menu { cursor: var(--cursor-context-menu) !important; }
.cursor-help { cursor: var(--cursor-help) !important; }
.cursor-progress { cursor: var(--cursor-progress) !important; }
.cursor-alias { cursor: var(--cursor-alias) !important; }
.cursor-copy { cursor: var(--cursor-copy) !important; }
.cursor-pointer { cursor: var(--cursor-pointer) !important; }
.cursor-no-drop { cursor: var(--cursor-no-drop) !important; }
.cursor-grab { cursor: var(--cursor-grab) !important; }
.cursor-grabbing { cursor: var(--cursor-grabbing) !important; }
.cursor-text { cursor: var(--cursor-text) !important; }
.cursor-vertical-text { cursor: var(--cursor-vertical-text) !important; }
.cursor-wait { cursor: var(--cursor-wait) !important; }
.cursor-crosshair { cursor: var(--cursor-crosshair) !important; }
.cursor-cell { cursor: var(--cursor-cell) !important; }
.cursor-not-allowed { cursor: var(--cursor-not-allowed) !important; }
.cursor-move { cursor: var(--cursor-move) !important; }
.cursor-all-scroll { cursor: var(--cursor-all-scroll) !important; }
.cursor-n-resize { cursor: var(--cursor-n-resize) !important; }
.cursor-e-resize { cursor: var(--cursor-e-resize) !important; }
.cursor-s-resize { cursor: var(--cursor-s-resize) !important; }
.cursor-w-resize { cursor: var(--cursor-w-resize) !important; }
.cursor-ns-resize { cursor: var(--cursor-ns-resize) !important; }
.cursor-ew-resize { cursor: var(--cursor-ew-resize) !important; }
.cursor-nw-resize { cursor: var(--cursor-nw-resize) !important; }
.cursor-ne-resize { cursor: var(--cursor-ne-resize) !important; }
.cursor-se-resize { cursor: var(--cursor-se-resize) !important; }
.cursor-sw-resize { cursor: var(--cursor-sw-resize) !important; }
.cursor-nesw-resize { cursor: var(--cursor-nesw-resize) !important; }
.cursor-nwse-resize { cursor: var(--cursor-nwse-resize) !important; }
.cursor-col-resize { cursor: var(--cursor-col-resize) !important; }
.cursor-row-resize { cursor: var(--cursor-row-resize) !important; }
.cursor-zoom-out { cursor: var(--cursor-zoom-out) !important; }
.cursor-zoom-in { cursor: var(--cursor-zoom-in) !important; }

/* Page-wide theme: opt in with class="pixel-cursors" */
.pixel-cursors, .pixel-cursors * { cursor: var(--cursor-default); }
.pixel-cursors a[href], .pixel-cursors button:not(:disabled), .pixel-cursors summary,
.pixel-cursors label[for], .pixel-cursors select, .pixel-cursors [role="button"],
.pixel-cursors input[type="checkbox"], .pixel-cursors input[type="radio"],
.pixel-cursors input[type="submit"], .pixel-cursors input[type="button"] { cursor: var(--cursor-pointer); }
.pixel-cursors input:not([type]), .pixel-cursors input[type="text"], .pixel-cursors input[type="email"],
.pixel-cursors input[type="search"], .pixel-cursors input[type="password"], .pixel-cursors input[type="url"],
.pixel-cursors input[type="number"], .pixel-cursors input[type="tel"], .pixel-cursors textarea,
.pixel-cursors [contenteditable="true"] { cursor: var(--cursor-text); }
.pixel-cursors :disabled { cursor: var(--cursor-not-allowed); }
.pixel-cursors [aria-busy="true"] { cursor: var(--cursor-progress); }
