.leg-app #viewport{height:clamp(600px,84vh,980px)}
.structure-label.leg-artery{border-left:3px solid #c8453b}
.structure-label.leg-vein{border-left:3px solid #4c72b4}
.structure-label.leg-nerve{border-left:3px solid #e3b330}
.structure-label.leg-ligament{border-left:3px solid #c9b894}
.structure-label.selected{border-left-color:#596b60}
@media(max-width:900px){.leg-app #viewport{height:620px}}
@media(max-width:650px){.leg-app #viewport{height:min(640px,82vh);margin-bottom:60px}}
.leg-side{display:flex;align-items:center;gap:12px;margin:10px 22px 2px;font-size:13px;color:var(--muted,#7a6a5d)}
.side-toggle{display:inline-flex;border:1px solid #d8c9b8;border-radius:9px;overflow:hidden;background:#fffdfa}
.side-toggle button{border:0;background:transparent;padding:7px 14px;font-size:13px;color:#5c483c;cursor:pointer}
.side-toggle button+button{border-left:1px solid #d8c9b8}
.side-toggle button[aria-pressed=true]{background:#596b60;color:#fff}
.leg-extent{fill:none;stroke:#0f9f76;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.leg-app .structure-label.selected{background:#0f9f76;border-color:#0f9f76;color:#fff;box-shadow:0 0 0 3px #0f9f7633}
.leg-app .anatomy-target.selected{fill:#0f9f76}
@media(max-width:650px){.leg-side{margin:8px 12px 0;font-size:12px}.side-toggle button{padding:6px 11px;font-size:12px}}
.leg-app .label-lines polyline.selected{stroke:#0f9f76;stroke-width:2.6}
.leg-app .label-lines polyline{stroke:#87664d;stroke-width:2.2;opacity:1}
.leg-app .label-lines polyline.selected{stroke:#0f9f76;stroke-width:3}
.leg-app .anatomy-target{stroke-width:2}
.body-map{position:absolute;left:16px;bottom:44px;width:112px;z-index:6;touch-action:none;cursor:move;outline:none;user-select:none;-webkit-user-select:none;background:rgba(255,253,249,.9);border-radius:12px;box-shadow:0 0 0 7px rgba(255,253,249,.9)}
.body-map svg{display:block;width:100%;aspect-ratio:5.5/7.2;overflow:hidden}
.map-body{fill:#eadfd3;stroke:#b8a593;stroke-width:.03}
.map-heart{fill:#e9b9ae;opacity:.8}
.map-artery{fill:none;stroke:#c8453b;stroke-width:.07;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.map-dim{fill:#f7f2eb;opacity:.6}
.map-band{fill:#3f73561f;stroke:#3f7356;stroke-width:.06;rx:.12}
.map-dot{fill:#3f7356}
.map-name{display:block;margin-top:6px;text-align:center;white-space:nowrap;font-size:11px;font-weight:600;color:#3f7356}
.map-hint{display:block;margin-bottom:4px;text-align:center;font-size:10px;color:#8a7768}
.body-map:focus-visible .map-band{stroke-width:.1}
@media(max-width:650px){.body-map{left:8px;bottom:40px;width:62px;box-shadow:0 0 0 5px rgba(255,253,249,.9)}.map-name{font-size:9.5px;white-space:normal;line-height:1.3}.map-hint{font-size:9px}.leg-app .structure-label{max-width:none}.leg-app .structure-label small{white-space:nowrap}}
