.motion-diagram{display:block;width:100%;height:auto;overflow:hidden;border-radius:14px;background:#071014;font-family:Inter,"Microsoft YaHei",sans-serif}.motion-bg{fill:#071014;stroke:#29424a}.floor{stroke:#54666b;stroke-width:2}.grid{stroke:#173038;stroke-width:1}.disc,.stator,.housing,.volute{fill:url(#steel);stroke:#78919a;stroke-width:3}.hub{fill:#081217;stroke:#d7ff57;stroke-width:3}.spoke{stroke:#627a82;stroke-width:3}.shaft,.rod{fill:none;stroke:#a8bcc2;stroke-width:10;stroke-linecap:round}.race{fill:none;stroke:#78919a;stroke-width:16}.race.inner{stroke-width:9}.ball{fill:#a9bbc0;stroke:#e9f0ef;stroke-width:2}.fault{fill:#ff5c45}.hot{fill:url(#hot);filter:url(#glow)}.load,.force,.flow{fill:none;stroke:#ffd84d;stroke-width:3}.tag,.cue,.type,.spectrum{fill:#b6c7c9;font-size:11px}.code{fill:#d7ff57;font:700 12px ui-monospace,monospace;letter-spacing:1.8px}.name{fill:#f5f8f4;font-size:20px;font-weight:700}.english{fill:#71878d;font:10px ui-monospace,monospace;letter-spacing:.8px}.cue-bg{fill:#0d1d22;stroke:#243d45}.live{fill:#d7ff57}.impact,.mesh,.flash{fill:none;stroke:#ff784f;stroke-width:5}.belt{fill:none;stroke:#d2dadd;stroke-width:7;stroke-dasharray:18 8}.pipe{fill:none;stroke:#67838d;stroke-width:18}.flow{stroke-dasharray:8 7}.bubble{fill:#60e6ff88;stroke:#baf6ff}.field path{fill:none;stroke:#67dbff;stroke-width:4}.oil{fill:none;stroke:#f4c64d;stroke-width:14;opacity:.7}.orbit{fill:none;stroke:#d7ff57;stroke-width:2;stroke-dasharray:7 6}.pedestal{fill:#243940;stroke:#738990;stroke-width:3}.couple rect{fill:#f0a54f;stroke:#ffd792}.piston{fill:#96aab0;stroke:#e6eeee}.cylinder{fill:none;stroke:#71868d;stroke-width:8}.spin{animation:motion-spin 2.4s linear infinite}.reverse{animation:motion-spin-reverse 2s linear infinite}.pulse{animation:motion-pulse 1.15s ease-in-out infinite}.shake{animation:motion-shake .22s ease-in-out infinite alternate}.left{animation:motion-left .8s ease-in-out infinite}.right{animation:motion-right .8s ease-in-out infinite}.bow{animation:motion-bow 1.1s ease-in-out infinite}.field{animation:motion-field .6s ease-in-out infinite alternate}.flap{animation:motion-flap .45s ease-in-out infinite alternate;transform-origin:center}.travel{fill:#ff784f;offset-path:path("M205 104C286 102 350 117 426 123");animation:motion-travel 2.5s linear infinite}.bubble{animation:motion-bubble 1.8s ease-in infinite}.b1{animation-delay:.3s}.b2{animation-delay:.7s}.b3{animation-delay:1.1s}.piston{animation:motion-piston 1.2s ease-in-out infinite alternate}.flow{animation:motion-dash .8s linear infinite}@keyframes motion-spin{to{transform:rotate(360deg)}}@keyframes motion-spin-reverse{to{transform:rotate(-360deg)}}@keyframes motion-pulse{0%,100%{opacity:.28}50%{opacity:1}}@keyframes motion-shake{from{transform:translate(-3px,-1px)}to{transform:translate(3px,1px)}}@keyframes motion-left{50%{transform:translateY(-5px)}}@keyframes motion-right{50%{transform:translateY(5px)}}@keyframes motion-bow{50%{transform:skewY(3deg)}}@keyframes motion-field{to{opacity:.25}}@keyframes motion-flap{to{transform:scaleY(1.1)}}@keyframes motion-travel{to{offset-distance:100%}}@keyframes motion-bubble{0%{transform:translate(0,18px) scale(.2);opacity:0}45%{opacity:1}100%{transform:translate(-18px,-55px) scale(1.4);opacity:0}}@keyframes motion-piston{to{transform:translateY(54px)}}@keyframes motion-dash{to{stroke-dashoffset:-30}}body.motion-paused .motion-diagram *,body.paused .motion-diagram *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.motion-diagram *{animation-play-state:paused!important}}
