@media (pointer: fine) {
    :root {
        --william-cursor-default: url("../cursors/william-cursor-default.png") 3 2;
        --william-cursor-pointer: url("../cursors/william-cursor-pointer.png") 9 3;
    }

    html,
    body,
    .desktop-shell,
    .desktop-area,
    .window,
    .window__content,
    .boot-sequence,
    .start-menu,
    .context-menu,
    .restart-dialog {
        cursor: var(--william-cursor-default), default;
    }

    button:not(:disabled),
    a[href],
    [role="button"],
    summary,
    label[for],
    [data-app],
    [data-start-app],
    [data-taskbar-app],
    [data-restart-trigger],
    [data-window-action],
    .desktop-icon,
    .taskbar__button,
    .start-menu__app,
    .start-menu__power,
    .context-menu__item,
    .restart-dialog__button,
    .window__control,
    .presentation-immersive-exit {
        cursor: var(--william-cursor-pointer), pointer !important;
    }

    input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    textarea,
    [contenteditable="true"],
    [contenteditable="plaintext-only"] {
        cursor: text !important;
    }

    button:disabled,
    [aria-disabled="true"],
    .is-disabled,
    .is-loading {
        cursor: not-allowed !important;
    }

    .window-resize-handle--n {
        cursor: n-resize !important;
    }

    .window-resize-handle--e {
        cursor: e-resize !important;
    }

    .window-resize-handle--s {
        cursor: s-resize !important;
    }

    .window-resize-handle--w {
        cursor: w-resize !important;
    }

    .window-resize-handle--ne {
        cursor: ne-resize !important;
    }

    .window-resize-handle--nw {
        cursor: nw-resize !important;
    }

    .window-resize-handle--se {
        cursor: se-resize !important;
    }

    .window-resize-handle--sw {
        cursor: sw-resize !important;
    }

    .pdf-viewport.is-hand-mode {
        cursor: grab !important;
    }

    .pdf-viewport.is-hand-mode.is-panning {
        cursor: grabbing !important;
    }

    .pdf-viewport.is-selection-mode {
        cursor: text !important;
    }

    body.is-booting,
    body.is-booting *,
    body.is-boot-revealing,
    body.is-boot-revealing * {
        cursor: none !important;
    }
}
