/* =========================================================
   Section · robot arm, in the hero's stage card — the arm drawing.
   ========================================================= */

.arm { width: 100%; height: auto; touch-action: pan-y; -webkit-user-select: none; user-select: none; }

/* workbench */
.floor__line { stroke: #A9AEC2; stroke-width: 1.5; }
.floor__ticks { stroke: #A9AEC2; stroke-width: 1; }
.floor__label { font: 500 11px var(--mono); letter-spacing: .12em; fill: var(--muted); text-anchor: middle; }
.trail { fill: none; stroke: var(--accent); stroke-width: 3; stroke-linecap: round; stroke-dasharray: .1 8; opacity: .5; }

/* base (gradients are set on the shapes in the SVG; these are the details) */
.ped__edge { stroke: rgba(255, 255, 255, .22); stroke-width: 1; }
.ped__bolt { fill: #9399AD; stroke: #1A1C28; stroke-width: 1; }
.ped__seam { stroke: rgba(30, 33, 48, .16); stroke-width: 1; }
.ped__window { fill: #1A1C28; }
.ped__accent { fill: var(--ink); }
.led { fill: var(--go); animation: blink 1.6s steps(1) infinite; }

/* pneumatic line: tube + glossy highlight */
.hose { fill: none; stroke: var(--accent-deep); stroke-width: 3.6; stroke-linecap: round; }
.hose__hl { fill: none; stroke: #FFC27A; stroke-width: 1; stroke-linecap: round; opacity: .9; }

/* links + joint housings */
.link__accent { fill: var(--ink); }
.link__seam { stroke: rgba(30, 33, 48, .1); stroke-width: 1; }
.link__label { font: 600 8px var(--mono); letter-spacing: .24em; fill: #8A90A4; text-anchor: middle; }
.joint__shell { stroke: #A7ACBD; stroke-width: 1; }
.joint__ring { fill: none; stroke: var(--ink); stroke-width: 2.6; }
.joint__ring--sm { stroke-width: 2; }
.joint__bolts { fill: none; stroke: #6B7088; stroke-width: 1.8; stroke-linecap: round; stroke-dasharray: 0 1; }
.joint__hub { stroke: #1A1C28; stroke-width: 1; }

/* gripper */
.grip__edge { stroke: rgba(255, 255, 255, .2); stroke-width: 1; }
.grip__status { fill: var(--accent); }
.grip__pad { fill: #1A1C28; }
.grip__screw { fill: #6B7088; }

/* machined, anodised blocks */
.blk__body { stroke: rgba(20, 22, 40, .28); stroke-width: 1; }
.blk__chamfer { fill: none; stroke: rgba(255, 255, 255, .32); stroke-width: 1; }
.blk--1 .blk__chamfer { stroke: rgba(255, 255, 255, .2); }
.blk__rim { fill: none; stroke: rgba(255, 255, 255, .45); stroke-width: 1; }
.blk--2 .blk__rim { stroke: rgba(255, 255, 255, .9); }

.target { fill: none; stroke: var(--muted); stroke-width: 1.5; opacity: .75; transition: transform .6s var(--mech); }
.stage.is-manual .target { stroke: var(--accent); opacity: 1; transition: none; }
