#ca-cursor{position:fixed;left:0;top:0;pointer-events:none;z-index:100;opacity:0;will-change:transform;filter:drop-shadow(0 1px 2px #0009)}
#ca-cursor.visible{opacity:1}
#ca-cursor .arrow{position:absolute;left:-3px;top:-3px;width:26px;height:26px;transform-origin:3px 3px;transition:transform .2s;filter:drop-shadow(0 0 1px #242820)}
#ca-cursor .arrow path{fill:transparent;stroke:#eeeae2;stroke-width:1.6;stroke-linejoin:miter;transition:fill .2s}
#ca-cursor[data-mode=link] .arrow{transform:scale(1.22)}
#ca-cursor[data-mode=link] .arrow path{fill:#eeeae2}
#ca-cursor .cube{position:absolute;left:var(--cx,22px);top:var(--cy,24px);width:42px;height:42px;display:grid;place-items:center;perspective:180px;transform:rotate(var(--roll,0deg))}
#ca-cursor .rotor{width:23px;height:23px;position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx,-24deg)) rotateY(var(--ry,35deg)) rotateZ(var(--rz,0deg));will-change:transform}
#ca-cursor .facet{position:absolute;inset:0;border:1px solid #eeeae2;background:none;backface-visibility:visible;--depth:11.5px;transition:transform .32s}
#ca-cursor .front{transform:translateZ(var(--depth))}#ca-cursor .back{transform:rotateY(180deg) translateZ(var(--depth))}#ca-cursor .east{transform:rotateY(90deg) translateZ(var(--depth))}#ca-cursor .west{transform:rotateY(-90deg) translateZ(var(--depth))}#ca-cursor .roof{transform:rotateX(90deg) translateZ(var(--depth))}#ca-cursor .floor{transform:rotateX(-90deg) translateZ(var(--depth))}
#ca-cursor[data-mode=link] .facet{--depth:15px}#ca-cursor.down .facet{--depth:9px}
#ca-cursor .cursor-label{position:absolute;left:calc(var(--cx,22px) + 49px);top:calc(var(--cy,24px) + 21px);white-space:nowrap;font:9px monospace;letter-spacing:.13em;background:#242820e8;color:#eeeae2;padding:5px 7px;opacity:0;transition:opacity .2s}
#ca-cursor[data-mode=link] .cursor-label{opacity:1}
html.ca-custom-cursor,html.ca-custom-cursor *{cursor:none!important}
/* Immediate arbitration with the actual lens state, including asynchronous image loads. */
body:has(.detail-lens[data-visible=true]) #ca-cursor .cube,
body:has(.detail-lens[data-visible=true]) #ca-cursor .cursor-label{visibility:hidden;opacity:0;transition:none}
@media(prefers-reduced-motion:reduce){#ca-cursor *{transition:none!important}}
@media(hover:none) and (pointer:coarse){#ca-cursor{display:none}}
