#grain {
  position: fixed; inset: 0; z-index: 9998;
  pointer-events: none; opacity: 0.025;
  mix-blend-mode: screen; width: 100vw; height: 100vh;
}
.cur, .cur-ring {
  position: fixed; border-radius: 50%;
  pointer-events: none; z-index: 10000;
  transform: translate(-50%, -50%);
}
.cur { width: 7px; height: 7px; background: var(--accent); transition: opacity 0.2s; top: 0; left: 0; }
.cur-ring {
  width: 34px; height: 34px; border: 1px solid rgba(0,255,209,0.4);
  top: 0; left: 0;
  transition: width 0.25s var(--ease), height 0.25s var(--ease), border-color 0.25s;
}
body.ch .cur-ring { width: 52px; height: 52px; border-color: var(--accent); background: rgba(0,255,209,0.06); }
@media (hover: none) { .cur, .cur-ring { display: none; } }
@media (max-width: 768px), (hover: none) { #grain { display: none; } }
