.cursor03-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  overflow: visible;
  z-index: 10000;
  display: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 90ms ease, visibility 90ms ease;
}

html.cursor03-ready .cursor03-overlay { display: block; }
html.cursor03-visible .cursor03-overlay { opacity: 1; visibility: visible; }
html.cursor03-native .cursor03-overlay { opacity: 0; visibility: hidden; }

html.cursor03-ready,
html.cursor03-ready body,
html.cursor03-ready a,
html.cursor03-ready button,
html.cursor03-ready [role="button"],
html.cursor03-ready [data-cursor] { cursor: none !important; }

html.cursor03-ready input,
html.cursor03-ready textarea,
html.cursor03-ready select,
html.cursor03-ready [contenteditable="true"],
html.cursor03-ready iframe,
html.cursor03-native,
html.cursor03-native body { cursor: auto !important; }

html.cursor03-ready input,
html.cursor03-ready textarea,
html.cursor03-ready [contenteditable="true"] { cursor: text !important; }

.cursor03-overlay .cursor03-point,
.cursor03-overlay .cursor03-echo { fill: #c9ff00; }
.cursor03-outline {
  fill: none;
  stroke: #c9ff00;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cursor03-label {
  fill: #f5f5f5;
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 850;
  text-anchor: middle;
  letter-spacing: .02em;
}
.cursor03-play-bar { stroke: #c9ff00; stroke-width: 2; stroke-linecap: round; }
.cursor03-play-line { stroke: #f5f5f5; stroke-width: 2; stroke-linecap: round; }
.cursor03-play-plate { fill: #c9ff00; }
.cursor03-play-triangle { fill: #050505; }
.cursor03-arrow { fill: none; stroke: #c9ff00; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

html.intro02-active .cursor03-overlay { opacity: 0 !important; visibility: hidden !important; }

@media (hover: none), (pointer: coarse) {
  .cursor03-overlay { display: none !important; }
  html.cursor03-ready,
  html.cursor03-ready body,
  html.cursor03-ready a,
  html.cursor03-ready button,
  html.cursor03-ready [role="button"],
  html.cursor03-ready [data-cursor] { cursor: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
  .cursor03-overlay { transition: none; }
}
