/* Native PNG cursors. Hotspots are part of each complete variable value. */
:where(:root){--theme-cursor-default:url("/assets/cursors/modern/32/default.png?v=20261030-png") 4 3, default;--theme-cursor-pointer:url("/assets/cursors/modern/32/pointer.png?v=20261030-png") 4 3, pointer;--theme-cursor-text:url("/assets/cursors/modern/32/text.png?v=20261030-png") 16 16, text;--theme-cursor-wait:url("/assets/cursors/modern/32/wait.png?v=20261030-png") 16 16, wait;--theme-cursor-progress:url("/assets/cursors/modern/32/progress.png?v=20261030-png") 4 3, progress;--theme-cursor-help:url("/assets/cursors/modern/32/help.png?v=20261030-png") 4 3, help;--theme-cursor-move:url("/assets/cursors/modern/32/move.png?v=20261030-png") 16 16, move;--theme-cursor-grab:url("/assets/cursors/modern/32/grab.png?v=20261030-move-v06") 16 16, move;--theme-cursor-grabbing:url("/assets/cursors/modern/32/grabbing.png?v=20261030-move-v06") 16 16, move;--theme-cursor-not-allowed:url("/assets/cursors/modern/32/not-allowed.png?v=20261030-png") 16 16, not-allowed;--theme-cursor-crosshair:url("/assets/cursors/modern/32/crosshair.png?v=20261030-png") 16 16, crosshair;--theme-cursor-cell:url("/assets/cursors/modern/32/cell.png?v=20261030-png") 16 16, cell;--theme-cursor-zoom-in:url("/assets/cursors/modern/32/zoom-in.png?v=20261030-png") 14 14, zoom-in;--theme-cursor-zoom-out:url("/assets/cursors/modern/32/zoom-out.png?v=20261030-png") 14 14, zoom-out;--theme-cursor-copy:url("/assets/cursors/modern/32/copy.png?v=20261030-png") 4 3, copy;--theme-cursor-alias:url("/assets/cursors/modern/32/alias.png?v=20261030-png") 4 3, alias;--theme-cursor-context-menu:url("/assets/cursors/modern/32/context-menu.png?v=20261030-png") 4 3, context-menu;--theme-cursor-vertical-text:url("/assets/cursors/modern/32/vertical-text.png?v=20261030-png") 16 16, vertical-text;--theme-cursor-resize-ew:url("/assets/cursors/modern/32/resize-ew.png?v=20261030-png") 16 16, ew-resize;--theme-cursor-resize-ns:url("/assets/cursors/modern/32/resize-ns.png?v=20261030-png") 16 16, ns-resize;--theme-cursor-resize-nwse:url("/assets/cursors/modern/32/resize-nwse.png?v=20261030-png") 16 16, nwse-resize;--theme-cursor-resize-nesw:url("/assets/cursors/modern/32/resize-nesw.png?v=20261030-png") 16 16, nesw-resize;--theme-cursor-col-resize:url("/assets/cursors/modern/32/col-resize.png?v=20261030-png") 16 16, col-resize;--theme-cursor-row-resize:url("/assets/cursors/modern/32/row-resize.png?v=20261030-png") 16 16, row-resize;--theme-cursor-resize-horizontal:url("/assets/cursors/modern/32/resize-ew.png?v=20261030-png") 16 16, ew-resize;--theme-cursor-resize-vertical:url("/assets/cursors/modern/32/resize-ns.png?v=20261030-png") 16 16, ns-resize;--theme-cursor-resize-45:url("/assets/cursors/modern/32/resize-nesw.png?v=20261030-png") 16 16, nesw-resize;--theme-cursor-resize-270:url("/assets/cursors/modern/32/resize-nwse.png?v=20261030-png") 16 16, nwse-resize;--theme-cursor-no-drop:url("/assets/cursors/modern/32/not-allowed.png?v=20261030-png") 16 16, no-drop;--theme-cursor-all-scroll:url("/assets/cursors/modern/32/move.png?v=20261030-png") 16 16, all-scroll;}
:where(:root[data-app-cursor-theme="light"]){--theme-cursor-default:url("/assets/cursors/light/32/default.png?v=20261030-png") 4 3, default;--theme-cursor-pointer:url("/assets/cursors/light/32/pointer.png?v=20261030-png") 4 3, pointer;--theme-cursor-text:url("/assets/cursors/light/32/text.png?v=20261030-png") 16 16, text;--theme-cursor-wait:url("/assets/cursors/light/32/wait.png?v=20261030-png") 16 16, wait;--theme-cursor-progress:url("/assets/cursors/light/32/progress.png?v=20261030-png") 4 3, progress;--theme-cursor-help:url("/assets/cursors/light/32/help.png?v=20261030-png") 4 3, help;--theme-cursor-move:url("/assets/cursors/light/32/move.png?v=20261030-png") 16 16, move;--theme-cursor-grab:url("/assets/cursors/light/32/grab.png?v=20261030-move-v06") 16 16, move;--theme-cursor-grabbing:url("/assets/cursors/light/32/grabbing.png?v=20261030-move-v06") 16 16, move;--theme-cursor-not-allowed:url("/assets/cursors/light/32/not-allowed.png?v=20261030-png") 16 16, not-allowed;--theme-cursor-crosshair:url("/assets/cursors/light/32/crosshair.png?v=20261030-png") 16 16, crosshair;--theme-cursor-cell:url("/assets/cursors/light/32/cell.png?v=20261030-png") 16 16, cell;--theme-cursor-zoom-in:url("/assets/cursors/light/32/zoom-in.png?v=20261030-png") 14 14, zoom-in;--theme-cursor-zoom-out:url("/assets/cursors/light/32/zoom-out.png?v=20261030-png") 14 14, zoom-out;--theme-cursor-copy:url("/assets/cursors/light/32/copy.png?v=20261030-png") 4 3, copy;--theme-cursor-alias:url("/assets/cursors/light/32/alias.png?v=20261030-png") 4 3, alias;--theme-cursor-context-menu:url("/assets/cursors/light/32/context-menu.png?v=20261030-png") 4 3, context-menu;--theme-cursor-vertical-text:url("/assets/cursors/light/32/vertical-text.png?v=20261030-png") 16 16, vertical-text;--theme-cursor-resize-ew:url("/assets/cursors/light/32/resize-ew.png?v=20261030-png") 16 16, ew-resize;--theme-cursor-resize-ns:url("/assets/cursors/light/32/resize-ns.png?v=20261030-png") 16 16, ns-resize;--theme-cursor-resize-nwse:url("/assets/cursors/light/32/resize-nwse.png?v=20261030-png") 16 16, nwse-resize;--theme-cursor-resize-nesw:url("/assets/cursors/light/32/resize-nesw.png?v=20261030-png") 16 16, nesw-resize;--theme-cursor-col-resize:url("/assets/cursors/light/32/col-resize.png?v=20261030-png") 16 16, col-resize;--theme-cursor-row-resize:url("/assets/cursors/light/32/row-resize.png?v=20261030-png") 16 16, row-resize;--theme-cursor-resize-horizontal:url("/assets/cursors/light/32/resize-ew.png?v=20261030-png") 16 16, ew-resize;--theme-cursor-resize-vertical:url("/assets/cursors/light/32/resize-ns.png?v=20261030-png") 16 16, ns-resize;--theme-cursor-resize-45:url("/assets/cursors/light/32/resize-nesw.png?v=20261030-png") 16 16, nesw-resize;--theme-cursor-resize-270:url("/assets/cursors/light/32/resize-nwse.png?v=20261030-png") 16 16, nwse-resize;--theme-cursor-no-drop:url("/assets/cursors/light/32/not-allowed.png?v=20261030-png") 16 16, no-drop;--theme-cursor-all-scroll:url("/assets/cursors/light/32/move.png?v=20261030-png") 16 16, all-scroll;}
:where(:root[data-app-cursor-theme="dark"]){--theme-cursor-default:url("/assets/cursors/dark/32/default.png?v=20261030-png") 4 3, default;--theme-cursor-pointer:url("/assets/cursors/dark/32/pointer.png?v=20261030-png") 4 3, pointer;--theme-cursor-text:url("/assets/cursors/dark/32/text.png?v=20261030-png") 16 16, text;--theme-cursor-wait:url("/assets/cursors/dark/32/wait.png?v=20261030-png") 16 16, wait;--theme-cursor-progress:url("/assets/cursors/dark/32/progress.png?v=20261030-png") 4 3, progress;--theme-cursor-help:url("/assets/cursors/dark/32/help.png?v=20261030-png") 4 3, help;--theme-cursor-move:url("/assets/cursors/dark/32/move.png?v=20261030-png") 16 16, move;--theme-cursor-grab:url("/assets/cursors/dark/32/grab.png?v=20261030-move-v06") 16 16, move;--theme-cursor-grabbing:url("/assets/cursors/dark/32/grabbing.png?v=20261030-move-v06") 16 16, move;--theme-cursor-not-allowed:url("/assets/cursors/dark/32/not-allowed.png?v=20261030-png") 16 16, not-allowed;--theme-cursor-crosshair:url("/assets/cursors/dark/32/crosshair.png?v=20261030-png") 16 16, crosshair;--theme-cursor-cell:url("/assets/cursors/dark/32/cell.png?v=20261030-png") 16 16, cell;--theme-cursor-zoom-in:url("/assets/cursors/dark/32/zoom-in.png?v=20261030-png") 14 14, zoom-in;--theme-cursor-zoom-out:url("/assets/cursors/dark/32/zoom-out.png?v=20261030-png") 14 14, zoom-out;--theme-cursor-copy:url("/assets/cursors/dark/32/copy.png?v=20261030-png") 4 3, copy;--theme-cursor-alias:url("/assets/cursors/dark/32/alias.png?v=20261030-png") 4 3, alias;--theme-cursor-context-menu:url("/assets/cursors/dark/32/context-menu.png?v=20261030-png") 4 3, context-menu;--theme-cursor-vertical-text:url("/assets/cursors/dark/32/vertical-text.png?v=20261030-png") 16 16, vertical-text;--theme-cursor-resize-ew:url("/assets/cursors/dark/32/resize-ew.png?v=20261030-png") 16 16, ew-resize;--theme-cursor-resize-ns:url("/assets/cursors/dark/32/resize-ns.png?v=20261030-png") 16 16, ns-resize;--theme-cursor-resize-nwse:url("/assets/cursors/dark/32/resize-nwse.png?v=20261030-png") 16 16, nwse-resize;--theme-cursor-resize-nesw:url("/assets/cursors/dark/32/resize-nesw.png?v=20261030-png") 16 16, nesw-resize;--theme-cursor-col-resize:url("/assets/cursors/dark/32/col-resize.png?v=20261030-png") 16 16, col-resize;--theme-cursor-row-resize:url("/assets/cursors/dark/32/row-resize.png?v=20261030-png") 16 16, row-resize;--theme-cursor-resize-horizontal:url("/assets/cursors/dark/32/resize-ew.png?v=20261030-png") 16 16, ew-resize;--theme-cursor-resize-vertical:url("/assets/cursors/dark/32/resize-ns.png?v=20261030-png") 16 16, ns-resize;--theme-cursor-resize-45:url("/assets/cursors/dark/32/resize-nesw.png?v=20261030-png") 16 16, nesw-resize;--theme-cursor-resize-270:url("/assets/cursors/dark/32/resize-nwse.png?v=20261030-png") 16 16, nwse-resize;--theme-cursor-no-drop:url("/assets/cursors/dark/32/not-allowed.png?v=20261030-png") 16 16, no-drop;--theme-cursor-all-scroll:url("/assets/cursors/dark/32/move.png?v=20261030-png") 16 16, all-scroll;}
:where(html,body) { cursor:var(--theme-cursor-default,default); }
:where(button,a[href],summary,select,input[type="button"],input[type="submit"],input[type="reset"],input[type="checkbox"],input[type="radio"],input[type="range"],input[type="color"],input[type="date"],input[type="time"],input[type="datetime-local"],input[type="file"],[role="button"],label[for]) { cursor:var(--theme-cursor-pointer,pointer); }
:where(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],input[type="number"],textarea,[contenteditable="true"],.selectable) { cursor:var(--theme-cursor-text,text); }
:disabled,[aria-disabled="true"] { cursor:var(--theme-cursor-not-allowed,not-allowed)!important; }
:where([aria-busy="true"]) { cursor:var(--theme-cursor-progress,progress); }
/* Moderne Checkboxen: sichtbares Kästchen und Beschriftung sind anklickbar. */
.cb-modern, .cb-modern * {
    cursor: var(--theme-cursor-pointer, pointer) !important;
}
.cb-modern:has(input[type="checkbox"]:disabled),
.cb-modern:has(input[type="checkbox"]:disabled) * {
    cursor: var(--theme-cursor-not-allowed, not-allowed) !important;
}

/* Auch der Inhalt nativer Listen sowie Icons in Bedienelementen gehören zur Klickfläche. */
select, option, optgroup { cursor: var(--theme-cursor-pointer, pointer); }
button > :is(span,svg,img), [role="button"] > :is(span,svg,img) { cursor: inherit; }
select:disabled, option:disabled { cursor: var(--theme-cursor-not-allowed, not-allowed); }

/* Unterstützte Browser zeichnen den Picker selbst statt als Betriebssystem-Menü. */
@supports (appearance: base-select) {
    select::picker-icon { cursor: var(--theme-cursor-pointer, pointer); }
    select:disabled::picker-icon { cursor: var(--theme-cursor-not-allowed, not-allowed); }
    select:not([multiple]):not([size]), select:not([multiple])[size="1"],
    select:not([multiple]):not([size])::picker(select), select:not([multiple])[size="1"]::picker(select) {
        appearance: base-select;
    }
    /* Auch bei einer vorgegebenen Höhe bleiben Auswahltext und Pfeil mittig. */
    select:not([multiple]):not([size]), select:not([multiple])[size="1"] {
        display: inline-flex;
        align-items: center;
        vertical-align: middle;
        line-height: normal;
    }
    select::picker-icon { align-self: center; }
    select::picker(select) {
        font: inherit;
        color: var(--theme-select-default-color);
        background: var(--theme-select-default-backcolor);
        border: 1px solid var(--theme-select-default-border-color);
        border-radius: var(--model-border-radius, 4px);
        cursor: var(--theme-cursor-pointer, pointer);
    }
    select:not([multiple]) option { padding: 6px 10px; }
}
