/* ------------------------------------------- 5b portal: multiplayer cursors -- */
/* Inserted by cursors.js only, so no JS renders nothing. Transform and opacity only. */
.cursors { position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: 0; transition: opacity 400ms var(--ease); }
.cursors.is-on { opacity: 1; }
.cursors__c { position: absolute; left: 0; top: 0; will-change: transform; pointer-events: none; }
.cursors__arrow { position: absolute; left: 0; top: 0; width: 16px; height: 20px; max-width: none; overflow: visible; filter: drop-shadow(0 1px 2px rgba(10, 42, 30, 0.3)); }
.cursors__shape { fill: var(--cur-bg); stroke: #fff; stroke-width: 1.2; stroke-linejoin: round; }
.cursors__pill {
  position: absolute; left: 11px; top: 15px; padding: 3px 9px; border-radius: 999px; white-space: nowrap;
  font: 600 11px/1.3 var(--sc-font-text); letter-spacing: 0.01em;
  background: var(--cur-bg); color: var(--cur-fg); box-shadow: var(--sc-e2);
}
.cursors__ring { position: absolute; left: 1px; top: 1px; width: 38px; height: 38px; border-radius: 50%; border: 2px solid var(--cur-bg); opacity: 0; transform: translate(-50%, -50%) scale(0.3); }
@media (max-width: 700px) {
  .cursors__arrow { width: 13px; height: 16px; max-width: none; }
  .cursors__pill { left: 9px; top: 13px; padding: 2px 7px; font-size: 9px; }
  .cursors__ring { width: 28px; height: 28px; }
}
