/* The selection outline (aura.js): a thin line hugging the exact shape of the thing under the cursor
   (edge masks cut by arcade-art/room-v2/build_edges.py). No fill, no glow (owner, 13/10): white, with the
   collection's 1 px red/cyan fringe. A click flashes it once; the idle hint fades it in and out on one thing. */
.aura-glow { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 0.16s; }
.aura-glow.on, .aura-glow.peek, .aura-glow.attract { opacity: 1; }
.aura { position: absolute; inset: 0; background: #f6f7f5; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  filter: drop-shadow(-1px 0 0 rgba(255, 69, 58, 0.85)) drop-shadow(1px 0 0 rgba(0, 231, 252, 0.85)); }
.aura .art { display: none; }
.aura-glow.minor .aura { opacity: 0.85; }
.aura-glow.major .aura { opacity: 1; }
.aura-glow.burst .aura, .aura-glow.attract .aura { animation: aura-flash 0.5s steps(2) 1; }
@keyframes aura-flash { 0% { opacity: 0.2; } 50% { opacity: 1; } }
.aura-glow.peek { animation: aura-peek 0.8s ease-in-out forwards; }
@keyframes aura-peek { 0% { opacity: 0; } 35% { opacity: 1; } 100% { opacity: 0; } }
.sr-filters { position: absolute; width: 0; height: 0; }
@media (prefers-reduced-motion: reduce) { .aura-glow, .aura-glow .aura { animation: none !important; } }

/* ---- the rainbow line (owner 16/10: "no estilo rainbow seria legal o traço"), on the tight cut (art/masks-v2,
   build_silhouettes.py): the site's hard-stop rainbow (no violet) runs across each thing's own box (--rb-*, aura.js) and
   flows in steps; a dark hairline on both sides keeps it apart from the art. ?outline=old = the white line on the old cut. */
body.outline-rb .aura-glow { filter: drop-shadow(0 0 0.7px rgba(4, 6, 11, 0.95)) drop-shadow(0 0 0.7px rgba(4, 6, 11, 0.9)); }
body.outline-rb .aura { filter: none;
  background: linear-gradient(90deg, #ff453a 0 8.333%, #ff9f0a 0 16.667%, #ffe900 0 25%, #64ff00 0 33.333%, #00eadb 0 41.667%, #008cff 0 50%,
    #ff453a 0 58.333%, #ff9f0a 0 66.667%, #ffe900 0 75%, #64ff00 0 83.333%, #00eadb 0 91.667%, #008cff 0) no-repeat;
  background-size: calc(var(--rb-w, 200px) * 2) var(--rb-h, 200px);
  background-position: calc(var(--rb-x, 0px) - var(--rb-w, 200px)) var(--rb-y, 0px);
  animation: aura-rb 2.4s steps(24) infinite; }
body.outline-rb .aura-glow:is(.burst, .attract) .aura { animation: aura-rb 2.4s steps(24) infinite, aura-flash 0.5s steps(2) 1; }
@keyframes aura-rb {
  from { background-position: calc(var(--rb-x, 0px) - var(--rb-w, 200px)) var(--rb-y, 0px); }
  to { background-position: var(--rb-x, 0px) var(--rb-y, 0px); }
}
