/* Robot cursor only: original page layout and component styles are untouched. */
.tu-robot-cursor{position:fixed;top:0;left:0;width:72px;height:72px;z-index:2147483647;pointer-events:none;visibility:hidden;will-change:transform;filter:drop-shadow(0 2px 3px #0004)}
.tu-robot-cursor.is-visible{visibility:visible}
.tu-robot-cursor svg{display:block;width:100%;height:100%;overflow:visible}
.tu-robot-cursor .robot-turn{transform-origin:56px 56px}
.tu-robot-cursor.is-spinning .robot-turn{animation:tu-robot-turn .8s ease-in-out 1}
.tu-robot-cursor .robot-blink{opacity:0;animation:tu-robot-photo-blink 4.6s infinite}
.tu-robot-cursor.is-pressed .cursor-tip{filter:brightness(1.2)}
@keyframes tu-robot-turn{from{transform:perspective(160px) rotateY(0deg)}to{transform:perspective(160px) rotateY(360deg)}}
@keyframes tu-robot-photo-blink{0%,43%,47%,100%{opacity:0}44%,46%{opacity:1}}
@media (hover:hover) and (pointer:fine){html.tu-robot-active,html.tu-robot-active *{cursor:none!important}html.tu-robot-active .tu-robot-native,html.tu-robot-active .tu-robot-native *{cursor:auto!important}html.tu-robot-active input,html.tu-robot-active textarea,html.tu-robot-active [contenteditable]:not([contenteditable=false]){cursor:text!important}}
@media(prefers-reduced-motion:reduce){.tu-robot-cursor .robot-turn,.tu-robot-cursor .robot-blink{animation:none!important}}

/* Match the site's teal palette, using its existing data-theme switch. */
.tu-robot-cursor{--tu-tip-edge:#075a59;--tu-tip-start:#ffffff;--tu-tip-end:#007f7b}
.tu-robot-cursor .robot-turn{filter:hue-rotate(-28deg) saturate(.8) brightness(1.02);transition:filter .25s ease}
.tu-robot-cursor .tip-outline{fill:var(--tu-tip-edge)}
.tu-robot-cursor .tip-start{stop-color:var(--tu-tip-start)}
.tu-robot-cursor .tip-end{stop-color:var(--tu-tip-end)}
html[data-theme=dark] .tu-robot-cursor{--tu-tip-edge:#b8fff0;--tu-tip-start:#30d8c5;--tu-tip-end:#087f79;filter:drop-shadow(0 2px 3px #0008)}
html[data-theme=dark] .tu-robot-cursor .robot-turn{filter:hue-rotate(-28deg) saturate(.9) brightness(.78) contrast(1.08) drop-shadow(0 0 2px #30d8c566)}
@media(prefers-reduced-motion:reduce){.tu-robot-cursor .robot-turn{transition:none}}
