.orbit-pointer{position:fixed;left:0;top:0;z-index:500;pointer-events:none;opacity:0;transition:opacity .12s;will-change:transform}
.orbit-pointer::before{content:"";position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:#ffe600;transition:width .2s,height .2s,left .2s,top .2s,background .14s,scale .14s}
.orbit-eye{position:absolute;top:-3px;width:3px;height:6px;border-radius:50%;background:#111;opacity:0;scale:.3;transition:opacity .12s,scale .18s,height .12s,top .12s}
.orbit-eye-left{left:-6px}.orbit-eye-right{left:3px}
.orbit-pointer.is-visible{opacity:1}
.orbit-pointer.is-card::before{width:27px;height:27px;left:-13.5px;top:-13.5px;background:#fff;box-shadow:inset 0 0 0 1px #b8b8b8;animation:orbit-wake .32s ease-out}
.orbit-pointer.is-card .orbit-eye{opacity:1;scale:1}
.orbit-pointer.is-down::before{scale:1.08 .8}
.orbit-pointer.is-down .orbit-eye{height:2px;top:-1px}
@keyframes orbit-wake{0%{scale:.75 1.15}55%{scale:1.1 .92}100%{scale:1}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){#stage.orbit-pointer-active,#stage.orbit-pointer-active .card{cursor:none}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.orbit-pointer{display:none}}
/* Cross-section continuity, with Mantou taking over only on gallery cards. */
.orbit-pointer.is-handoff{visibility:hidden;transition:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.custom-pointer-active,html.custom-pointer-active *{cursor:none!important}}
