/* Native 32px bitmaps; the browser moves the cursor, with no follower or loop. */
:root {
  --cursor-arrow: url("assets/cursors/win97-arrow.png") 1 1, default;
  --cursor-pointer: url("assets/cursors/win97-pointer.png") 12 3, pointer;
  --cursor-text: url("assets/cursors/win97-text.png") 15 16, text;
  --cursor-loading: url("assets/cursors/win97-loading.png") 15 16, wait;
  --cursor-move: url("assets/cursors/win97-move.png") 15 15, move;
  --cursor-horizontal: url("assets/cursors/win97-resize-horizontal.png") 15 15, ew-resize;
  --cursor-vertical: url("assets/cursors/win97-resize-vertical.png") 15 16, ns-resize;
  --cursor-diagonal-1: url("assets/cursors/win97-resize-diagonal-1.png") 16 16, nwse-resize;
  --cursor-diagonal-2: url("assets/cursors/win97-resize-diagonal-2.png") 15 16, nesw-resize;
  cursor: var(--cursor-arrow) !important;
}
/* Override legacy and embedded-page defaults; descendants inherit active state. */
*, *::before, *::after { cursor: inherit !important; }
button, a[href], summary, select, label[for], [role="button"], [role="menuitem"],
input:is([type="submit"],[type="button"],[type="checkbox"],[type="radio"],[type="range"]),
[data-cursor="pointer"] { cursor: var(--cursor-pointer) !important; }
input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
textarea, [contenteditable="true"], [data-cursor="text"] { cursor: var(--cursor-text) !important; }
.window[data-window]:not(.maximized) > .titlebar,
.window.dragging, .window.dragging * { cursor: var(--cursor-move) !important; }
.window[data-window] > .titlebar button { cursor: var(--cursor-pointer) !important; }
.window[data-window].dragging, .window[data-window].dragging * { cursor: var(--cursor-move) !important; }
[data-resize="e"], [data-resize="w"] { cursor: var(--cursor-horizontal) !important; }
[data-resize="n"], [data-resize="s"] { cursor: var(--cursor-vertical) !important; }
.resize-grip, [data-resize="nw"], [data-resize="se"] { cursor: var(--cursor-diagonal-1) !important; }
[data-resize="ne"], [data-resize="sw"] { cursor: var(--cursor-diagonal-2) !important; }
/* Put loading last, including children which have their own cursor state. */
[aria-busy="true"], [aria-busy="true"] *,
#login-layer.logging-in, #login-layer.logging-in * { cursor: var(--cursor-loading) !important; }
@media (max-width:900px) {
  .window[data-window] > .titlebar { cursor: var(--cursor-arrow) !important; }
}
