/* 机器本身承担叙事：canvas 内不出现图框、箭头、悬浮解释牌。 */
.kinematic-hero{grid-template-columns:minmax(0,.73fr) minmax(0,1.27fr);gap:25px;max-width:1360px;align-items:center;padding-top:62px;padding-bottom:62px}
.kinematic-hero .hero-text{padding-top:15px}
.kinematic-hero .hero h1,.kinematic-hero h1{font-size:clamp(43px,4.6vw,69px);letter-spacing:-2.8px;line-height:1.35}
.kinematic-hero .lead{max-width:485px}
.kinematic-hardware{min-width:0}
.hardware-intro{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#7d9586;font-size:10px;letter-spacing:.5px;margin-bottom:7px}
.hardware-stage{position:relative;height:480px;width:100%;background:radial-gradient(ellipse at 50% 55%,#f2f5f1 0,#e7ece6 62%,#e4eae3 100%);border-radius:12px;overflow:hidden;isolation:isolate}
.hardware-stage::before{content:"";position:absolute;left:12%;right:12%;height:14px;bottom:12%;border-radius:100%;background:#586d5e1a;filter:blur(20px);pointer-events:none}
.hardware-stage canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;position:relative;z-index:1}
.hardware-stage canvas:active{cursor:grabbing}
.hardware-stage.webgl-fallback{background:linear-gradient(145deg,#eff2ed,#e1e8e1)}
.hardware-controls{padding-top:16px}
.hardware-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.hardware-steps button{border:0;border-bottom:2px solid #d9e2da;color:#89968e;font-size:12px;font-weight:640;background:transparent;padding:11px 5px 13px;white-space:nowrap}
.hardware-steps button.active,.hardware-steps button[aria-pressed=true]{color:#244b39;border-bottom-color:#346a50}
.hardware-steps button:hover{color:#274f3a}
.hardware-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}
.hardware-units{display:flex;gap:5px;align-items:center}
.hardware-units::before{content:"选择机器";font-size:11px;color:#89988b;margin-right:9px}
.hardware-units button{width:35px;height:29px;background:transparent;border:1px solid #d7e0d7;color:#73897a;border-radius:4px;font-size:11px;font-weight:650}
.hardware-units button.active{background:#325342;color:white;border-color:#325342}
#hardware-play{background:none;color:#557e66;border:0;font-size:11px;font-weight:680;padding:9px 4px}
.hardware-controls p{margin:8px 0 0;color:#647f6e;font-size:12px;line-height:1.85;min-height:23px}
.hardware-disclaimer{margin:8px 0 0;font-size:10px;line-height:1.7;color:#99a59b}
@media(max-width:1100px){.kinematic-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:17px}.hardware-stage{height:410px}.kinematic-hero h1{font-size:clamp(40px,4.2vw,61px)}}
@media(max-width:760px){.kinematic-hero{grid-template-columns:1fr;gap:23px;padding-top:47px;padding-bottom:60px}.kinematic-hero h1{font-size:clamp(39px,9vw,60px)}.hardware-stage{height:380px}.hardware-intro{font-size:9px}.hardware-steps button{font-size:11px}.hardware-controls{padding-top:10px}}
@media(max-width:420px){.hardware-stage{height:330px}.kinematic-hero h1{letter-spacing:-1.8px}.hardware-steps button{font-size:10px}.hardware-actions{flex-wrap:wrap}.hardware-controls p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hardware-steps button{transition:none}}
