#preview a:has(>img),#board a:has(>img){position:relative;overflow:visible;isolation:isolate;outline-offset:6px}
#preview a:has(>img)::before,#board a:has(>img)::before,#preview a:has(>img)::after,#board a:has(>img)::after{position:absolute;pointer-events:none;opacity:0;color:#fff;font-size:16px;line-height:1;letter-spacing:0;text-shadow:0 0 3px #fff,0 0 7px #7acbff,0 0 12px #85c5ff;z-index:2}
#preview a:has(>img)::before,#board a:has(>img)::before{content:'✦';top:2px;left:1px}
#preview a:has(>img)::after,#board a:has(>img)::after{content:'✧';right:-2px;bottom:3px;font-size:22px}
#preview a:has(>img):is(:hover,:focus-visible)::before,#board a:has(>img):is(:hover,:focus-visible)::before{animation:icon-twinkle .95s ease-in-out infinite}
#preview a:has(>img):is(:hover,:focus-visible)::after,#board a:has(>img):is(:hover,:focus-visible)::after{animation:icon-twinkle 1.15s .22s ease-in-out infinite}
#preview a:has(>img):is(:hover,:focus-visible)>img,#board a:has(>img):is(:hover,:focus-visible)>img{filter:drop-shadow(0 0 4px #c3edff) drop-shadow(0 0 8px #9ad2ff);animation:icon-glimmer 1.4s ease-in-out infinite}
.celestial-nameplate{position:fixed;z-index:2147483645;pointer-events:none;max-width:min(280px,calc(100vw - 16px));padding:7px 13px;border:1px solid #b8d8ef;border-radius:10px;background:linear-gradient(135deg,#ffffff,#eaf5ff);color:#4a6f9d;box-shadow:0 4px 14px #739cc533,inset 0 1px 0 #fff;font:700 12px/1.5 'Malgun Gothic',sans-serif;text-align:center;overflow-wrap:anywhere;letter-spacing:.2px}
.celestial-nameplate::before{content:'✦';color:#8fbee0;margin-right:6px;font-size:10px}.celestial-nameplate::after{content:'✦';color:#8fbee0;margin-left:6px;font-size:10px}
.cursor-hotspot{position:fixed;z-index:2147483647;pointer-events:none;width:12px;height:12px;filter:drop-shadow(0 0 1px #fff);transform-origin:2px 2px}.cursor-hotspot svg{display:block}.cursor-hotspot.is-pressing{transform:scale(.86)}
.celestial-nameplate[hidden],.cursor-hotspot[hidden]{display:none!important}
@keyframes icon-twinkle{0%,100%{opacity:0;transform:scale(.35) rotate(-20deg)}45%{opacity:1;transform:scale(1.2) rotate(12deg)}70%{opacity:.6;transform:scale(.8) rotate(30deg)}}
@keyframes icon-glimmer{0%,100%{filter:drop-shadow(0 0 3px #c3edff)}50%{filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 10px #93cfff)}}
@media(prefers-reduced-motion:reduce){#preview a:has(>img):is(:hover,:focus-visible)::before,#preview a:has(>img):is(:hover,:focus-visible)::after,#board a:has(>img):is(:hover,:focus-visible)::before,#board a:has(>img):is(:hover,:focus-visible)::after{animation:none;opacity:1}#preview a:has(>img)>img,#board a:has(>img)>img{animation:none!important}}
@media(pointer:coarse){.cursor-hotspot{display:none!important}}

html.cursor-art-active,html.cursor-art-active body,html.cursor-art-active body *{cursor:none!important}
.cursor-hotspot{width:54px;height:54px;filter:none}.cursor-character-art{position:absolute;left:1px;top:1px;width:48px;height:48px;max-width:none;pointer-events:none;user-select:none;object-fit:contain}.cursor-hotspot svg{position:absolute;left:0;top:0;z-index:1;filter:drop-shadow(0 0 1px #fff)}
