/* Authored mechanics share one fixed pivot and simulation-driven health. */
body.is-line-guard #gameApp #lineGuard36 .guard36-grip{left:var(--lever40-x,19.86%)!important;top:var(--lever40-y,70.8%)!important;transition:none!important}
body.is-line-guard #gameApp #lineGuard36 .guard36-health{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);padding:0;margin:0;border:0}
/* Navigation belongs to the bus screen after boarding. */
body.ui-v21 #gameApp .unified-ride .world-route-video{position:absolute!important;left:36%!important;top:13%!important;width:59%!important;height:46%!important;object-fit:cover!important;border-radius:.5cqw!important;box-shadow:none!important;filter:none!important}
body.ui-v21 #gameApp .unified-ride .ride-cabin{display:none!important}
body.ui-v21 #gameApp .unified-ride .ride-itinerary{left:36%!important;top:60%!important;width:59%!important;height:8%!important;padding:.7cqh 1cqw!important;box-sizing:border-box!important;background:#102e30f2!important;border:0!important;border-radius:.4cqw!important;box-shadow:none!important;z-index:5!important}
body.ui-v21 #gameApp .unified-ride .ride-itinerary-stops{font-size:1.5cqw!important;display:flex;align-items:center;justify-content:space-between;gap:1cqw}
body.ui-v21 #gameApp .unified-ride .ride-arrival-status{font-size:1cqw!important;color:#d2dfd3}
body.ui-v21 #gameApp .unified-ride .ride-progress{bottom:0!important;left:0!important;right:0!important;height:3px!important}
body.ui-v21 #gameApp .unified-ride:not(.bus40-running) .ride-progress i{animation:none!important;width:0!important}
.bus40-start{position:absolute!important;left:62%!important;top:79%!important;width:28%!important;min-height:8cqh!important;background:#234f4b!important;border:2px solid #b5cbb7!important;border-radius:1cqw!important;color:#f5edcf!important;font:600 1.8cqw/1.2 'Fredoka Game',sans-serif!important;z-index:6!important;padding:1cqh 1cqw!important}
.bus40-start:disabled{opacity:.75!important;cursor:default}
.bus40-stop{position:absolute!important;width:3.6cqw!important;height:3.6cqw!important;min-width:0!important;min-height:0!important;padding:0!important;border:3px solid #fff0c9!important;border-radius:50%!important;background:#3b7466!important;z-index:6!important;box-shadow:0 2px 7px #0009!important;transform:translate(-50%,-50%)}
.bus40-stop.target-factory,.bus40-stop.origin-factory{left:83.8%!important;top:37%!important}.bus40-stop.target-home,.bus40-stop.origin-home{left:49%!important;top:34%!important}
.bus40-stop.target-stop{background:#d4a452!important;box-shadow:0 0 0 .35cqw #e7d59d55,0 2px 7px #0009!important}
body.ui-v21 #gameApp .unified-ride .ride-skip{left:5%!important;right:auto!important;bottom:5%!important;top:auto!important;color:#eee5cf!important;background:#142f37da!important;border:1px solid #9eb2a7!important}
/* A short studio signature: red light reveal and a single bell strike. */
body #gameApp .ar-opening .ar-emblem{width:clamp(120px,14cqw,210px)!important}
body #gameApp .ar-opening .ar-studio{position:relative!important;letter-spacing:.27em!important}
body #gameApp .ar-opening .ar-studio:after{content:'';display:block;margin:1.5cqh auto 0;width:35%;height:2px;background:#c84742;transform:scaleX(.3);opacity:.65}
body #gameApp .ar-opening.ar-playing .ar-mark{animation:ar40-mark 2.65s cubic-bezier(.2,.7,.3,1) both!important}
body #gameApp .ar-opening.ar-playing .ar-studio{animation:ar40-word 2.65s ease both!important}
body #gameApp .ar-opening.ar-playing .ar-studio:after{animation:ar40-line 2.65s ease both}
@keyframes ar40-mark{0%{opacity:.15;filter:blur(5px);transform:scale(.96)}22%,83%{opacity:1;filter:blur(0);transform:scale(1)}100%{opacity:.9;filter:blur(0);transform:scale(1)}}
@keyframes ar40-word{0%,12%{opacity:0;transform:translateY(5px)}33%,100%{opacity:1;transform:translateY(0)}}
@keyframes ar40-line{0%,15%{transform:scaleX(0);opacity:0}35%,84%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.9);opacity:.7}}
body #gameApp .ar-opening.ar-reduced :is(.ar-mark,.ar-studio),body #gameApp .ar-opening.ar-reduced .ar-studio:after{animation:none!important;filter:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){body #gameApp .ar-opening :is(.ar-mark,.ar-studio),body #gameApp .ar-opening .ar-studio:after{animation:none!important;filter:none!important;transform:none!important}}
