.s2047-tur-stage{
  position:fixed;left:0;right:0;bottom:8px;height:330px;z-index:999999;
  pointer-events:none;overflow:hidden;opacity:0;
}
.s2047-tur-stage.is-active{opacity:1}
.s2047-tur-walker{
  position:absolute;left:-190px;bottom:8px;width:170px;height:300px;
  animation:s2047WalkAcross 14s linear 2.2s infinite alternate;
}
.s2047-tur-robot{
  position:relative;width:150px;height:290px;margin:auto;
  transform-origin:50% 100%;
  animation:s2047RobotBob .48s ease-in-out infinite alternate;
  filter:drop-shadow(0 12px 9px rgba(0,0,0,.45));
}
.s2047-tur-head{
  position:absolute;left:43px;top:42px;width:68px;height:54px;
  border:3px solid #101820;border-radius:17px 17px 12px 12px;
  background:linear-gradient(145deg,#d9e4e8 0%,#6f8792 45%,#243842 100%);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.2),0 0 14px rgba(51,231,255,.35)
}
.s2047-tur-face{position:absolute;inset:10px 8px;background:#07151c;border-radius:9px;border:2px solid #42626e}
.s2047-tur-face .eye{position:absolute;top:9px;width:10px;height:7px;background:#43f5ff;border-radius:50%;box-shadow:0 0 8px #43f5ff}
.s2047-tur-face .eye-l{left:10px}.s2047-tur-face .eye-r{right:10px}
.s2047-tur-face em{position:absolute;left:18px;right:18px;bottom:8px;height:3px;background:#f4b942;box-shadow:0 0 5px #f4b942}
.s2047-tur-antenna{position:absolute;left:73px;top:15px;width:4px;height:29px;background:#7e969f}
.s2047-tur-antenna i{position:absolute;left:-5px;top:-7px;width:14px;height:14px;border-radius:50%;background:#ff496c;box-shadow:0 0 13px #ff496c;animation:s2047Blink .8s infinite alternate}
.s2047-tur-body{
  position:absolute;left:37px;top:101px;width:80px;height:92px;
  background:linear-gradient(135deg,#a9bdc4,#324a55 55%,#182830);
  border:3px solid #101820;clip-path:polygon(10% 0,90% 0,100% 80%,82% 100%,18% 100%,0 80%);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.12)
}
.chest-light{position:absolute;left:29px;top:20px;width:18px;height:18px;border-radius:50%;background:#49f2ff;box-shadow:0 0 15px #49f2ff}
.chest-lines{position:absolute;left:20px;right:20px;bottom:18px}.chest-lines i{display:block;height:3px;margin:4px 0;background:#d8a53e}
.s2047-tur-hips{position:absolute;left:47px;top:190px;width:61px;height:23px;border:3px solid #101820;border-radius:8px;background:linear-gradient(#718993,#263b44)}
.s2047-tur-arm{position:absolute;top:99px;width:34px;height:105px;transform-origin:50% 12px}
.s2047-tur-arm .upper,.s2047-tur-arm .fore{position:absolute;width:20px;height:55px;border:3px solid #101820;border-radius:10px;background:linear-gradient(90deg,#314a55,#9db1b8,#263b44)}
.s2047-tur-arm .fore{top:-48px;height:59px}
.s2047-tur-arm .claw{position:absolute;top:-58px;width:25px;height:18px;border:4px solid #16252d;border-bottom:0;border-radius:10px 10px 0 0}
.s2047-tur-arm.arm-l{left:20px;transform:rotate(24deg)}.s2047-tur-arm.arm-r{right:17px;transform:rotate(-24deg)}
.s2047-tur-arm.arm-l .fore{transform:rotate(-9deg)}.s2047-tur-arm.arm-r .fore{transform:rotate(9deg)}
.s2047-tur-underpants{
  position:absolute;left:47px;top:48px;width:62px;height:53px;z-index:8;
  transform-origin:50% 0;animation:s2047PantsWave .65s ease-in-out infinite alternate;
}
.s2047-tur-underpants .waist{height:11px;border-radius:6px 6px 2px 2px;background:linear-gradient(#ffeff7,#ff7bb9);border:2px solid #74274d}
.s2047-tur-underpants .pants-body{
  position:relative;height:41px;background:linear-gradient(135deg,#ffb5d6,#ff5ca7);
  border:2px solid #74274d;border-top:0;
  clip-path:polygon(0 0,100% 0,92% 100%,62% 100%,50% 70%,38% 100%,8% 100%);
}
.leg-hole{position:absolute;bottom:2px;width:19px;height:15px;background:#551e3a;border-radius:50% 50% 0 0}
.hole-l{left:7px}.hole-r{right:7px}.pants-panel{position:absolute;left:27px;top:4px;width:7px;height:23px;border-left:2px dashed rgba(116,39,77,.7)}
.s2047-tur-leg{position:absolute;top:209px;width:32px;height:76px;transform-origin:50% 0}
.s2047-tur-leg .thigh,.s2047-tur-leg .shin{position:absolute;left:6px;width:21px;height:43px;border:3px solid #101820;border-radius:8px;background:linear-gradient(90deg,#2c424c,#94aab2,#253840)}
.s2047-tur-leg .shin{top:34px;height:42px}.s2047-tur-leg .foot{position:absolute;top:67px;width:36px;height:16px;border:3px solid #101820;border-radius:10px 12px 5px 5px;background:#314953}
.s2047-tur-leg.leg-l{left:42px;animation:s2047LegL .48s ease-in-out infinite alternate}.s2047-tur-leg.leg-r{right:37px;animation:s2047LegR .48s ease-in-out infinite alternate}
.s2047-tur-teleport{position:absolute;left:20px;bottom:0;width:200px;height:310px;opacity:0;animation:s2047Teleport 2.4s ease-out 1}
.s2047-tur-teleport:before{content:"";position:absolute;left:25px;right:25px;bottom:0;height:16px;border-radius:50%;background:#4df4ff;box-shadow:0 0 22px 8px #4df4ff,0 0 55px 18px rgba(77,244,255,.5)}
.s2047-tur-teleport span{position:absolute;bottom:8px;width:4px;height:270px;background:linear-gradient(transparent,#80f8ff,transparent);box-shadow:0 0 12px #4df4ff;animation:s2047Beam .4s linear infinite}
.s2047-tur-teleport span:nth-child(1){left:35px}.s2047-tur-teleport span:nth-child(2){left:75px;animation-delay:.12s}.s2047-tur-teleport span:nth-child(3){left:120px;animation-delay:.22s}.s2047-tur-teleport span:nth-child(4){left:160px;animation-delay:.3s}
.s2047-tur-trigger{border:1px solid #45efff;background:#07151c;color:#fff;padding:10px 18px;border-radius:999px;cursor:pointer}
@keyframes s2047WalkAcross{0%{left:4%}100%{left:calc(100% - 190px)}}
@keyframes s2047RobotBob{to{transform:translateY(-5px) rotate(.7deg)}}
@keyframes s2047LegL{from{transform:rotate(16deg)}to{transform:rotate(-16deg)}}@keyframes s2047LegR{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}
@keyframes s2047PantsWave{from{transform:rotate(-4deg) translateY(0)}to{transform:rotate(4deg) translateY(-3px)}}
@keyframes s2047Blink{to{opacity:.3}}@keyframes s2047Beam{from{transform:translateY(40px);opacity:0}50%{opacity:1}to{transform:translateY(-40px);opacity:0}}
@keyframes s2047Teleport{0%{opacity:0;transform:scaleX(.25)}15%{opacity:1}75%{opacity:1}100%{opacity:0;transform:scaleX(1.2)}}
@media(max-width:700px){.s2047-tur-stage{height:260px}.s2047-tur-walker{transform:scale(.75);transform-origin:bottom left;animation-duration:10s}}
@media(prefers-reduced-motion:reduce){.s2047-tur-stage{display:none!important}}


/* v1.1.0 — articulated arms, two-hand underpants grip, faster shuttle run */
.s2047-tur-walker{
  animation:s2047RunAcross 8s linear 2.2s infinite alternate;
  will-change:left;
}
.s2047-tur-robot{animation:s2047RunBob .28s ease-in-out infinite alternate}

/* Arms are articulated from shoulder -> elbow -> hand. The hand positions
   deliberately meet the two top corners of the underpants waistband. */
.s2047-tur-arm{
  top:101px;width:24px;height:112px;z-index:10;
  transform-origin:12px 10px;
}
.s2047-tur-arm .upper{
  left:2px;top:0;width:18px;height:58px;
  transform-origin:50% 8px;
}
.s2047-tur-arm .fore{
  left:2px;top:-45px;width:18px;height:61px;
  transform-origin:50% 52px;
}
.s2047-tur-arm .claw{
  top:-57px;width:19px;height:15px;border-width:3px;
  background:#263b44;box-shadow:0 0 0 2px rgba(73,242,255,.18);
}
.s2047-tur-arm.arm-l{left:27px;transform:rotate(31deg);animation:s2047ArmHoldL .28s ease-in-out infinite alternate}
.s2047-tur-arm.arm-r{right:23px;transform:rotate(-31deg);animation:s2047ArmHoldR .28s ease-in-out infinite alternate}
.s2047-tur-arm.arm-l .fore{transform:rotate(-16deg)}
.s2047-tur-arm.arm-r .fore{transform:rotate(16deg)}
.s2047-tur-arm.arm-l .claw{left:0;transform:rotate(-7deg)}
.s2047-tur-arm.arm-r .claw{right:0;transform:rotate(7deg)}

/* Waistband is visually pinned between the two claws: no independent drifting. */
.s2047-tur-underpants{
  left:45px;top:42px;width:66px;height:57px;z-index:9;
  transform-origin:50% 2px;
  animation:s2047PantsHeld .28s ease-in-out infinite alternate;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.28));
}
.s2047-tur-underpants:before,.s2047-tur-underpants:after{
  content:"";position:absolute;top:2px;width:7px;height:7px;border-radius:50%;
  background:#49f2ff;box-shadow:0 0 7px #49f2ff;z-index:12;
}
.s2047-tur-underpants:before{left:1px}.s2047-tur-underpants:after{right:1px}

.s2047-tur-leg.leg-l{animation:s2047RunLegL .28s ease-in-out infinite alternate}
.s2047-tur-leg.leg-r{animation:s2047RunLegR .28s ease-in-out infinite alternate}

@keyframes s2047RunAcross{0%{left:4%}100%{left:calc(100% - 190px)}}
@keyframes s2047RunBob{from{transform:translateY(1px) rotate(-.5deg)}to{transform:translateY(-7px) rotate(.7deg)}}
@keyframes s2047RunLegL{from{transform:rotate(28deg)}to{transform:rotate(-28deg)}}
@keyframes s2047RunLegR{from{transform:rotate(-28deg)}to{transform:rotate(28deg)}}
@keyframes s2047ArmHoldL{from{transform:rotate(29deg)}to{transform:rotate(33deg)}}
@keyframes s2047ArmHoldR{from{transform:rotate(-29deg)}to{transform:rotate(-33deg)}}
@keyframes s2047PantsHeld{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-2px) rotate(1deg)}}

@media(max-width:700px){.s2047-tur-walker{animation-duration:6s}}

/* v1.2.0 — real uploaded blue and grey underpants image held by both robot claws */
.s2047-tur-underpants{
  left:21px !important;
  top:35px !important;
  width:112px !important;
  height:80px !important;
  z-index:11 !important;
  background:url('underpants.png') center center/contain no-repeat !important;
  animation:s2047RealPantsHeld .28s ease-in-out infinite alternate !important;
  filter:drop-shadow(0 5px 4px rgba(0,0,0,.38));
}
.s2047-tur-underpants .waist,
.s2047-tur-underpants .pants-body,
.s2047-tur-underpants .leg-hole,
.s2047-tur-underpants .pants-panel{display:none!important}
.s2047-tur-underpants:before,
.s2047-tur-underpants:after{
  top:6px !important;width:8px!important;height:8px!important;
  background:#0b5bc4!important;box-shadow:0 0 8px #49f2ff!important;
}
.s2047-tur-underpants:before{left:7px!important}.s2047-tur-underpants:after{right:7px!important}

/* Move the hands wider so each robot claw grips the real boxer waistband corners. */
.s2047-tur-arm.arm-l{left:6px!important;top:104px!important;transform:rotate(45deg);animation:s2047RealArmHoldL .28s ease-in-out infinite alternate!important}
.s2047-tur-arm.arm-r{right:3px!important;top:104px!important;transform:rotate(-45deg);animation:s2047RealArmHoldR .28s ease-in-out infinite alternate!important}
.s2047-tur-arm .fore{top:-57px!important;height:74px!important}
.s2047-tur-arm.arm-l .fore{transform:rotate(-28deg)!important}
.s2047-tur-arm.arm-r .fore{transform:rotate(28deg)!important}
.s2047-tur-arm .claw{top:-70px!important;z-index:20!important;background:#17252d!important}
.s2047-tur-arm.arm-l .claw{left:-4px!important;transform:rotate(-16deg)!important}
.s2047-tur-arm.arm-r .claw{right:-4px!important;transform:rotate(16deg)!important}

@keyframes s2047RealPantsHeld{from{transform:translateY(0) rotate(-.7deg)}to{transform:translateY(-2px) rotate(.7deg)}}
@keyframes s2047RealArmHoldL{from{transform:rotate(43deg)}to{transform:rotate(47deg)}}
@keyframes s2047RealArmHoldR{from{transform:rotate(-43deg)}to{transform:rotate(-47deg)}}


/* v1.3.0 — inactivity timer display and blue teleport circle fade-in */
.s2047-tur-stage{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .9s ease, transform .9s ease;
}
.s2047-tur-stage.is-active{
  opacity:1;
  transform:translateY(0);
}
.s2047-tur-stage.is-teleporting .s2047-tur-walker{
  animation-name:s2047RunAcross, s2047RobotTeleportFade;
  animation-duration:8s, 1.25s;
  animation-delay:2.2s, 0s;
  animation-timing-function:linear, ease-out;
  animation-iteration-count:infinite, 1;
  animation-direction:alternate, normal;
}
.s2047-tur-stage.is-teleporting .s2047-tur-teleport{
  opacity:1;
  animation:s2047TeleportCircles 2.8s ease-out 1;
}
.s2047-tur-teleport{
  left:calc(50% - 100px);
  bottom:0;
  pointer-events:none;
}
.s2047-tur-teleport:after{
  content:"";
  position:absolute;
  left:50%;top:88px;
  width:210px;height:210px;
  margin-left:-105px;
  border-radius:50%;
  border:3px solid rgba(64,220,255,.95);
  box-shadow:
    0 0 16px rgba(64,220,255,.95),
    inset 0 0 18px rgba(64,220,255,.7),
    -78px 0 0 -32px rgba(64,220,255,.18),
    78px 0 0 -32px rgba(64,220,255,.18);
  animation:s2047BluePortalRing 1.25s ease-out infinite;
}
.s2047-tur-stage.is-teleporting .s2047-tur-robot:before,
.s2047-tur-stage.is-teleporting .s2047-tur-robot:after{
  content:"";
  position:absolute;
  top:52px;
  width:78px;height:78px;
  border-radius:50%;
  border:3px solid rgba(73,242,255,.95);
  box-shadow:0 0 16px #49f2ff, inset 0 0 16px rgba(73,242,255,.55);
  z-index:-1;
  animation:s2047SideTeleportRing 1.1s ease-out infinite;
}
.s2047-tur-stage.is-teleporting .s2047-tur-robot:before{left:-56px;animation-delay:.05s}
.s2047-tur-stage.is-teleporting .s2047-tur-robot:after{right:-56px;animation-delay:.22s}
.s2047-tur-stage.is-teleporting .s2047-tur-teleport span{
  width:5px;
  background:linear-gradient(transparent,rgba(86,239,255,1),rgba(0,123,255,.85),transparent);
  box-shadow:0 0 16px #49f2ff,0 0 28px rgba(0,123,255,.75);
}
@keyframes s2047RobotTeleportFade{
  0%{opacity:0;filter:blur(8px) drop-shadow(0 0 28px rgba(73,242,255,.9));transform:scale(.82)}
  55%{opacity:1;filter:blur(1px) drop-shadow(0 0 22px rgba(73,242,255,.8));transform:scale(1.04)}
  100%{opacity:1;filter:blur(0) drop-shadow(0 12px 9px rgba(0,0,0,.45));transform:scale(1)}
}
@keyframes s2047TeleportCircles{
  0%{opacity:0;transform:scale(.35)}
  12%{opacity:1}
  72%{opacity:1;transform:scale(1.08)}
  100%{opacity:0;transform:scale(1.35)}
}
@keyframes s2047BluePortalRing{
  0%{opacity:0;transform:scale(.35) rotate(0deg)}
  30%{opacity:1}
  100%{opacity:0;transform:scale(1.45) rotate(180deg)}
}
@keyframes s2047SideTeleportRing{
  0%{opacity:0;transform:scale(.2) rotate(0deg)}
  25%{opacity:1}
  100%{opacity:0;transform:scale(1.55) rotate(160deg)}
}
@media(max-width:700px){
  .s2047-tur-stage.is-teleporting .s2047-tur-walker{animation-duration:6s,1.25s}
  .s2047-tur-stage.is-teleporting .s2047-tur-robot:before{left:-42px}
  .s2047-tur-stage.is-teleporting .s2047-tur-robot:after{right:-42px}
}

/* v1.4.0 — three-minute idle trigger, full-screen teleport circles, centred robot, walk-left-right and jump motion */
.s2047-tur-stage{
  top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100vw!important;height:100vh!important;
  overflow:hidden!important;
}
.s2047-tur-walker{
  left:calc(50% - 85px)!important;
  bottom:7vh!important;
  width:170px!important;height:300px!important;
  z-index:3!important;
  animation:s2047RobotLeftRightJump 5.6s ease-in-out infinite alternate!important;
  transform-origin:50% 100%!important;
}
.s2047-tur-stage.is-teleporting .s2047-tur-walker{
  animation:
    s2047RobotPortalCentreAppear 1.65s ease-out 0s 1 both,
    s2047RobotLeftRightJump 5.6s ease-in-out 1.65s infinite alternate!important;
}
.s2047-tur-robot{
  animation:s2047RobotBodyJumpBounce .54s ease-in-out infinite alternate!important;
}
.s2047-tur-teleport{
  position:absolute!important;
  inset:0!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  width:100vw!important;height:100vh!important;
  opacity:.16;
  pointer-events:none!important;
  z-index:1!important;
  animation:s2047FullScreenPortalGlow 4.6s ease-in-out infinite alternate!important;
}
.s2047-tur-stage.is-teleporting .s2047-tur-teleport{
  opacity:1!important;
  animation:s2047FullScreenTeleportBurst 3.2s ease-out 1!important;
}
.s2047-tur-teleport:before,
.s2047-tur-teleport:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;top:50%!important;
  border-radius:50%!important;
  transform:translate(-50%,-50%)!important;
  background:transparent!important;
  pointer-events:none!important;
}
.s2047-tur-teleport:before{
  width:min(88vw,760px)!important;height:min(88vw,760px)!important;
  border:5px solid rgba(67,245,255,.96)!important;
  box-shadow:
    0 0 22px rgba(67,245,255,1),
    inset 0 0 26px rgba(67,245,255,.78),
    0 0 0 34px rgba(0,119,255,.11),
    0 0 0 74px rgba(67,245,255,.08),
    0 0 0 124px rgba(0,119,255,.06)!important;
  animation:s2047CentralPortalRing 1.7s ease-out infinite!important;
}
.s2047-tur-teleport:after{
  width:min(58vw,460px)!important;height:min(58vw,460px)!important;
  border:4px dashed rgba(136,250,255,.9)!important;
  box-shadow:
    -42vw -24vh 0 -150px rgba(73,242,255,.23),
    42vw -22vh 0 -150px rgba(73,242,255,.23),
    -40vw 23vh 0 -155px rgba(0,123,255,.2),
    40vw 25vh 0 -155px rgba(0,123,255,.2),
    0 -39vh 0 -150px rgba(73,242,255,.18),
    0 38vh 0 -150px rgba(73,242,255,.18)!important;
  animation:s2047OuterPortalRing 2.1s linear infinite!important;
}
.s2047-tur-teleport span{
  position:absolute!important;
  width:150px!important;height:150px!important;
  border:3px solid rgba(73,242,255,.78)!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(73,242,255,.12),rgba(0,123,255,.04) 45%,transparent 70%)!important;
  box-shadow:0 0 20px rgba(73,242,255,.72), inset 0 0 18px rgba(73,242,255,.42)!important;
  animation:s2047FloatingPortalCircle 2.2s ease-in-out infinite alternate!important;
}
.s2047-tur-teleport span:nth-child(1){left:7vw!important;top:13vh!important;animation-delay:.05s!important}
.s2047-tur-teleport span:nth-child(2){right:8vw!important;top:14vh!important;left:auto!important;animation-delay:.24s!important}
.s2047-tur-teleport span:nth-child(3){left:10vw!important;bottom:12vh!important;top:auto!important;animation-delay:.42s!important}
.s2047-tur-teleport span:nth-child(4){right:9vw!important;bottom:12vh!important;left:auto!important;top:auto!important;animation-delay:.62s!important}

@keyframes s2047RobotPortalCentreAppear{
  0%{left:calc(50% - 85px);transform:translateY(22px) scale(.72);opacity:0;filter:blur(9px) drop-shadow(0 0 35px rgba(73,242,255,1))}
  45%{left:calc(50% - 85px);transform:translateY(-12px) scale(1.06);opacity:1;filter:blur(1px) drop-shadow(0 0 30px rgba(73,242,255,.95))}
  100%{left:calc(50% - 85px);transform:translateY(0) scale(1);opacity:1;filter:blur(0) drop-shadow(0 12px 9px rgba(0,0,0,.45))}
}
@keyframes s2047RobotLeftRightJump{
  0%{left:7%;transform:translateY(0) scaleX(1)}
  18%{transform:translateY(-42px) scaleX(1)}
  36%{transform:translateY(0) scaleX(1)}
  50%{transform:translateY(-24px) scaleX(1)}
  64%{transform:translateY(0) scaleX(1)}
  100%{left:calc(93% - 170px);transform:translateY(-34px) scaleX(1)}
}
@keyframes s2047RobotBodyJumpBounce{
  from{transform:translateY(2px) rotate(-.8deg)}
  to{transform:translateY(-9px) rotate(.8deg)}
}
@keyframes s2047FullScreenTeleportBurst{
  0%{opacity:0;transform:scale(.55)}
  15%{opacity:1;transform:scale(.9)}
  72%{opacity:.96;transform:scale(1.04)}
  100%{opacity:.18;transform:scale(1.18)}
}
@keyframes s2047FullScreenPortalGlow{
  from{opacity:.10;transform:scale(1)}
  to{opacity:.24;transform:scale(1.04)}
}
@keyframes s2047CentralPortalRing{
  0%{opacity:.05;transform:translate(-50%,-50%) scale(.62) rotate(0deg)}
  35%{opacity:1}
  100%{opacity:.2;transform:translate(-50%,-50%) scale(1.28) rotate(180deg)}
}
@keyframes s2047OuterPortalRing{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes s2047FloatingPortalCircle{
  from{opacity:.25;transform:scale(.82) rotate(0deg)}
  to{opacity:1;transform:scale(1.25) rotate(160deg)}
}

@media(max-width:700px){
  .s2047-tur-walker{bottom:5vh!important;transform-origin:bottom center!important}
  .s2047-tur-teleport span{width:92px!important;height:92px!important}
  .s2047-tur-teleport:before{width:92vw!important;height:92vw!important}
  .s2047-tur-teleport:after{width:68vw!important;height:68vw!important}
  @keyframes s2047RobotLeftRightJump{
    0%{left:2%;transform:translateY(0) scale(.78)}
    25%{transform:translateY(-30px) scale(.78)}
    50%{transform:translateY(0) scale(.78)}
    75%{transform:translateY(-22px) scale(.78)}
    100%{left:calc(98% - 170px);transform:translateY(-26px) scale(.78)}
  }
}
