.update-banner{position:fixed;z-index:100;top:12px;left:50%;transform:translateX(-50%);width:min(94vw,760px);box-shadow:0 8px 40px #0008;margin:0}.in-task .update-banner{top:12px;bottom:auto;left:50%;right:auto}.motion-note{font-size:13px;color:var(--muted)}.activity-bike>.lumi-rig{top:-2px;left:18px;transform-origin:50% 80%;animation:cycle-rider 1.4s linear infinite}.activity-bike .lumi-hand.right{transform:rotate(35deg);animation:none}.activity-bike .lumi-hand.left{transform:rotate(-35deg);animation:none}.pedal-crank{transform-origin:65px 43px;animation:wheel-turn 1.4s linear infinite}.pedal-leg{fill:none;stroke:#55c6fc;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.pedal-leg-a{animation:pedal-a 1.4s linear infinite}.pedal-leg-b{stroke:#8c77fa;animation:pedal-b 1.4s linear infinite}.activity-ball>.lumi-rig{animation:kick-prepare 2.8s ease-in-out infinite}.kicking-foot{fill:#55c6fc;transform-origin:57px 18px;animation:foot-strike 2.8s ease-in-out infinite}.soccer-ball{animation:ball-flight 2.8s linear infinite}.activity-ball .lumi-hand.right{animation:kick-arm 2.8s ease-in-out infinite}.activity-bike .bike-wheel{animation-duration:1.4s}.lumi-activity{overflow:visible}
@keyframes cycle-rider{0%,100%{transform:rotate(-6deg) translateY(1px)}25%,75%{transform:rotate(-3deg) translateY(-3px)}50%{transform:rotate(-6deg) translateY(0)}}@keyframes pedal-a{0%,100%{d:path('M62 8 L52 24 L80 43')}25%{d:path('M62 8 L81 28 L65 58')}50%{d:path('M62 8 L58 39 L50 43')}75%{d:path('M62 8 L43 20 L65 28')}}@keyframes pedal-b{0%,100%{d:path('M62 8 L58 39 L50 43')}25%{d:path('M62 8 L43 20 L65 28')}50%{d:path('M62 8 L52 24 L80 43')}75%{d:path('M62 8 L81 28 L65 58')}}@keyframes kick-prepare{0%,100%{transform:translateX(0)}15%{transform:translate(-7px,0) rotate(-9deg)}26%{transform:translate(6px,-3px) rotate(7deg)}40%,75%{transform:none}}@keyframes foot-strike{0%,100%{transform:rotate(0)}15%{transform:rotate(26deg)}26%{transform:rotate(-48deg)}45%,75%{transform:rotate(0)}}@keyframes ball-flight{0%,24%,100%{transform:translate(0,0) rotate(0)}45%{transform:translate(20px,-38px) rotate(150deg)}62%{transform:translate(25px,0) rotate(230deg)}76%{transform:translate(13px,-13px) rotate(290deg)}90%{transform:translate(0,0) rotate(360deg)}}@keyframes kick-arm{15%{transform:rotate(22deg)}26%{transform:rotate(-30deg)}45%,100%{transform:none}}
html[data-motion=reduced] .lumi-rig *,html[data-motion=reduced] .lumi-activity *,html[data-motion=reduced] .breathing-node,html[data-motion=reduced] .breathing-node:after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .lumi-activity *{animation:none!important}}
/* Explicit opt-in can override an OS/browser reduced-motion preference. */
html[data-motion=full] .lumi-body{animation:lumi-breathe 4s ease-in-out infinite!important}html[data-motion=full] .lumi-eyes{animation:lumi-blink 5.3s infinite!important}html[data-motion=full] .lumi-hand.right{animation:lumi-wave 5s ease-in-out infinite!important}html[data-motion=full] .lumi-mote{animation:lumi-orbit-small 6s ease-in-out infinite!important}html[data-motion=full] .lumi-attentive .lumi-hand.right{animation:none!important}html[data-motion=full] .lumi-celebrate .lumi-body,html[data-motion=full] .lumi-complete .lumi-body{animation:lumi-big-hop .65s ease-in-out 2!important}html[data-motion=full] .lumi-support .lumi-body{animation:lumi-encourage 1.2s ease-in-out 2!important}html[data-motion=full] .lumi-celebrate .lumi-stars,html[data-motion=full] .lumi-complete .lumi-stars{animation:lumi-stars .9s ease-out 2!important}html[data-motion=full] .activity-bike>.lumi-rig{animation:cycle-rider 1.4s linear infinite!important}html[data-motion=full] .bike-wheel,html[data-motion=full] .pedal-crank{animation:wheel-turn 1.4s linear infinite!important}html[data-motion=full] .pedal-leg-a{animation:pedal-a 1.4s linear infinite!important}html[data-motion=full] .pedal-leg-b{animation:pedal-b 1.4s linear infinite!important}html[data-motion=full] .activity-ball>.lumi-rig{animation:kick-prepare 2.8s ease-in-out infinite!important}html[data-motion=full] .kicking-foot{animation:foot-strike 2.8s ease-in-out infinite!important}html[data-motion=full] .soccer-ball{animation:ball-flight 2.8s linear infinite!important}html[data-motion=full] .activity-bike .lumi-hand.right{animation:none!important}html[data-motion=full] .activity-ball .lumi-hand.right{animation:kick-arm 2.8s ease-in-out infinite!important}

html[data-motion=full] .lumi-activity:not(.scene-visible) *{animation-play-state:paused!important}

.lumi-celebrate .lumi-body,.lumi-complete .lumi-body{animation:lumi-big-hop .65s ease-in-out 2,lumi-breathe 4s 1.3s ease-in-out infinite}.lumi-support .lumi-body{animation:lumi-encourage 1.2s ease-in-out 2,lumi-breathe 4s 2.4s ease-in-out infinite}
html[data-motion=full] .lumi-celebrate .lumi-body,html[data-motion=full] .lumi-complete .lumi-body{animation:lumi-big-hop .65s ease-in-out 2,lumi-breathe 4s 1.3s ease-in-out infinite!important}html[data-motion=full] .lumi-support .lumi-body{animation:lumi-encourage 1.2s ease-in-out 2,lumi-breathe 4s 2.4s ease-in-out infinite!important}
html[data-motion=full] .path-greeting .lumi-body{animation:lumi-hello 4s ease-in-out infinite!important}
