/* V3 cursor: black core + green ring, morphing into contextual action circles */
.v2-cursor,
.v2-cursor-refined{display:none!important}

.v3-cursor{
  position:fixed;
  z-index:10020;
  left:-120px;
  top:-120px;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border:2px solid var(--v2-accent);
  border-radius:999px;
  background:transparent;
  box-shadow:0 0 0 1px rgba(23,23,20,.22);
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%);
  transition:
    width .38s var(--v2-ease),
    height .38s var(--v2-ease),
    background-color .32s var(--v2-ease),
    border-color .32s var(--v2-ease),
    box-shadow .32s ease,
    opacity .16s ease;
  will-change:left,top,width,height;
}
.v3-cursor.is-visible{opacity:1}

.v3-cursor-core{
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--v2-black);
  transform:scale(1);
  transition:transform .24s var(--v2-ease),opacity .18s ease;
}
.v3-cursor-label{
  position:relative;
  z-index:2;
  opacity:0;
  transform:translateY(5px) scale(.92);
  color:var(--v2-black);
  font:800 10px/1 monospace;
  letter-spacing:.08em;
  transition:opacity .18s ease .08s,transform .3s var(--v2-ease) .04s;
}

.v3-cursor.is-action{
  width:66px;
  height:66px;
  border-color:var(--v2-accent);
  background:var(--v2-accent);
  box-shadow:0 8px 28px rgba(23,23,20,.14);
}
.v3-cursor.is-view,
.v3-cursor.is-play{
  width:72px;
  height:72px;
}
.v3-cursor.is-action .v3-cursor-core{
  opacity:0;
  transform:scale(.3);
}
.v3-cursor.is-action .v3-cursor-label{
  opacity:1;
  transform:translateY(0) scale(1);
}

.v3-cursor.is-nav{
  width:62px;
  height:62px;
}

.v2-page-switching .v3-cursor,
.v2-page-reveal .v3-cursor,
.v2-intro-lock .v3-cursor{opacity:0!important}

@media (hover:hover) and (pointer:fine){
  html.v2-motion-ready,
  html.v2-motion-ready *,
  body.v2-motion-ready,
  body.v2-motion-ready *{cursor:none!important}
}

@media(prefers-reduced-motion:reduce), (hover:none), (pointer:coarse){
  .v3-cursor{display:none!important}
}
