/* The pointer uses symmetric SVG coordinates, never a text-glyph baseline. */
#alchemy-field,#alchemy-trail,#alchemy-specials,.ritual-cursor,.ritual-cursor *{pointer-events:none!important}
#alchemy-specials{position:fixed;inset:0;z-index:20;pointer-events:none}
#alchemy-field{opacity:1}
.site-atmosphere .field-dust{opacity:.18}
.ritual-cursor{width:0;height:0;transition:opacity .15s;isolation:isolate}
.ritual-cursor .cursor-core{position:absolute;left:0;top:0;width:19px;height:19px;transform:translate(-50%,-50%);overflow:visible;fill:var(--paper,#fff8ec);stroke:#090c18;stroke-width:1.1;filter:drop-shadow(0 0 2px #03050a) drop-shadow(0 0 4px #badcf048);z-index:3}
.cursor-core .cursor-jewel{fill:var(--ice,#8ec8e2);stroke:#0c1321;stroke-width:.7}
.cursor-compass{position:absolute;left:0;top:0;width:40px;height:40px;transform:translate(-50%,-50%);overflow:visible;fill:none;stroke:var(--ice,#a8d9ef);stroke-width:.75;opacity:.57;filter:drop-shadow(0 0 3px #add8f52b);transition:width .25s,height .25s,opacity .2s}
.cursor-compass-arcs{transform-origin:0 0;animation:compass-turn 24s linear infinite}
.cursor-compass-inner{stroke:var(--ember,#ffa45a);stroke-width:.6;opacity:.75}
.cursor-compass-points{stroke:var(--paper,#fff8ec);stroke-width:.7;opacity:.6}
.ritual-cursor.over-control .cursor-compass{width:47px;height:47px;opacity:.82}
.ritual-cursor.over-control .cursor-jewel{fill:var(--ember,#ffa45a)}
@keyframes compass-turn{to{transform:rotate(360deg)}}
.ritual-sigil{position:absolute;left:0;top:0;width:104px;height:104px;transform:translate(-50%,-50%);fill:none;stroke:var(--ember,#ffa45a);stroke-width:.8;opacity:0;overflow:visible;filter:drop-shadow(0 0 4px #ffa45a30)}
.ritual-sigil circle,.ritual-sigil path{vector-effect:non-scaling-stroke}
.sigil-awakening{width:128px;height:128px;stroke:#d0bcf1;stroke-width:.7;z-index:1}
.awakening-script>circle,.awakening-script>path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--awakening-progress,0))}
.awakening-script>circle:nth-child(2){stroke:var(--ice,#8ec8e2);stroke-width:.5}
.awakening-script>circle:last-child{stroke:var(--ember,#ffa45a);stroke-width:.65}
.awakening-runes{opacity:var(--awakening-progress,0);stroke:var(--paper,#fff8ec);stroke-width:.65}
.awakening-release{opacity:0;stroke:var(--ice,#8ec8e2);stroke-width:.6;transform-origin:0 0}
.ritual-cursor[data-awakening=drawing] .sigil-awakening{opacity:.74}
.ritual-cursor[data-awakening=actuating] .sigil-awakening{opacity:.86;animation:ritual-awaken .46s ease-out both}
.ritual-cursor[data-awakening=actuating] .awakening-release{animation:ritual-release .46s ease-out both}
.ritual-cursor[data-ritual][data-awakening=drawing] .sigil-idle,.ritual-cursor[data-ritual][data-awakening=actuating] .sigil-idle{opacity:0;animation:none}
@keyframes ritual-awaken{0%{transform:translate(-50%,-50%) rotate(0) scale(1);opacity:.86;filter:drop-shadow(0 0 4px #c7c5f866)}35%{opacity:1;filter:drop-shadow(0 0 9px #bdc4ff8a)}100%{transform:translate(-50%,-50%) rotate(12deg) scale(.8);opacity:0}}
@keyframes ritual-release{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.38)}}
.sigil-purchase>circle,.sigil-purchase>path:not(.sigil-ticks){stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--sigil-progress,0))}
.sigil-purchase>circle:nth-child(2){stroke:var(--ice,#8ec8e2);stroke-width:.55}
.sigil-ticks{opacity:var(--sigil-progress,0);stroke:var(--paper,#fff8ec)}
.ritual-cursor[data-ritual="cart-drawing"] .sigil-purchase,.ritual-cursor[data-ritual="cart-ready"] .sigil-purchase{opacity:.85}
.ritual-cursor[data-ritual="cart-ready"] .sigil-purchase{animation:ritual-activate .55s ease-out,ritual-revolve 18s linear .55s infinite;filter:drop-shadow(0 0 7px #ffa45a66)}
.ritual-cursor[data-ritual="cart-ready"] .cursor-core{fill:var(--ember,#ffa45a)}
.sigil-idle{width:92px;height:92px;stroke:var(--ice,#8ec8e2);stroke-width:.65}
.sigil-idle>circle:nth-child(2){stroke:var(--ember,#ffa45a);stroke-dasharray:2 5}
.ritual-cursor[data-ritual="idle"] .sigil-idle{opacity:.64;animation:ritual-arrive .6s ease-out,ritual-revolve 28s linear .6s infinite reverse}
.sigil-star{width:74px;height:74px;stroke:var(--paper,#fff8ec)}
.ritual-cursor[data-ritual="star"] .sigil-star{opacity:.7;animation:ritual-arrive .25s ease-out}
.ritual-paused .ritual-cursor,.ritual-paused #alchemy-trail{opacity:0!important}
.ritual-paused .ritual-sigil,.ritual-paused .cursor-compass-arcs{animation-play-state:paused!important}
@keyframes ritual-arrive{from{opacity:0;transform:translate(-50%,-50%) scale(.72) rotate(-18deg)}to{transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes ritual-activate{0%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(1.1);stroke-width:1.2}100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes ritual-revolve{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.ritual-cursor,#alchemy-trail{display:none!important}.ritual-sigil,.cursor-compass-arcs{animation:none!important}}
