.balance .scene>canvas:focus-visible{border:1px solid var(--me);border-radius:12px}
.balance-meter{display:flex;align-items:center;gap:8px;width:150px;margin-top:6px}
.balance-meter strong{min-width:34px;font-size:12px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.meter-track{flex:1;height:5px;position:relative;border-radius:10px;background:linear-gradient(90deg,var(--color-line),var(--color-line-soft) 27%,var(--color-line-soft) 73%,var(--color-line))}
.meter-track i{position:absolute;top:-4px;left:50%;width:3px;height:13px;border-radius:3px;background:var(--me);transform:translateX(-50%);transition:left .07s linear}
.meter-track b{position:absolute;top:0;left:50%;width:1px;height:5px;background:var(--color-muted)}
/* Высота одинакова в обоих состояниях: сцена не прыгает, пока грузы движутся. */
#chooseControls,#motionControls{display:flex;flex-direction:column;gap:8px;height:226px}
.cargo{display:flex;gap:8px}
.cargo button{flex:1;min-width:0;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:transparent;color:var(--color-ink);padding:7px 4px 6px;font:inherit;cursor:pointer}
.cargo button[aria-pressed="true"]{border-color:var(--me);background:var(--color-signal-faint);box-shadow:inset 0 0 0 1px var(--me)}
.cargo button:disabled{cursor:default}
.cargo svg{display:block;width:34px;height:26px;margin:0 auto 3px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;color:var(--me)}
.cargo b{display:block;font-size:12px;font-weight:600}
.cargo span{display:block;font-size:10px;margin-top:1px;color:var(--color-muted)}
#cargoHint.blocked{color:var(--color-danger)}
#motionControls{align-items:center;justify-content:center;text-align:center}
#motionTitle{font-size:13px;margin-top:4px;font-weight:600}
#motionHint{font-size:11px;color:var(--color-muted);max-width:260px;line-height:1.5}
.motion-symbol{position:relative;display:flex;align-items:center;justify-content:space-between;width:82px;height:30px;border-bottom:2px solid var(--me);transform-origin:center bottom;animation:balance-sway 2s ease-in-out infinite}
.motion-symbol i{display:block;width:17px;height:17px;border:1.5px solid var(--me);border-radius:4px}
.motion-symbol b{position:absolute;left:39px;bottom:-14px;width:3px;height:11px;background:var(--me)}
@keyframes balance-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@media(prefers-reduced-motion:reduce){.motion-symbol{animation:none}}
.balance-error{margin:auto;max-width:300px;text-align:center;font-size:14px;line-height:1.6}
.balance-error a{display:block;margin-top:12px}
@media(max-height:720px){#chooseControls,#motionControls{height:220px}.cargo button{padding-top:5px}.cargo svg{height:22px;margin-bottom:2px}}
