/* Keep the old screen fully covered until the new world has been drawn. */
.overlay.loading-overlay {
  padding: 0;
  background: #030302;
  backdrop-filter: none;
  animation: none;
  opacity: 1;
  transition: opacity 0.16s ease;
}
.loading-overlay .run-loading {
  animation: none;
}
.overlay.loading-overlay.loading-complete {
  opacity: 0;
}

html,
body,
#world,
.run-loading {
  cursor: var(--d2-cursor-open, default);
}
button,
a,
summary,
[role="button"],
[data-action],
.record-row,
.chronicle-scroll .record-row,
.help-icon,
.splash-screen.awaiting-continue,
#splash .continue-button {
  cursor: var(--d2-cursor-pointer, pointer);
}
:is(button, a, [role="button"], [data-action]):active,
#world:active {
  cursor: var(--d2-cursor-pressed, pointer);
}
.grid-item,
.item-socket,
.paper-slot.equipped,
.result-item {
  cursor: var(--d2-cursor-grab, grab);
}
.vendor-offer,
.gamble-offer {
  cursor: var(--d2-cursor-trade, pointer);
}
.item-carrying,
.item-carrying
  :is(.slot-grid, .paper-slot, .inventory-cell, .grid-item, .item-socket) {
  cursor: var(--d2-cursor-pressed, grabbing);
}
:is(button:disabled, [aria-disabled="true"], .talent-node.locked) {
  cursor: var(--d2-cursor-open, default);
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
textarea,
[contenteditable="true"] {
  cursor: text;
}
@media (prefers-reduced-motion: reduce) {
  .overlay.loading-overlay {
    transition: none;
  }
}
