.balance-body-map [data-action="body-part-menu"] { cursor:pointer; touch-action:manipulation; }
.balance-body-map .balance-profile-anatomy,
.light-app-preview .balance-body-map .balance-profile-anatomy { pointer-events:auto !important; }
.balance-body-map .balance-muscle-layer [data-body-part] { pointer-events:all !important; }
.balance-body-map g[data-action="body-part-menu"]:is(:hover,:focus-visible) path { stroke:#0f766e; stroke-width:4; }
.balance-body-map [data-action="body-part-menu"]:focus-visible { outline:3px solid #0f766e; outline-offset:3px; }
.balance-body-map button.balance-part { width:100%; font:inherit; text-align:left; cursor:pointer; }
.balance-body-map button.balance-anatomy-callout { pointer-events:auto; text-align:left; font:inherit; }
.balance-body-map .body-menu-hint { margin:8px 0 14px; color:#52657b; font-size:13px; line-height:1.7; }
.balance-body-map .balance-volume-legend { position:absolute; left:22px; right:22px; bottom:18px; z-index:6; padding:13px 14px 12px; border:1px solid #dfe7f1; border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 10px 26px #26344a14; color:#536274; }
.balance-volume-legend > strong {font-size:12px;}
.balance-volume-legend > p {margin:5px 0 10px;font-size:11px;}
.balance-volume-legend-items {display:flex;flex-wrap:wrap;gap:8px 12px;font-size:10px;}
.balance-volume-legend-items span {display:flex;align-items:center;gap:5px;white-space:nowrap;}
.balance-volume-legend-items i {width:8px;height:8px;border-radius:50%;background:#f8fafc;border:1px solid #cbd5e1;}
.balance-volume-legend-items [data-level="low"] i {background:#f97316;border:0;}
.balance-volume-legend-items [data-level="started"] i {background:#f59e0b;border:0;}
.balance-volume-legend-items [data-level="active"] i {background:#3b82f6;border:0;}
.balance-volume-legend-items [data-level="complete"] i {background:#22bd8c;border:0;}
dialog.owl-body-menu {box-sizing:border-box;width:min(820px,calc(100vw - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:22px;border:1px solid #dbe5ec;border-radius:20px;background:#f8fafc;color:#172b40;overflow:auto;box-shadow:0 24px 80px #142c4240;}
.owl-body-menu::backdrop {background:#13273980;}
.owl-body-menu header {display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
.owl-body-menu header > div {min-width:0;}
.owl-body-menu header button {flex:none;white-space:nowrap;}
.owl-body-menu h2 {margin:4px 0;font-size:24px;}
.owl-body-menu header small,.owl-body-menu-description,.owl-body-menu-notice {color:#52657b;font-size:13px;line-height:1.7;}
.owl-body-menu button {min-height:44px;border:1px solid #cbd9e4;border-radius:10px;padding:10px 14px;background:#fff;color:#203d55;font:inherit;cursor:pointer;}
.owl-body-menu button:disabled {opacity:.55;cursor:not-allowed;}
.owl-body-menu :is(button,input,summary):focus-visible {outline:3px solid #0f766e;outline-offset:3px;}
.owl-body-menu-search {display:grid;gap:7px;font-size:13px;font-weight:700;}
.owl-body-menu-search input {box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd9e4;border-radius:10px;background:white;color:#172b40;font-size:16px;}
.owl-body-menu-count {font-size:12px;color:#52657b;}
.owl-body-menu-list {display:grid;gap:12px;}
.owl-body-menu-exercise {display:flex;gap:16px;padding:16px;border:1px solid #dce5ec;border-radius:15px;background:#fff;}
.owl-body-menu-exercise > img {width:100px;height:100px;object-fit:contain;border-radius:10px;background:#f1f5f9;transform:translateZ(0);}
.owl-body-menu-exercise-content {min-width:0;flex:1;}
.owl-body-menu-exercise h3 {margin:4px 0 12px;font-size:16px;overflow-wrap:anywhere;}
.owl-body-menu-exercise small {font-size:11px;color:#52657b;}
.owl-body-menu-actions {display:flex;flex-wrap:wrap;gap:8px;}
.light-app-preview .owl-body-menu .owl-body-menu-record,
.owl-body-menu .owl-body-menu-record {background:#0d6258 !important;color:#fff !important;border-color:#0d6258 !important;font-weight:700;font-size:13px;}
.owl-body-menu details {margin-top:12px;font-size:13px;line-height:1.8;}
.owl-body-menu summary {cursor:pointer;}
.owl-body-menu details p {white-space:pre-line;}
@media(max-width:600px) {
  dialog.owl-body-menu {padding:16px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);}
  .owl-body-menu-exercise {gap:10px;padding:12px;}
  .owl-body-menu h2 {font-size:22px;}
  .owl-body-menu-exercise > img {width:68px;height:68px;}
  .owl-body-menu-actions {flex-direction:column;}
  .owl-body-menu-actions button {width:100%;font-size:12px;}
  .balance-body-map .balance-volume-legend {left:12px;right:12px;bottom:12px;}
}
