/* 32x32 cursors only — larger SVGs / filters fail on Windows and fall back to default. */

:root {
  --rosin-cursor-auto: url("/img/cursors/galaxy.svg") 7 5, auto;
  --rosin-cursor-pointer: url("/img/cursors/galaxy.svg") 7 5, pointer;
  --rosin-cursor-image: url("/img/cursors/galaxy-image.svg") 13 13, pointer;
}

html[data-rosin-theme="violet"] {
  --rosin-cursor-auto: url("/img/cursors/violet.svg") 7 5, auto;
  --rosin-cursor-pointer: url("/img/cursors/violet.svg") 7 5, pointer;
  --rosin-cursor-image: url("/img/cursors/violet-image.svg") 13 13, pointer;
}

html[data-rosin-theme="pink"] {
  --rosin-cursor-auto: url("/img/cursors/pink.svg") 7 5, auto;
  --rosin-cursor-pointer: url("/img/cursors/pink.svg") 7 5, pointer;
  --rosin-cursor-image: url("/img/cursors/pink-image.svg") 13 13, pointer;
}

html[data-rosin-theme="ice"] {
  --rosin-cursor-auto: url("/img/cursors/ice.svg") 7 5, auto;
  --rosin-cursor-pointer: url("/img/cursors/ice.svg") 7 5, pointer;
  --rosin-cursor-image: url("/img/cursors/ice-image.svg") 13 13, pointer;
}

html[data-rosin-theme="rosepine"] {
  --rosin-cursor-auto: url("/img/cursors/rosepine.svg") 7 5, auto;
  --rosin-cursor-pointer: url("/img/cursors/rosepine.svg") 7 5, pointer;
  --rosin-cursor-image: url("/img/cursors/rosepine-image.svg") 13 13, pointer;
}

html[data-rosin-theme="galaxy"] {
  --rosin-cursor-auto: url("/img/cursors/galaxy.svg") 7 5, auto;
  --rosin-cursor-pointer: url("/img/cursors/galaxy.svg") 7 5, pointer;
  --rosin-cursor-image: url("/img/cursors/galaxy-image.svg") 13 13, pointer;
}

html[data-rosin-theme="peak"] {
  --rosin-cursor-auto: url("/img/cursors/peak.svg") 7 5, auto;
  --rosin-cursor-pointer: url("/img/cursors/peak.svg") 7 5, pointer;
  --rosin-cursor-image: url("/img/cursors/peak-image.svg") 13 13, pointer;
}

html[data-rosin-theme="midnight"] {
  --rosin-cursor-auto: url("/img/cursors/midnight.svg") 7 5, auto;
  --rosin-cursor-pointer: url("/img/cursors/midnight.svg") 7 5, pointer;
  --rosin-cursor-image: url("/img/cursors/midnight-image.svg") 13 13, pointer;
}

html,
body {
  cursor: var(--rosin-cursor-auto);
}

a,
a[href],
button,
[role="button"],
label[for],
select,
summary,
.nav-btn,
.omnibar-menu-item,
.btn,
.tab,
.n-bookmark,
.n-home-quicklink,
.rosin-transport-opt,
.rosin-n-theme-opt,
.n-shell-switch-tabs-btn,
.n-omnibar-menu-btn,
.omnibar-btn,
.tab-close,
.liveshare-btn,
.loom-nav-link,
.loom-language,
.n-bookmark-modal-btn,
.n-bookmark-modal-close,
.swatch-well,
.toggle-row,
.preset-row .btn,
.panel-section .btn {
  cursor: var(--rosin-cursor-pointer) !important;
}

img,
picture > img,
video,
[role="img"] {
  cursor: var(--rosin-cursor-image) !important;
}

input[type="text"],
input[type="search"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea,
[contenteditable="true"] {
  cursor: text;
}

input[type="color"] {
  cursor: var(--rosin-cursor-pointer) !important;
}

.disabled,
[disabled],
.nav-btn:disabled {
  cursor: not-allowed !important;
}

.home-mascot.is-dragging,
.home-mascot.is-dragging * {
  cursor: grabbing !important;
}

.tab-bar .tab:not(.tab--dragging) {
  cursor: var(--rosin-cursor-pointer) !important;
}

.tab-bar.tab-bar--sorting .tab {
  cursor: grabbing !important;
}
