#novaFlyingAce{position:fixed;left:0;top:0;width:clamp(160px,19vw,240px);padding:0;border:0;background:none;z-index:48;cursor:pointer;filter:drop-shadow(0 8px 8px #0006);will-change:transform;visibility:hidden}
#novaFlyingAce[hidden]{display:none!important}
#novaFlyingAce svg{display:block;width:100%;height:auto;overflow:visible}
#novaFlyingAce:focus-visible{outline:2px solid #9ee9ff;outline-offset:2px;border-radius:20px}
#novaFlyingAce .ace-flight-rig{transform-origin:215px 235px;animation:aceAirframe 2.7s ease-in-out infinite}
#novaFlyingAce .ace-pilot{transform-origin:205px 220px;animation:aceSeatedLean 3.8s ease-in-out infinite}
#novaFlyingAce .ace-tail{transform-origin:183px 218px;animation:aceTail 1.5s ease-in-out infinite alternate}
#novaFlyingAce .ace-ear{transform-origin:174px 81px;animation:aceEar .93s ease-in-out infinite alternate}
#novaFlyingAce .ace-eyes{animation:aceBlink 4.9s infinite;transform-origin:232px 83px}
#novaFlyingAce .ace-pupils{animation:aceEyeScan 8.6s ease-in-out infinite}
#novaFlyingAce.ace-tracking .ace-pupils{animation:none;transform:translate(var(--ace-gaze-x,0px),var(--ace-gaze-y,0px))}
#novaFlyingAce .ace-brows{transform-origin:230px 70px;animation:aceEyebrows 8.6s ease-in-out infinite}
#novaFlyingAce .ace-goggles{transform-origin:0 0}
#novaFlyingAce .ace-goggle-side-strap{opacity:0}
#novaFlyingAce .ace-lens-reflections{animation:aceLensSweep 4.3s ease-in-out infinite alternate}
#novaFlyingAce .ace-glass-stars{animation:aceGlint 3.1s ease-in-out infinite}
#novaFlyingAce.ace-greeting .ace-pupils{animation:aceEyeGreeting .8s ease-in-out 3}
#novaFlyingAce .ace-wind{stroke-dasharray:24 12;animation:aceWind 1.3s linear infinite}
#novaFlyingAce.ace-still *{animation-play-state:paused!important}
#novaAceControl{position:fixed;bottom:14px;left:14px;z-index:65;font:12px/1.45 system-ui,sans-serif;color:#eaf4ff;max-width:calc(100vw - 90px)}
#novaAceControl summary{cursor:pointer;list-style:none;width:max-content;padding:8px 12px;border:1px solid #678aac88;border-radius:24px;background:#081422ed;box-shadow:0 3px 20px #0005}
#novaAceControl summary::-webkit-details-marker{display:none}
#novaAceControl[open] summary{margin-bottom:8px}
#novaAceControl .ace-panel{padding:13px;width:250px;max-width:100%;border:1px solid #678aac88;border-radius:14px;background:#081422f5;box-shadow:0 10px 30px #0008}
#novaAceControl p{margin:0 0 10px;color:#d6e3f3}
#novaAceControl button{min-height:36px;border:1px solid #6b91b4;border-radius:8px;background:#163149;color:#fff;padding:6px 10px;cursor:pointer;font:inherit;margin:0 5px 9px 0}
#novaAceControl a{color:#a8dfff}
#novaAceControl small{display:block;font-size:10px;color:#a9b9cc}
#novaAceMessage{position:fixed;left:14px;bottom:64px;z-index:64;max-width:min(320px,calc(100vw - 32px));padding:12px 16px;background:#fff8e8;color:#252534;border:2px solid #332a36;border-radius:15px;font:600 14px/1.45 system-ui,sans-serif;box-shadow:0 8px 24px #0005;pointer-events:none}
#novaAceMessage[hidden]{display:none}
@keyframes aceAirframe{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-4px) rotate(1.2deg)}}
@keyframes aceSeatedLean{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.2deg)}}
@keyframes aceTail{from{transform:rotate(-5deg)}to{transform:rotate(7deg)}}
@keyframes aceEar{to{transform:rotate(9deg)}}
@keyframes aceBlink{0%,42%,46%,90%,94%,100%{transform:scaleY(1)}44%,92%{transform:scaleY(.08)}}
@keyframes aceEyeScan{0%,10%,100%{transform:translate(0,0)}18%,29%{transform:translate(2.4px,-1.7px)}34%,39%{transform:translate(.5px,1.8px)}48%,60%{transform:translate(-2.3px,.6px)}68%,78%{transform:translate(1.7px,-2px)}86%,92%{transform:translate(0,0)}}
@keyframes aceEyebrows{0%,10%,39%,60%,100%{transform:translateY(0)}18%,29%,68%,78%{transform:translateY(-2px) rotate(-3deg)}48%,55%{transform:translateY(1px) rotate(2deg)}}
@keyframes aceLensSweep{from{transform:translateX(-9px) skewX(-5deg);opacity:.4}to{transform:translateX(12px) skewX(4deg);opacity:.9}}
@keyframes aceEyeGreeting{0%,100%{transform:translate(0,0)}50%{transform:translate(-2px,-1.5px)}}
@keyframes aceGlint{0%,30%,70%,100%{opacity:.6}45%,55%{opacity:1}}
@keyframes aceWind{0%{stroke-dashoffset:0;opacity:0}25%,65%{opacity:.4}100%{stroke-dashoffset:72;opacity:0}}
@media(prefers-reduced-motion:reduce){#novaFlyingAce *{animation:none!important}}
@media(max-width:680px){#novaAceControl{bottom:110px}#novaAceMessage{bottom:160px}}
