.hf,.hf-icon,.hf-draw{--hf-body:var(--color-text);--hf-bar:var(--color-text-muted);--hf-hl:var(--color-primary);--hf-warn:var(--color-warn);--hf-stroke:2.5px}.hf{width:100%;max-width:var(--hf-max,150px);height:auto;margin-inline:auto;display:block;overflow:visible}.hf :is(.hf-limb,.hf-head,.hf-hand,.hf-prop,.hf-cue){fill:none;stroke:var(--hf-body);stroke-width:var(--hf-stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hf .hf-prop{stroke:var(--hf-bar)}.hf .hf-bar{fill:var(--hf-bar);stroke:none}.hf .hf-dot{fill:var(--hf-hl);stroke:none}.hf .hf-hl,.hf .hf-hl :is(.hf-limb,.hf-hand){stroke:var(--hf-hl)}.hf[data-tone=warn] .hf-hl,.hf[data-tone=warn] .hf-hl :is(.hf-limb,.hf-hand){stroke:var(--hf-warn)}.hf .hf-cue{stroke:var(--hf-hl)}.visual-block .hf{max-width:var(--hf-max,150px)}.sl-fig{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;align-self:start;padding:6px 4px 2px}.sl-fig .hf{--hf-max:100%}.dg-figs .hf{--hf-max:190px}.dg-figs>div{flex-direction:column;align-items:center;display:flex}.dg-panels .hf-card{background:var(--color-surface);border:1.5px solid var(--color-border);text-align:center;border-radius:6px;grid-template-rows:auto auto 1fr;justify-items:center;gap:8px;padding:12px 8px 14px;display:grid}.hf-card .hf{--hf-max:112px}.hf-card .hf-card-title{font:700 15px/1.25 var(--font-display);color:var(--color-text);margin:0}.hf-card .hf-card-num{color:var(--color-primary);margin-right:8px}.hf-card .hf-card-lines{font:400 13px/1.3 var(--font-body);color:var(--color-text-muted);align-content:start;gap:1px;margin:0;display:grid}.hf-card .hf-card-lines.is-main{color:var(--color-text)}.hf-card .hf-card-pair{width:min(100%,112px);height:18px;font:400 13px/1.3 var(--font-body);color:var(--color-text-muted);margin:0;position:relative}.hf-card .hf-card-pair span{position:absolute;top:0;transform:translate(-50%)}.hf-card .hf-card-pair span:first-child{left:28.3%}.hf-card .hf-card-pair span:last-child{left:71.7%}.hf-card .hf-card-chip{border:2px solid var(--color-primary);font:700 13px/1.4 var(--font-mono);letter-spacing:.04em;color:var(--color-primary);border-radius:999px;margin:0;padding:2px 12px}.hf-card .hf-card-best{border:1.5px solid var(--color-border);width:100%;font:400 13px/1.3 var(--font-body);color:var(--color-text);border-radius:4px;margin:0;padding:8px}.hf-card .hf-card-best b{color:var(--color-primary);margin-bottom:2px;display:block}.hf-card .hf-card-tag{background:var(--color-primary);color:var(--color-text-inverse);font:700 12px/1.5 var(--font-body);border-radius:999px;margin:0;padding:2px 12px}.hf-card .hf-draw{width:100%;max-width:112px;height:auto;display:block}.hf-card .hf-draw :is(.hf-limb,.hf-hand,.hf-prop,.hf-motion){fill:none;stroke:var(--hf-body);stroke-width:var(--hf-stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hf-card .hf-draw .hf-prop{stroke:var(--hf-bar)}.hf-card .hf-draw .hf-hl{stroke:var(--hf-hl)}.hf-card .hf-draw .hf-hand-fill{fill:var(--hf-hl);fill-opacity:.35}.hf-card .hf-draw .hf-arrowhead{fill:var(--hf-hl);stroke:var(--hf-hl);stroke-width:var(--hf-stroke);stroke-linejoin:round;vector-effect:non-scaling-stroke}.hf-loop{justify-items:center;gap:12px;max-width:440px;margin-inline:auto;display:grid}.hf-stage{justify-items:center;width:100%;padding:8px 0;display:grid}.hf-stage>*{grid-area:1/1}.hf-live{visibility:hidden;width:100%}.hf-live .hf{--hf-max:180px}.hf-loop.is-live .hf-live{visibility:visible}.hf-loop.is-live .hf-still{visibility:hidden}.hf-still{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;width:100%;display:grid}.hf-still-fig{justify-items:center;gap:6px;margin:0;display:grid}.hf-still-fig .hf{--hf-max:120px}.hf-still-fig figcaption{font:400 13px/1.3 var(--font-body);color:var(--color-text-muted);text-align:center}.hf-controls{text-align:center;justify-items:center;gap:8px;display:grid}.article-body .hf-loop-cap{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.4}.hf-toggle{border:1px solid var(--color-text-faint);min-width:44px;min-height:44px;color:var(--color-text);font:600 14px/1.2 var(--font-body);cursor:pointer;background:0 0;border-radius:6px;padding:8px 18px;transition:background-color .16s,border-color .16s}.hf-toggle:hover{background:var(--color-surface-2);border-color:var(--color-text-muted)}.hf-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.hf-toggle[hidden]{display:none}@media (prefers-reduced-motion:reduce){.hf-loop .hf-live,.hf-loop .hf-toggle{display:none}.hf-loop.is-live .hf-still{visibility:visible}}.demo-video{max-width:420px;margin:32px auto}.demo-video-frame{aspect-ratio:var(--dv-ratio,9 / 16);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;position:relative;overflow:hidden}.demo-video-frame video{object-fit:cover;width:100%;height:100%;display:block}.demo-video .hf-toggle{background:#080c14d1;position:absolute;bottom:8px;right:8px}.demo-video-cap{font:400 14px/1.4 var(--font-body);color:var(--color-text-muted);margin:8px 0 0}.hf-icon{flex:none;width:28px;height:25px}.hf-icon :is(path,line,circle,rect,polyline){fill:none;stroke:var(--hf-body);stroke-width:var(--hf-stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hf-icon .hf-hl{stroke:var(--hf-hl)}.hf-icon .hf-fill{fill:var(--hf-hl);fill-opacity:.35;stroke:none}#dh-anatomy .body-outline{stroke:var(--color-text);stroke-width:var(--hf-stroke,2.5px);stroke-dasharray:none;vector-effect:non-scaling-stroke}#dh-anatomy .hf-bar{fill:var(--color-text-muted);stroke:none}#dh-anatomy .hf-midline{fill:none;stroke:var(--color-text-faint);stroke-width:1px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}#dh-anatomy .hf-stabilizer{fill:none;stroke:var(--color-primary);stroke-width:var(--hf-stroke,2.5px);stroke-dasharray:4 3;vector-effect:non-scaling-stroke}#dh-anatomy .leader-line{stroke:var(--color-text-faint);stroke-width:1.5px;vector-effect:non-scaling-stroke}.dg-comp-body svg .hf-outline{fill:var(--color-surface);stroke:var(--color-text);stroke-width:2.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.dg-comp-body svg .hf-muscle{fill:var(--color-primary);fill-opacity:.25;stroke:none}@media (width<=640px){.hf-still{gap:8px}.hf-still-fig .hf{--hf-max:100%}}
