[hidden]{display:none!important}
.idiom .road{clip-path:none;background:none;perspective:none}
.idiom .road::before{display:none}
#roadCanvas{display:block;width:100%;height:100%}
.idiom .runner{bottom:5%;width:clamp(110px,16vw,160px);height:auto;aspect-ratio:384/680;animation:none;transition:none;z-index:15;transform:translateX(-50%) rotate(var(--lean,0deg))}
.run-sprite{width:100%;height:100%;background-image:url("assets/runner-cycle.webp");background-size:400% 100%;background-repeat:no-repeat;animation:runCycle var(--stride,.48s) steps(4) infinite}
@keyframes runCycle{to{background-position:133.333333% 0}}
.idiom .boost-badge{top:30%;font-size:.8rem}
.run-item{position:absolute;width:clamp(94px,18vw,180px);padding:16px 8px;border-radius:18px;border:3px solid #d4ffff;background:linear-gradient(135deg,#245678,#13395d);box-shadow:0 0 16px #69e5ff,0 12px 16px #071b3666;color:white;text-align:center;font-size:clamp(16px,2vw,24px);font-weight:900;pointer-events:none;will-change:transform,top,left}
.run-item::before{content:"◆";display:block;color:#9fecff;font-size:24px;line-height:1.1}
.run-item.picked-up{animation:itemAbsorb .5s forwards}
.run-item.hit-obstacle{background:#812e46;border-color:#ffb0a5;animation:itemCrash .55s forwards}
.run-item.hit-obstacle::before{content:"✕";color:#ffe2d4}
.run-item.passed-item{opacity:0;transition:opacity .25s}
@keyframes itemAbsorb{to{opacity:0;filter:brightness(3);translate:0 20px;scale:1.5}}
@keyframes itemCrash{40%{rotate:-15deg}80%{rotate:15deg}100%{opacity:0;scale:.5}}
.idiom .feedback{top:4%;min-width:0;width:min(90%,600px);padding:8px 14px;font-size:16px;transform:translate(-50%,0);pointer-events:none}
.idiom .feedback small{font-size:14px}
.idiom.boosting .playfield{box-shadow:inset 0 0 75px #52eaff88}
.idiom.stumbling .runner{filter:drop-shadow(0 0 14px #ff3e49)}
@media(max-height:500px){.idiom .playfield{min-height:150px}.idiom .runner{width:85px}.run-item{padding:5px;font-size:16px}.run-item::before{font-size:16px}}
@media(prefers-reduced-motion:reduce){.run-sprite{animation-duration:.8s!important}}
