/* Lucky Squares Ultra Character Pack
   Complete-body, state-driven vector animation for all themed pull-tab races. */
.ls-ultra-racer-art{
  position:absolute;
  inset:-44% -58% -58% -62%;
  z-index:4;
  display:block;
  pointer-events:none;
  transform-origin:50% 76%;
  will-change:transform;
}
.ls-ultra-racer-art svg{display:block;width:100%;height:100%;overflow:visible}
.ls-race-environment.has-theme-background{
  background-image:
    linear-gradient(180deg,rgba(2,6,23,.08),rgba(2,6,23,.22)),
    var(--theme-scene);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
.ls-race-environment.has-theme-background .ls-race-scene-layer,
.ls-race-environment.has-theme-background .ls-race-spectators{
  display:none;
}
.ls-ultra-racer-art.has-illustrated-atlas>svg{display:none}
.ls-illustrated-racer-atlas{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:124%;
  aspect-ratio:2/1;
  transform:translate(-50%,-50%);
  transform-origin:50% 72%;
  background-image:var(--illustrated-atlas);
  background-repeat:no-repeat;
  background-size:400% 200%;
  background-position:66.6667% 0%;
  filter:
    hue-rotate(var(--illustrated-hue,0deg))
    drop-shadow(0 3px 2px rgba(2,6,23,.72))
    drop-shadow(0 0 2px rgba(255,255,255,.28));
  will-change:transform,background-position,filter;
  animation:illustrated-cruise-pose var(--motion-cycle,.62s) steps(1,end) infinite;
  animation-delay:var(--racer-phase,0s);
}
.ls-illustrated-racer-atlas.theme-specific-atlas{
  background-size:400% 600%;
  background-position:0 0;
  filter:
    drop-shadow(0 3px 2px rgba(2,6,23,.72))
    drop-shadow(0 0 2px rgba(255,255,255,.28));
  animation:theme-atlas-cruise var(--motion-cycle,.72s) steps(1,end) infinite;
}
.ls-race-character[data-motion-state="start"] .theme-specific-atlas{
  animation:theme-atlas-start 1.45s steps(1,end) infinite;
}
.ls-race-character[data-motion-state="accelerating"] .theme-specific-atlas{
  animation:theme-atlas-accelerate .72s steps(1,end) infinite;
}
.ls-race-character[data-motion-state="cruising"] .theme-specific-atlas{
  animation:theme-atlas-cruise var(--motion-cycle,.72s) steps(1,end) infinite;
}
.ls-race-character[data-motion-state="overtaking"] .theme-specific-atlas{
  animation:theme-atlas-overtake .62s steps(1,end) infinite;
}
.ls-race-character[data-motion-state="tiring"] .theme-specific-atlas{
  animation:theme-atlas-tiring 1.15s steps(1,end) infinite;
}
.ls-race-character[data-motion-state="finishing"] .theme-specific-atlas{
  animation:theme-atlas-finish .82s steps(1,end) infinite;
}
.ls-race-character[data-motion-state="stopped"] .theme-specific-atlas{
  animation:none;
  background-position:33.3333% 100%;
}
.ls-race-character[data-motion-state="celebrating"] .theme-specific-atlas{
  animation:theme-atlas-celebrate .82s steps(1,end) infinite;
}
@keyframes theme-atlas-start{
  0%,24%{background-position:0 0}
  25%,49%{background-position:33.3333% 0}
  50%,74%{background-position:66.6667% 0}
  75%,100%{background-position:100% 0}
}
@keyframes theme-atlas-accelerate{
  0%,24%{background-position:0 20%}
  25%,49%{background-position:33.3333% 20%}
  50%,74%{background-position:66.6667% 20%}
  75%,100%{background-position:100% 20%}
}
@keyframes theme-atlas-cruise{
  0%,12%{background-position:0 40%}
  13%,24%{background-position:33.3333% 40%}
  25%,37%{background-position:66.6667% 40%}
  38%,49%{background-position:100% 40%}
  50%,62%{background-position:0 60%}
  63%,74%{background-position:33.3333% 60%}
  75%,87%{background-position:66.6667% 60%}
  88%,100%{background-position:100% 60%}
}
@keyframes theme-atlas-overtake{
  0%,24%{background-position:0 60%}
  25%,49%{background-position:33.3333% 60%}
  50%,74%{background-position:66.6667% 60%}
  75%,100%{background-position:100% 60%}
}
@keyframes theme-atlas-tiring{
  0%,49%{background-position:0 80%}
  50%,100%{background-position:33.3333% 80%}
}
@keyframes theme-atlas-finish{
  0%,24%{background-position:0 80%}
  25%,49%{background-position:33.3333% 80%}
  50%,74%{background-position:66.6667% 80%}
  75%,100%{background-position:100% 80%}
}
@keyframes theme-atlas-celebrate{
  0%,49%{background-position:66.6667% 100%}
  50%,100%{background-position:100% 100%}
}
.ls-race-character[data-motion-state="start"] .ls-illustrated-racer-atlas:not(.theme-specific-atlas){
  background-position:0% 0%;
  animation:illustrated-ready 1.1s ease-in-out infinite;
}
.ls-race-character[data-motion-state="accelerating"] .ls-illustrated-racer-atlas:not(.theme-specific-atlas){
  background-position:33.3333% 0%;
  animation:illustrated-accelerate var(--motion-cycle-fast,.48s) ease-in-out infinite alternate;
}
.ls-race-character[data-motion-state="cruising"] .ls-illustrated-racer-atlas:not(.theme-specific-atlas){
  animation-name:illustrated-cruise-pose;
}
.ls-race-character[data-motion-state="overtaking"] .ls-illustrated-racer-atlas:not(.theme-specific-atlas){
  background-position:0% 100%;
  animation:illustrated-overtake var(--motion-cycle-fast,.48s) ease-in-out infinite alternate;
}
.ls-race-character[data-motion-state="tiring"] .ls-illustrated-racer-atlas:not(.theme-specific-atlas){
  background-position:33.3333% 100%;
  animation:illustrated-tiring var(--motion-cycle-slow,.84s) ease-in-out infinite alternate;
}
.ls-race-character[data-motion-state="finishing"] .ls-illustrated-racer-atlas:not(.theme-specific-atlas){
  background-position:66.6667% 100%;
  animation:illustrated-finish var(--motion-cycle-fast,.48s) ease-in-out infinite alternate;
}
.ls-race-character[data-motion-state="stopped"] .ls-illustrated-racer-atlas:not(.theme-specific-atlas){
  background-position:66.6667% 100%;
  animation:none;
  transform:translate(-50%,-50%);
}
.ls-race-character[data-motion-state="celebrating"] .ls-illustrated-racer-atlas:not(.theme-specific-atlas){
  background-position:100% 100%;
  animation:illustrated-celebrate .72s cubic-bezier(.2,.8,.3,1) infinite;
}
.ls-ultra-racer-art .ultra-art-root{
  transform-origin:50% 72%;
  animation:ultra-body-cruise var(--motion-cycle,.62s) ease-in-out infinite alternate;
  animation-delay:var(--racer-phase,0s);
}
.ls-race-character.has-ultra-art>.ls-race-character-body,
.ls-race-character.has-ultra-art>.ls-race-character-rig{opacity:0!important}
.ls-race-character.has-ultra-art>.ls-race-number-plate{
  z-index:9;
  top:31%;
  left:47%;
  min-width:1.55em;
  padding:.04em .18em .07em;
  border:2px solid #111827;
  border-radius:.22em;
  color:#0f172a;
  background:
    linear-gradient(135deg,rgba(255,255,255,.95),rgba(241,245,249,.93) 58%,rgba(203,213,225,.95));
  box-shadow:
    0 2px 3px rgba(2,6,23,.55),
    inset 0 1px 0 #fff,
    0 0 0 2px color-mix(in srgb,var(--racer-main) 55%,transparent);
  transform:translate(-50%,-50%) rotate(-2deg);
  transform-origin:50% 80%;
  animation:ultra-plate-cruise var(--motion-cycle,.62s) ease-in-out infinite alternate;
  font-weight:1000;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.04em;
}
.ls-race-character.has-ultra-art>.ls-race-number-plate::before,
.ls-race-character.has-ultra-art>.ls-race-number-plate::after{
  content:"";
  position:absolute;
  top:-.22em;
  width:.22em;
  height:.32em;
  border:1px solid #111827;
  border-radius:999px;
  background:var(--racer-dark);
}
.ls-race-character.has-ultra-art>.ls-race-number-plate::before{left:.13em}
.ls-race-character.has-ultra-art>.ls-race-number-plate::after{right:.13em}
.ls-race-character[data-motion-state="start"] .ls-ultra-racer-art .ultra-art-root{
  animation:ultra-body-ready 1.1s ease-in-out infinite;
}
.ls-race-character[data-motion-state="accelerating"] .ls-ultra-racer-art{
  transform:rotate(-4deg) translateY(1%);
}
.ls-race-character[data-motion-state="accelerating"] .ls-ultra-racer-art .ultra-art-root{
  animation-name:ultra-body-accelerate;
}
.ls-race-character[data-motion-state="overtaking"] .ls-ultra-racer-art{
  transform:rotate(-6deg) translateY(-2%) scale(1.035);
}
.ls-race-character[data-motion-state="overtaking"] .ls-ultra-racer-art .ultra-art-root{
  animation-name:ultra-body-overtake;
}
.ls-race-character[data-motion-state="tiring"] .ls-ultra-racer-art{
  transform:rotate(2deg) translateY(2%);
}
.ls-race-character[data-motion-state="tiring"] .ls-ultra-racer-art .ultra-art-root{
  animation-name:ultra-body-tiring;
  animation-duration:var(--motion-cycle-slow,.84s);
}
.ls-race-character[data-motion-state="finishing"] .ls-ultra-racer-art{
  transform:rotate(-7deg) scale(1.045);
}
.ls-race-character[data-motion-state="finishing"] .ls-ultra-racer-art .ultra-art-root{
  animation-name:ultra-body-finish;
  animation-duration:var(--motion-cycle-fast,.48s);
}
.ls-race-character[data-motion-state="stopped"] .ls-ultra-racer-art,
.ls-race-character[data-motion-state="stopped"] .ls-ultra-racer-art *{
  animation-play-state:paused!important;
}
.ls-race-character[data-motion-state="celebrating"] .ls-ultra-racer-art .ultra-art-root{
  animation:ultra-celebrate .62s cubic-bezier(.2,.8,.3,1) infinite;
}
.ls-race-character[data-motion-state="celebrating"]>.ls-race-number-plate{
  animation:ultra-plate-celebrate .62s ease-in-out infinite;
}

/* Anatomical joint origins */
.ls-ultra-racer-art .ultra-limb{transform-box:fill-box;transform-origin:50% 4%;will-change:transform}
.ls-ultra-racer-art .ultra-upper{transform-box:fill-box;transform-origin:50% 5%}
.ls-ultra-racer-art .ultra-lower{transform-box:fill-box;transform-origin:50% 8%}
.ls-ultra-racer-art .ultra-foot{transform-box:fill-box;transform-origin:12% 50%}
.ls-ultra-racer-art .rear-a,.ls-ultra-racer-art .front-b{
  animation:ultra-leg-a var(--motion-cycle,.62s) cubic-bezier(.45,.02,.55,.98) infinite;
  animation-delay:var(--racer-phase,0s);
}
.ls-ultra-racer-art .rear-b,.ls-ultra-racer-art .front-a{
  animation:ultra-leg-b var(--motion-cycle,.62s) cubic-bezier(.45,.02,.55,.98) infinite;
  animation-delay:calc(var(--racer-phase,0s) + var(--motion-delay-half,-.31s));
}
.ls-ultra-racer-art .ultra-limb .ultra-lower{
  animation:ultra-knee var(--motion-cycle,.62s) ease-in-out infinite;
}
.ls-ultra-racer-art .ultra-limb .ultra-foot{
  animation:ultra-foot-contact var(--motion-cycle,.62s) ease-in-out infinite;
}
.ls-ultra-racer-art .ultra-head{transform-box:fill-box;transform-origin:20% 70%;animation:ultra-head-bob var(--motion-cycle-head,.65s) ease-in-out infinite}
.ls-ultra-racer-art .ultra-tail{transform-box:fill-box;transform-origin:95% 50%;animation:ultra-tail-sway var(--motion-cycle-tail,.87s) ease-in-out infinite alternate}
.ls-ultra-racer-art .ultra-ear{transform-box:fill-box;transform-origin:50% 90%;animation:ultra-ear-react var(--motion-cycle-ear,1.12s) ease-in-out infinite alternate}
.ls-ultra-racer-art .ultra-mane,.ls-ultra-racer-art .ultra-hair{transform-box:fill-box;transform-origin:90% 50%;animation:ultra-fur-flow var(--motion-cycle-fur,.78s) ease-in-out infinite alternate}
.ls-ultra-racer-art .ultra-harness{filter:drop-shadow(0 1px 0 rgba(0,0,0,.4))}
.ls-ultra-racer-art .ultra-eye{animation:ultra-blink 4.8s steps(1,end) infinite}

/* Species-specific gaits */
.ultra-profile-equine .rear-a,.ultra-profile-equine .rear-b,
.ultra-profile-equine .front-a,.ultra-profile-equine .front-b{
  animation-timing-function:cubic-bezier(.28,0,.72,1);
}
.ultra-profile-equine .ultra-limb .ultra-lower{animation-name:ultra-equine-knee}
.ultra-profile-equine .ultra-torso{transform-box:fill-box;transform-origin:center;animation:ultra-equine-weight var(--motion-cycle,.62s) ease-in-out infinite}
.ultra-profile-camel .ultra-limb{animation-duration:var(--motion-cycle-mild,.78s)}
.ultra-profile-camel .ultra-neck{transform-box:fill-box;transform-origin:20% 85%;animation:ultra-camel-neck var(--motion-cycle-slow,.95s) ease-in-out infinite alternate}
.ultra-profile-camel .ultra-humps{transform-box:fill-box;transform-origin:center bottom;animation:ultra-camel-weight var(--motion-cycle-mild,.78s) ease-in-out infinite}
.ultra-profile-canine .ultra-limb .ultra-lower{animation-name:ultra-canine-knee}
.ultra-profile-canine .ultra-torso{transform-box:fill-box;transform-origin:center;animation:ultra-canine-spine var(--motion-cycle,.5s) ease-in-out infinite}
.ultra-profile-small-quadruped .ultra-art-root{animation-duration:var(--motion-cycle-small,.41s)}
.ultra-profile-heavy-quadruped .ultra-art-root{animation-name:ultra-heavy-weight;animation-duration:var(--motion-cycle-medium,.97s)}
.ultra-profile-heavy-quadruped .ultra-limb{animation-duration:var(--motion-cycle-medium,.97s)}
.ultra-profile-hopper .rear-a,.ultra-profile-hopper .rear-b{animation-name:ultra-hopper-rear}
.ultra-profile-hopper .front-a,.ultra-profile-hopper .front-b{animation-name:ultra-hopper-front}
.ultra-profile-hopper .ultra-art-root{animation-name:ultra-hop-body}

/* Crab and multi-legged creatures */
.ultra-profile-arthropod .ultra-side-leg{
  transform-box:fill-box;
  transform-origin:50% 50%;
  animation:ultra-crab-leg var(--motion-cycle,.38s) ease-in-out infinite alternate;
}
.ultra-profile-arthropod .leg-right{animation-direction:alternate-reverse}
.ultra-profile-arthropod .leg-1,.ultra-profile-arthropod .leg-3{animation-delay:var(--motion-delay-half,-.19s)}
.ultra-profile-arthropod .ultra-claw{transform-box:fill-box;transform-origin:50% 70%;animation:ultra-claw .76s ease-in-out infinite alternate}
.ultra-profile-arthropod .claw-b{animation-delay:-.38s}
.ultra-profile-arthropod .ultra-carapace{transform-box:fill-box;transform-origin:center;animation:ultra-crab-body var(--motion-cycle,.38s) ease-in-out infinite alternate}

/* Birds, dragons, and flight */
.ultra-profile-ground-bird .bird-leg-a,.ultra-profile-ground-bird .bird-leg-b{animation-duration:var(--motion-cycle-bird,.34s)}
.ultra-profile-ground-bird .ultra-tail-feathers{transform-box:fill-box;transform-origin:95% 50%;animation:ultra-tail-sway .7s ease-in-out infinite alternate}
.ultra-profile-flying-bird .ultra-wing,
.ultra-profile-flying-creature .ultra-wing,
.ultra-profile-dragon .ultra-wing{
  transform-box:fill-box;
  transform-origin:75% 70%;
  animation:ultra-wing-down var(--motion-cycle,.48s) cubic-bezier(.22,.8,.35,1) infinite;
}
.ultra-profile-flying-bird .wing-b,
.ultra-profile-flying-creature .wing-b,
.ultra-profile-dragon .wing-b{animation-delay:var(--motion-delay-tiny,-.03s)}
.ultra-profile-flying-creature .ultra-insect-leg{
  transform-box:fill-box;
  transform-origin:50% 8%;
  animation:ultra-insect-leg var(--motion-cycle-fast,.38s) ease-in-out infinite alternate;
}
.ultra-profile-flying-creature .ultra-insect-leg.leg-1{animation-direction:alternate-reverse}
.ultra-profile-dragon .ultra-dragon-tail,
.ultra-profile-flying-creature .ultra-dragon-tail{transform-box:fill-box;transform-origin:95% 50%;animation:ultra-dragon-tail .8s ease-in-out infinite alternate}
.ultra-profile-dragon .ultra-spines{filter:drop-shadow(0 0 3px var(--ultra-accent))}

/* Swimming, crawling, and gliding */
.ultra-profile-aquatic-creature .ultra-swim-tail{transform-box:fill-box;transform-origin:95% 50%;animation:ultra-swim-tail var(--motion-cycle,.62s) ease-in-out infinite alternate}
.ultra-profile-aquatic-creature .ultra-flipper{transform-box:fill-box;transform-origin:20% 10%;animation:ultra-flipper .82s ease-in-out infinite alternate}
.ultra-profile-turtle .ultra-flipper{transform-box:fill-box;transform-origin:80% 20%;animation:ultra-turtle-paddle 1s ease-in-out infinite alternate}
.ultra-profile-turtle .ultra-head{animation-name:ultra-turtle-head;animation-duration:1.2s}
.ultra-profile-snail .ultra-shell{transform-box:fill-box;transform-origin:center;animation:ultra-snail-shell 1.7s ease-in-out infinite alternate}
.ultra-profile-snail .ultra-snail-foot{transform-box:fill-box;transform-origin:center;animation:ultra-snail-foot .9s ease-in-out infinite}
.ultra-profile-tentacled .ultra-tentacle{transform-box:fill-box;transform-origin:50% 5%;animation:ultra-tentacle .72s ease-in-out infinite alternate}
.ultra-profile-tentacled .tentacle-1,.ultra-profile-tentacled .tentacle-3,.ultra-profile-tentacled .tentacle-5{animation-direction:alternate-reverse}

/* Humanoid and mascot articulation */
.ultra-profile-humanoid .ultra-arm,.ultra-profile-humanoid-flight .ultra-arm,
.ultra-profile-inanimate .ultra-arm{transform-box:fill-box;transform-origin:80% 20%;animation:ultra-arm-pump var(--motion-cycle,.55s) ease-in-out infinite alternate}
.ultra-profile-humanoid .arm-b,.ultra-profile-humanoid-flight .arm-b,
.ultra-profile-inanimate .arm-b{animation-direction:alternate-reverse}
.ultra-profile-humanoid-flight .ultra-cape{transform-box:fill-box;transform-origin:90% 30%;animation:ultra-cape .55s ease-in-out infinite alternate}
.ultra-profile-ghost .ultra-ghost-body{transform-box:fill-box;transform-origin:center;animation:ultra-ghost-float 1.25s ease-in-out infinite alternate}
.ultra-profile-ghost .ultra-ghost-trail{animation:ultra-ghost-trail .7s ease-in-out infinite alternate}

/* Vehicles and suspension */
.ultra-profile-ground-vehicle .ultra-wheel{transform-box:fill-box;transform-origin:center;animation:ultra-wheel-spin var(--motion-cycle-wheel,.22s) linear infinite}
.ultra-profile-ground-vehicle .ultra-vehicle-body{transform-box:fill-box;transform-origin:center bottom;animation:ultra-suspension var(--motion-cycle,.48s) ease-in-out infinite}
.ultra-profile-ground-vehicle .ultra-bike-frame,
.ultra-profile-ground-vehicle .ultra-train-body,
.ultra-profile-ground-vehicle .ultra-sleigh-body,
.ultra-profile-ground-vehicle .ultra-cart-body,
.ultra-profile-ground-vehicle .ultra-tractor-body,
.ultra-profile-ground-vehicle .ultra-truck-body{
  transform-box:fill-box;
  transform-origin:center bottom;
  animation:ultra-suspension var(--motion-cycle,.48s) ease-in-out infinite;
}
.ultra-profile-ground-vehicle .ultra-bike-rider{transform-box:fill-box;transform-origin:50% 80%;animation:ultra-rider-weight var(--motion-cycle,.48s) ease-in-out infinite alternate}
.ultra-profile-ground-vehicle .ultra-snow-spray,
.ultra-profile-water-vehicle .ultra-wake{animation:ultra-wake .72s ease-out infinite}
.ultra-profile-ground-vehicle .ultra-steam{animation:ultra-steam 1.15s ease-out infinite}
.ultra-profile-ground-vehicle .ultra-siren,
.ultra-profile-air-vehicle .ultra-saucer-lights{animation:ultra-siren .48s steps(2,end) infinite}
.ultra-profile-ground-vehicle .ultra-exhaust-cloud{animation:ultra-exhaust .52s ease-out infinite}
.ultra-profile-air-vehicle .ultra-air-wing{transform-box:fill-box;transform-origin:50% 60%;animation:ultra-air-flex .75s ease-in-out infinite alternate}
.ultra-profile-air-vehicle .ultra-thrust{animation:ultra-thrust .16s ease-in-out infinite alternate}
.ultra-profile-air-vehicle .ultra-balloon-envelope{transform-box:fill-box;transform-origin:center bottom;animation:ultra-balloon 1.4s ease-in-out infinite alternate}
.ultra-profile-air-vehicle .ultra-saucer-dome{filter:drop-shadow(0 0 5px #67e8f9)}
.ultra-profile-water-vehicle .ultra-boat-body{transform-box:fill-box;transform-origin:center bottom;animation:ultra-boat-bob .68s ease-in-out infinite alternate}
.ultra-profile-water-vehicle .ultra-wake{animation:ultra-wake .72s ease-out infinite}
.ultra-profile-rolling .ultra-rolling-body{transform-box:fill-box;transform-origin:center;animation:ultra-wheel-spin var(--motion-cycle-roll,.32s) linear infinite}

/* Grounded shadows respond to weight transfer and flight height. */
.ls-race-character.has-ultra-art>.ls-race-character-shadow{
  z-index:2;
  left:39%;
  bottom:8%;
  width:48%;
  height:13%;
  background:radial-gradient(ellipse,rgba(2,6,23,.72),rgba(2,6,23,.28) 55%,transparent 74%);
  filter:blur(1.2px);
  animation:ultra-ground-shadow var(--motion-cycle,.62s) ease-in-out infinite;
}
.ls-race-character.has-ultra-art.profile-flying-bird>.ls-race-character-shadow,
.ls-race-character.has-ultra-art.profile-flying-creature>.ls-race-character-shadow,
.ls-race-character.has-ultra-art.profile-dragon>.ls-race-character-shadow,
.ls-race-character.has-ultra-art.profile-air-vehicle>.ls-race-character-shadow,
.ls-race-character.has-ultra-art.profile-humanoid-flight>.ls-race-character-shadow{
  opacity:.42;
  transform:scale(.7);
  animation-name:ultra-flight-shadow;
}

/* Continuous state transitions never remount the SVG character. */
.ls-race-character{
  transition:filter .28s ease,scale .3s ease;
}
.ls-race-character[data-motion-state="overtaking"]{filter:brightness(1.1) saturate(1.12)}
.ls-race-character[data-motion-state="tiring"]{filter:saturate(.88) brightness(.94)}
.ls-race-character[data-motion-state="finishing"]{filter:brightness(1.14) saturate(1.18)}
.ls-race-character[data-motion-state="celebrating"]{filter:brightness(1.2) drop-shadow(0 0 8px var(--racer-main))}

/* Layered depth and environment polish. */
.ls-race-environment .layer-sky{transform:translateX(var(--camera-shift-sky,0px));filter:saturate(1.08)}
.ls-race-environment .layer-far{transform:translateX(var(--camera-shift-far,0px));opacity:.32;filter:blur(.2px)}
.ls-race-environment .layer-mid{transform:translateX(var(--camera-shift-mid,0px));opacity:.44}
.ls-race-environment .layer-trackside{transform:translateX(var(--camera-shift-track,0px));opacity:.68}
.ls-race-environment .layer-foreground{
  transform:translateX(var(--camera-shift-front,0px));
  opacity:.82;
  filter:drop-shadow(0 -3px 7px rgba(2,6,23,.55));
}
.ls-race-environment::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 20%,color-mix(in srgb,var(--theme-accent) 24%,transparent),transparent 22%),
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.12),transparent 18%),
    linear-gradient(180deg,rgba(255,255,255,.08),transparent 28%,rgba(2,6,23,.34));
  mix-blend-mode:screen;
  opacity:.28;
  animation:ultra-arena-light 7s ease-in-out infinite alternate;
}
.ls-race-environment .ls-race-spectators span{
  filter:drop-shadow(0 2px 2px rgba(2,6,23,.7));
  animation:ultra-crowd-wave 1.1s steps(2,end) infinite;
}
.ls-race-environment .ls-race-spectators span+span{animation-delay:-.55s}
.ls-themed-race-shell.final-stretch .ls-race-environment::before{
  animation-duration:1.2s;
  opacity:.46;
}
.ls-themed-race-shell[data-environment*="winter"] .ls-race-weather,
.ls-themed-race-shell[data-environment*="snow"] .ls-race-weather{
  background-image:
    radial-gradient(circle,#fff 0 2px,transparent 2.6px),
    radial-gradient(circle,#dbeafe 0 1.5px,transparent 2.2px);
  background-size:55px 68px,83px 91px;
  animation:ultra-snow 3.8s linear infinite;
}
.ls-themed-race-shell[data-environment*="water"] .ls-race-atmosphere,
.ls-themed-race-shell[data-environment*="ocean"] .ls-race-atmosphere{
  background:repeating-radial-gradient(ellipse at 50% 115%,rgba(125,211,252,.16) 0 2px,transparent 3px 18px);
  animation:ultra-water-light 4s ease-in-out infinite alternate;
}

/* Original Lucky Squares cinematic atmosphere engine. Each race selects a
   deliberately limited set of effects that belongs in its environment. */
.ls-race-cinematic-fx{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none;isolation:isolate;opacity:.42}
.ls-race-fx-atlas{
  position:absolute;inset:-8%;
  background-image:url("/race-art/effects-v1/cinematic-effects-atlas.png");
  background-repeat:no-repeat;background-size:400% 400%;
  mix-blend-mode:screen;will-change:transform,opacity;
  transform:translate3d(0,0,0) scale(1.05)
}
.ls-race-fx-primary{
  background-position:var(--fx-primary-x) var(--fx-primary-y);opacity:.48;
  animation:ls-fx-breathe 7.5s ease-in-out infinite alternate
}
.ls-race-fx-secondary{
  background-position:var(--fx-secondary-x) var(--fx-secondary-y);opacity:.24;
  filter:saturate(1.15) contrast(1.08);
  animation:ls-fx-drift 11s ease-in-out infinite alternate
}
.ls-race-fx-motifs{position:absolute;inset:0;overflow:hidden}
.ls-race-fx-motifs i{
  position:absolute;left:var(--fx-left);top:var(--fx-top);display:block;font-style:normal;
  font-size:calc(clamp(15px,2.1vw,36px)*var(--fx-size));opacity:.62;
  filter:drop-shadow(0 2px 4px #0008);
  animation:ls-fx-float var(--fx-duration) ease-in-out var(--fx-delay) infinite;
  will-change:transform,opacity
}
.ls-race-fx-ground{position:absolute;left:-5%;right:-5%;bottom:-1%;height:30%;opacity:.54;transform:translate3d(0,0,0)}
.ls-race-fx-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,transparent 38%,#02061755 78%,#020617b8 100%)}
.fx-ground-lava .ls-race-fx-ground{
  background:radial-gradient(ellipse at 18% 100%,#ffeb3b 0 1%,#ff6d00 5%,transparent 19%),radial-gradient(ellipse at 64% 105%,#ffd740 0 1.5%,#ef4400 6%,transparent 23%),linear-gradient(0deg,#2a0500 0 24%,#8d1800 25%,transparent 78%);
  box-shadow:0 -12px 38px #ff4d0099;animation:ls-fx-lava 3.7s ease-in-out infinite alternate
}
.fx-ground-water .ls-race-fx-ground{
  height:40%;background:repeating-radial-gradient(ellipse at 50% 110%,#e0f2fe55 0 2px,#38bdf833 3px 8px,transparent 9px 18px),linear-gradient(0deg,#0369a199,#0ea5e933 58%,transparent);
  animation:ls-fx-water 3.6s ease-in-out infinite alternate
}
.fx-ground-snow .ls-race-fx-ground{background:radial-gradient(ellipse at 50% 130%,#fff 0 44%,#dbeafecc 55%,transparent 72%);filter:drop-shadow(0 -8px 20px #93c5fd66)}
.fx-ground-asphalt .ls-race-fx-ground,.fx-ground-track .ls-race-fx-ground{background:linear-gradient(173deg,transparent 0 54%,#ffffff22 55% 56%,transparent 57%),repeating-linear-gradient(92deg,transparent 0 12%,#02061777 12.5% 13%,transparent 13.5% 28%)}
.fx-ground-dirt .ls-race-fx-ground{background:linear-gradient(0deg,#5f2c0dcc,#a1620755 48%,transparent)}
.fx-ground-ice .ls-race-fx-ground{background:linear-gradient(0deg,#cffafecc,#38bdf833 50%,transparent);filter:drop-shadow(0 -6px 18px #a5f3fcaa)}
.fx-ground-space .ls-race-fx-ground{background:linear-gradient(0deg,#312e8166,transparent)}
.fx-ground-flowers .ls-race-fx-ground{background:linear-gradient(0deg,#16653499,#4ade8033 45%,transparent)}
.fx-ground-mist .ls-race-fx-ground{background:linear-gradient(0deg,#d1fae566,#86efac18 52%,transparent);filter:blur(5px)}
.fx-motion-track .ls-race-fx-primary{animation-name:ls-fx-track-drift}
.fx-motion-rise .ls-race-fx-primary{animation-name:ls-fx-rise}
.fx-motion-snow .ls-race-fx-primary{animation-name:ls-fx-snow}
.fx-motion-wave .ls-race-fx-primary{animation-name:ls-fx-water}
.fx-motion-space .ls-race-fx-primary{animation-name:ls-fx-space}
.fx-motion-petals .ls-race-fx-motifs i,.fx-motion-leaves .ls-race-fx-motifs i,.fx-motion-snow .ls-race-fx-motifs i{animation-name:ls-fx-fall}
.fx-motion-fly .ls-race-fx-motifs i{animation-name:ls-fx-fly}
.fx-motion-wave .ls-race-fx-motifs i{animation-name:ls-fx-wave-motif}
.fx-motion-lure .ls-race-fx-motifs i:first-child{
  top:auto;bottom:18%;left:-8%;animation:ls-fx-lure 6.8s linear infinite;
  filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 14px var(--fx-accent))
}
.fx-light-aurora .ls-race-fx-secondary{opacity:.48;mix-blend-mode:screen}
.fx-light-fire .ls-race-fx-primary{opacity:.64}
.fx-light-stadium .ls-race-fx-secondary,.fx-light-track .ls-race-fx-secondary{opacity:.38}
.fx-light-flicker .ls-race-fx-secondary{animation:ls-fx-flicker 5.4s steps(1,end) infinite}
.fx-light-sun .ls-race-dynamic-light,.fx-light-sunset .ls-race-dynamic-light{background:radial-gradient(circle at 72% 16%,#fff7b766 0 3%,#fbbf2422 12%,transparent 35%)}
.fx-light-moon .ls-race-dynamic-light{background:radial-gradient(circle at 78% 15%,#e0f2fecc 0 3.5%,#93c5fd33 14%,transparent 35%)}
.fx-light-holiday .ls-race-dynamic-light,.fx-light-party .ls-race-dynamic-light{
  background:radial-gradient(circle at 18% 20%,#ef444455,transparent 19%),radial-gradient(circle at 50% 14%,#22c55e55,transparent 18%),radial-gradient(circle at 82% 22%,#facc1555,transparent 20%);
  animation:ls-fx-holiday-light 2.8s ease-in-out infinite alternate
}
.fx-weather-none .ls-race-weather{display:none!important}
.weather-off .ls-race-fx-primary,.particles-off .ls-race-fx-secondary{display:none}
.fog-off.fx-weather-fog .ls-race-fx-primary,.fog-off.fx-weather-mist .ls-race-fx-primary{display:none}
.lighting-off .ls-race-fx-secondary{filter:saturate(.75);opacity:.12}
.crowd-off .ls-race-crowd-flashes{display:none}
.motion-reduced .ls-race-cinematic-fx *{animation:none!important;transition:none!important}

.ls-themed-race-shell[data-theme="zombie"] .ls-race-fx-primary{opacity:.62;filter:hue-rotate(12deg) saturate(1.25)}
.ls-themed-race-shell[data-theme="zombie"] .ls-race-fx-vignette{background:radial-gradient(ellipse at 50% 48%,transparent 26%,#052e1677 67%,#020617dd)}
.ls-themed-race-shell[data-theme="dragon"] .ls-race-fx-secondary{opacity:.42;filter:saturate(1.5) contrast(1.14)}
.ls-themed-race-shell[data-theme="horse"] .ls-race-fx-primary{opacity:.4}
.ls-themed-race-shell[data-theme="horse"] .ls-race-fx-motifs i{animation-name:ls-fx-flag-wave}
.ls-themed-race-shell[data-theme="greyhound"] .ls-race-fx-secondary{opacity:.32}
.ls-themed-race-shell[data-theme="race-car"] .ls-race-fx-ground::after,.ls-themed-race-shell[data-theme="motorbike"] .ls-race-fx-ground::after{
  content:"";position:absolute;inset:20% 5% 0;background:repeating-linear-gradient(98deg,transparent 0 18%,#020617aa 19% 20%,transparent 21% 37%);opacity:.72;transform:skewX(-10deg)
}
.ls-themed-race-shell[data-theme="rocket"] .ls-race-fx-primary{opacity:.68}
.ls-themed-race-shell[data-theme="husky"] .ls-race-fx-secondary{opacity:.5}
.ls-themed-race-shell[data-theme="easter-bunny"] .ls-race-fx-primary{opacity:.36}
.ls-themed-race-shell[data-theme="pirate-ship"] .ls-race-fx-motifs i:nth-child(3n){filter:drop-shadow(0 2px 4px #000) saturate(1.4)}

@keyframes ls-fx-breathe{0%{opacity:.28;transform:translate3d(-1%,1%,0) scale(1.04)}100%{opacity:.56;transform:translate3d(1%,-1%,0) scale(1.09)}}
@keyframes ls-fx-drift{0%{transform:translate3d(-2%,0,0) scale(1.05)}100%{transform:translate3d(2%,-1%,0) scale(1.1)}}
@keyframes ls-fx-track-drift{0%{transform:translate3d(-5%,1%,0) scale(1.08)}100%{transform:translate3d(4%,-1%,0) scale(1.13)}}
@keyframes ls-fx-rise{0%{transform:translate3d(0,5%,0) scale(1.04);opacity:.24}100%{transform:translate3d(0,-4%,0) scale(1.11);opacity:.62}}
@keyframes ls-fx-snow{0%{transform:translate3d(-2%,-3%,0) scale(1.08)}100%{transform:translate3d(3%,4%,0) scale(1.12)}}
@keyframes ls-fx-space{0%{transform:translate3d(-1%,0,0) scale(1.03) rotate(-.2deg)}100%{transform:translate3d(1%,-1%,0) scale(1.12) rotate(.3deg)}}
@keyframes ls-fx-float{0%,100%{transform:translate3d(0,-4px,0) rotate(-4deg);opacity:.32}50%{transform:translate3d(9px,6px,0) rotate(6deg);opacity:.75}}
@keyframes ls-fx-fall{0%{transform:translate3d(-8vw,-18vh,0) rotate(0);opacity:0}12%{opacity:.72}100%{transform:translate3d(11vw,76vh,0) rotate(520deg);opacity:.08}}
@keyframes ls-fx-fly{0%{transform:translate3d(-30vw,4vh,0) scale(.72);opacity:0}15%{opacity:.75}100%{transform:translate3d(115vw,-16vh,0) scale(1.06);opacity:0}}
@keyframes ls-fx-wave-motif{0%,100%{transform:translate3d(-8px,5px,0) rotate(-5deg)}50%{transform:translate3d(14px,-7px,0) rotate(6deg)}}
@keyframes ls-fx-lure{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translate3d(116vw,0,0) rotate(720deg);opacity:0}}
@keyframes ls-fx-lava{0%{filter:brightness(.82) saturate(1.2)}100%{filter:brightness(1.25) saturate(1.55)}}
@keyframes ls-fx-water{0%{transform:translate3d(-1%,2%,0) scaleX(1.02)}100%{transform:translate3d(1%,-2%,0) scaleX(1.06)}}
@keyframes ls-fx-flicker{0%,18%,22%,64%,68%,100%{opacity:.34}19%,21%,65%,67%{opacity:.08}}
@keyframes ls-fx-holiday-light{to{filter:hue-rotate(40deg) brightness(1.22)}}
@keyframes ls-fx-flag-wave{0%,100%{transform:translate3d(-3px,0,0) rotate(-5deg)}50%{transform:translate3d(5px,-3px,0) rotate(5deg)}}

@keyframes ultra-body-ready{0%,100%{transform:translateY(1%) rotate(0)}50%{transform:translateY(4%) rotate(-1deg)}}
@keyframes illustrated-cruise-pose{
  0%,49.99%{background-position:66.6667% 0%;transform:translate(-50%,-51%) rotate(-.7deg)}
  50%,100%{background-position:100% 0%;transform:translate(-50%,-54%) rotate(.7deg)}
}
@keyframes illustrated-ready{
  0%,100%{transform:translate(-50%,-49%) rotate(0)}
  50%{transform:translate(-50%,-46%) rotate(-1deg)}
}
@keyframes illustrated-accelerate{
  from{transform:translate(-51%,-47%) rotate(1deg) scaleX(.985)}
  to{transform:translate(-48%,-54%) rotate(-2.5deg) scaleX(1.025)}
}
@keyframes illustrated-overtake{
  from{transform:translate(-51%,-50%) rotate(-1deg) scale(1)}
  to{transform:translate(-47%,-55%) rotate(-3deg) scale(1.045)}
}
@keyframes illustrated-tiring{
  from{transform:translate(-50%,-49%) rotate(1deg)}
  to{transform:translate(-50%,-52%) rotate(2deg)}
}
@keyframes illustrated-finish{
  from{transform:translate(-51%,-50%) rotate(-2deg) scale(1)}
  to{transform:translate(-47%,-55%) rotate(-4deg) scale(1.055)}
}
@keyframes illustrated-celebrate{
  0%,100%{transform:translate(-50%,-50%) rotate(-2deg)}
  45%{transform:translate(-50%,-64%) rotate(4deg) scale(1.06)}
  65%{transform:translate(-50%,-60%) rotate(-3deg) scale(1.03)}
}
@keyframes ultra-body-cruise{0%{transform:translateY(1.5%) rotate(-.6deg)}100%{transform:translateY(-2%) rotate(.8deg)}}
@keyframes ultra-body-accelerate{0%{transform:translateY(3%) rotate(1deg) scaleX(.98)}100%{transform:translateY(-2%) rotate(-2.5deg) scaleX(1.025)}}
@keyframes ultra-body-overtake{0%{transform:translateY(1%) rotate(-1deg) scaleX(1)}100%{transform:translateY(-3.5%) rotate(-3deg) scaleX(1.035)}}
@keyframes ultra-body-tiring{0%{transform:translateY(1%) rotate(1deg)}100%{transform:translateY(-1%) rotate(2.5deg)}}
@keyframes ultra-body-finish{0%{transform:translateY(1%) rotate(-2deg) scaleX(1)}100%{transform:translateY(-3%) rotate(-4deg) scaleX(1.045)}}
@keyframes ultra-celebrate{0%,100%{transform:translateY(0) rotate(-2deg)}45%{transform:translateY(-12%) rotate(4deg)}65%{transform:translateY(-9%) rotate(-3deg)}}
@keyframes ultra-plate-cruise{0%{transform:translate(-50%,-50%) rotate(-3deg)}100%{transform:translate(-50%,-53%) rotate(2deg)}}
@keyframes ultra-plate-celebrate{0%,100%{transform:translate(-50%,-50%) rotate(-5deg) scale(1)}50%{transform:translate(-50%,-65%) rotate(5deg) scale(1.12)}}
@keyframes ultra-leg-a{0%{transform:rotate(30deg)}45%{transform:rotate(-34deg)}100%{transform:rotate(30deg)}}
@keyframes ultra-leg-b{0%{transform:rotate(-32deg)}45%{transform:rotate(31deg)}100%{transform:rotate(-32deg)}}
@keyframes ultra-knee{0%,100%{transform:rotate(9deg)}45%{transform:rotate(-27deg)}65%{transform:rotate(16deg)}}
@keyframes ultra-equine-knee{0%,100%{transform:rotate(20deg)}36%{transform:rotate(-38deg)}65%{transform:rotate(28deg)}}
@keyframes ultra-canine-knee{0%,100%{transform:rotate(28deg)}42%{transform:rotate(-43deg)}70%{transform:rotate(18deg)}}
@keyframes ultra-foot-contact{0%,15%,100%{transform:rotate(-8deg)}45%{transform:rotate(24deg)}70%{transform:rotate(3deg)}}
@keyframes ultra-head-bob{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(2deg) translateY(1.5px)}}
@keyframes ultra-tail-sway{0%{transform:rotate(-10deg)}100%{transform:rotate(15deg)}}
@keyframes ultra-ear-react{0%,88%{transform:rotate(-3deg)}92%{transform:rotate(11deg)}100%{transform:rotate(1deg)}}
@keyframes ultra-fur-flow{0%{transform:skewY(-3deg)}100%{transform:skewY(8deg)}}
@keyframes ultra-blink{0%,47%,50%,100%{transform:scaleY(1)}48%,49%{transform:scaleY(.12)}}
@keyframes ultra-equine-weight{0%,100%{transform:scaleY(1) translateY(0)}42%{transform:scaleY(.96) translateY(1px)}65%{transform:scaleY(1.025) translateY(-1px)}}
@keyframes ultra-camel-neck{0%{transform:rotate(-2deg)}100%{transform:rotate(3deg)}}
@keyframes ultra-camel-weight{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
@keyframes ultra-canine-spine{0%,100%{transform:scaleX(.98) rotate(-.4deg)}50%{transform:scaleX(1.035) rotate(1deg)}}
@keyframes ultra-heavy-weight{0%,100%{transform:translateY(0) rotate(-.3deg)}45%{transform:translateY(2.5px) rotate(.5deg)}}
@keyframes ultra-hopper-rear{0%,100%{transform:rotate(44deg) scaleY(.88)}45%{transform:rotate(-48deg) scaleY(1.1)}}
@keyframes ultra-hopper-front{0%,100%{transform:rotate(-20deg)}45%{transform:rotate(35deg)}}
@keyframes ultra-hop-body{0%,100%{transform:translateY(5%) rotate(2deg)}45%{transform:translateY(-8%) rotate(-4deg)}}
@keyframes ultra-crab-leg{0%{transform:translateX(-2px) rotate(-8deg)}100%{transform:translateX(3px) rotate(9deg)}}
@keyframes ultra-claw{0%{transform:rotate(-4deg)}100%{transform:rotate(14deg)}}
@keyframes ultra-crab-body{0%{transform:translateX(-1.5px) rotate(-.5deg)}100%{transform:translateX(1.5px) rotate(.5deg)}}
@keyframes ultra-wing-down{0%,100%{transform:rotate(20deg) scaleY(.9)}48%{transform:rotate(-31deg) scaleY(1.08)}}
@keyframes ultra-dragon-tail{0%{transform:rotate(-7deg)}100%{transform:rotate(10deg)}}
@keyframes ultra-insect-leg{0%{transform:rotate(-9deg)}100%{transform:rotate(12deg)}}
@keyframes ultra-swim-tail{0%{transform:rotate(-14deg) scaleX(.95)}100%{transform:rotate(16deg) scaleX(1.05)}}
@keyframes ultra-flipper{0%{transform:rotate(-7deg)}100%{transform:rotate(22deg)}}
@keyframes ultra-turtle-paddle{0%{transform:rotate(-13deg)}100%{transform:rotate(25deg)}}
@keyframes ultra-turtle-head{0%{transform:translateX(-2px)}100%{transform:translateX(3px)}}
@keyframes ultra-snail-shell{0%{transform:rotate(-1deg)}100%{transform:rotate(2deg)}}
@keyframes ultra-snail-foot{0%,100%{transform:scaleX(.97)}50%{transform:scaleX(1.035)}}
@keyframes ultra-tentacle{0%{transform:rotate(-8deg) scaleY(.96)}100%{transform:rotate(9deg) scaleY(1.05)}}
@keyframes ultra-arm-pump{0%{transform:rotate(-28deg)}100%{transform:rotate(30deg)}}
@keyframes ultra-cape{0%{transform:skewY(-5deg) scaleX(.94)}100%{transform:skewY(8deg) scaleX(1.08)}}
@keyframes ultra-ghost-float{0%{transform:translateY(3px) rotate(-1deg)}100%{transform:translateY(-4px) rotate(1deg)}}
@keyframes ultra-ghost-trail{0%{opacity:.35;transform:scaleX(.85)}100%{opacity:.75;transform:scaleX(1.12)}}
@keyframes ultra-wheel-spin{to{transform:rotate(360deg)}}
@keyframes ultra-suspension{0%,100%{transform:translateY(0) rotate(-.4deg)}45%{transform:translateY(1.5px) rotate(.5deg)}}
@keyframes ultra-exhaust{0%{opacity:.75;transform:translateX(0) scale(.8)}100%{opacity:0;transform:translateX(-10px) scale(1.3)}}
@keyframes ultra-rider-weight{0%{transform:translateY(0) rotate(-1deg)}100%{transform:translateY(2px) rotate(2deg)}}
@keyframes ultra-steam{0%{opacity:.7;transform:translateY(0) scale(.8)}100%{opacity:0;transform:translateY(-12px) scale(1.25)}}
@keyframes ultra-siren{0%,49%{filter:brightness(.7)}50%,100%{filter:brightness(1.65) drop-shadow(0 0 5px var(--ultra-accent))}}
@keyframes ultra-air-flex{0%{transform:rotate(-1deg)}100%{transform:rotate(3deg)}}
@keyframes ultra-thrust{0%{transform:scaleX(.82)}100%{transform:scaleX(1.16)}}
@keyframes ultra-balloon{0%{transform:translateY(1px) rotate(-1deg)}100%{transform:translateY(-3px) rotate(1deg)}}
@keyframes ultra-boat-bob{0%{transform:translateY(1px) rotate(-1deg)}100%{transform:translateY(-2px) rotate(1deg)}}
@keyframes ultra-wake{0%{opacity:.8;transform:translateX(0) scaleX(.8)}100%{opacity:0;transform:translateX(-12px) scaleX(1.2)}}
@keyframes ultra-ground-shadow{0%,100%{transform:scaleX(.92);opacity:.72}48%{transform:scaleX(1.08);opacity:.86}}
@keyframes ultra-flight-shadow{0%{transform:scale(.62);opacity:.32}100%{transform:scale(.78);opacity:.48}}
@keyframes ultra-arena-light{0%{transform:translateX(-1.5%);filter:hue-rotate(-3deg)}100%{transform:translateX(1.5%);filter:hue-rotate(4deg)}}
@keyframes ultra-crowd-wave{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes ultra-snow{to{background-position:35px 68px,-28px 91px}}
@keyframes ultra-water-light{0%{transform:translateY(0) scaleX(1)}100%{transform:translateY(-2%) scaleX(1.03)}}

@media (max-width:900px){
  .ls-ultra-racer-art{inset:-38% -52% -52% -55%}
  .ls-race-character.has-ultra-art>.ls-race-number-plate{border-width:1px}
}
@media (prefers-reduced-motion:reduce){
  .ls-ultra-racer-art *,
  .ls-race-character.has-ultra-art>.ls-race-number-plate,
  .ls-race-character.has-ultra-art>.ls-race-character-shadow,
  .ls-race-environment::before,
  .ls-race-environment .ls-race-spectators span{
    animation:none!important;
    transition:none!important;
  }
}
