.screen-ant {
    position: fixed;
    top: 0;
    left: 0;
    width: 44px;
    height: 25px;
    z-index: 900;
    pointer-events: auto;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
    color: #536781;
    filter: drop-shadow(0 1px 1px #0003);
    will-change: transform;
}
.screen-ant::before { content: ''; position: absolute; inset: -9px; border-radius: 50%; }
.screen-ant svg { display: block; width: 100%; height: 100%; overflow: visible; }
.screen-ant-legs { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.screen-ant-stride-a { transform-origin: 35px 19px; animation: ant-step 180ms ease-in-out infinite alternate; }
.screen-ant-stride-b { transform-origin: 35px 19px; animation: ant-step 180ms ease-in-out infinite alternate-reverse; }
@keyframes ant-step { from { transform: rotate(-7deg); } to { transform: rotate(7deg); } }
.screen-ant--paused .screen-ant-legs { animation-play-state: paused; }
.screen-ant--fleeing .screen-ant-legs { animation-duration: 75ms; }
.screen-ant--resting .screen-ant-legs { animation-play-state: paused; }
.screen-ant-antenna--upper { transform-origin: 52px 15px; }
.screen-ant-antenna--lower { transform-origin: 52px 23px; }
.screen-ant--resting .screen-ant-antenna--upper { animation: ant-feel 400ms ease-in-out infinite alternate; }
.screen-ant--resting .screen-ant-antenna--lower { animation: ant-feel 500ms 100ms ease-in-out infinite alternate-reverse; }
.screen-ant--paused .screen-ant-antenna { animation-play-state: paused; }
@keyframes ant-feel { from { transform: rotate(-9deg); } to { transform: rotate(9deg); } }
@media (prefers-reduced-motion: reduce) { .screen-ant { display: none; } }
@media print { .screen-ant { display: none; } }
