/* Loaded only by the body-map adapter. Colours deliberately inherit the existing RECIFORGE tokens. */
.muscle-map {
  --muscle-chest: #ee727d;
  --muscle-shoulder: #e2bd38;
  --muscle-upper-arm: #80bd68;
  --muscle-upper-arm-alt: #ef756e;
  --muscle-forearm: #29a6c7;
  --muscle-forearm-alt: #d651b4;
  --muscle-core: #9a78c6;
  --muscle-core-alt: #70b974;
  --muscle-serratus: #42b8a7;
  --muscle-trap: #c76ec7;
  --muscle-back: #469cd0;
  --muscle-spine: #8b70bd;
  --muscle-scapula: #60b96d;
  --muscle-glute: #efa23a;
  --muscle-glute-alt: #e68345;
  --muscle-hip: #e7ce38;
  --muscle-quad: #9d9de2;
  --muscle-quad-alt: #b080d1;
  --muscle-sartorius: #e5c52d;
  --muscle-adductor: #79b5d8;
  --muscle-hamstring: #74bd78;
  --muscle-hamstring-alt: #50a967;
  --muscle-calf: #dc3d93;
  --muscle-calf-alt: #bd4bb1;
  --muscle-shin: #45b66d;
  --muscle-shin-alt: #29a4b8;
  display: block;
  width: min(100%, 20rem);
  height: auto;
  max-height: calc(100vh - 24px);
  margin-inline: auto;
  overflow: hidden;
  color: var(--sumi);
  background:
    linear-gradient(90deg, transparent 49.8%, color-mix(in srgb, var(--muted) 11%, transparent) 50%, transparent 50.2%),
    radial-gradient(ellipse at 50% 43%, #faf8f2 0 42%, #e9e5dc 100%);
  border: 1px solid color-mix(in srgb, var(--muted) 30%, transparent);
  border-radius: .35rem 1.4rem .35rem 1.4rem;
  shape-rendering: geometricPrecision;
  touch-action: none;
  user-select: none;
}

.muscle-map__outline {
  fill: #e8d3c4;
  stroke: none;
}

.muscle-map__contour {
  fill: none;
  stroke: #665b55;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.muscle-map__support {
  fill: transparent;
  stroke: none;
  pointer-events: none;
}

.muscle-map__anatomy {
  fill: none;
  stroke: color-mix(in srgb, var(--muted) 54%, transparent);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.muscle-map__region {
  fill: var(--muscle-fill, #93a899);
  stroke: color-mix(in srgb, var(--muscle-fill, #93a899) 58%, #3e3733);
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
  cursor: pointer;
  transition: fill .16s ease, stroke .16s ease, filter .16s ease;
}
.muscle-map__fibres { fill: none; stroke: color-mix(in srgb, var(--sumi) 38%, transparent); stroke-width: .8; stroke-linecap: round; pointer-events: none; vector-effect: non-scaling-stroke; }
.muscle-map__tendons { fill: none; stroke: rgba(62, 51, 48, .72); stroke-width: 1.45; pointer-events: none; vector-effect: non-scaling-stroke; }

.muscle-map__region:hover,
.muscle-map__region:focus-visible {
  stroke: #123f5a;
  stroke-width: 2.7;
  filter: brightness(1.08) saturate(1.08);
  outline: none;
}

.muscle-map__region.is-secondary {
  stroke: #7c5410;
  stroke-width: 2.3;
  stroke-dasharray: 4 3;
}

.muscle-map__region.is-primary {
  stroke: #8d201d;
  stroke-width: 2.6;
}

.muscle-map__region.is-selected {
  stroke: #075d8f;
  stroke-width: 3.4;
  stroke-dasharray: none;
  filter: brightness(1.12) saturate(1.12) drop-shadow(0 0 3px rgba(19, 111, 161, .72));
}

.muscle-map__region--chest { --muscle-fill: var(--muscle-chest); }
.muscle-map__region--shoulder { --muscle-fill: var(--muscle-shoulder); }
.muscle-map__region--upper-arm { --muscle-fill: var(--muscle-upper-arm); }
.muscle-map__region--upper-arm-alt { --muscle-fill: var(--muscle-upper-arm-alt); }
.muscle-map__region--forearm { --muscle-fill: var(--muscle-forearm); }
.muscle-map__region--forearm-alt { --muscle-fill: var(--muscle-forearm-alt); }
.muscle-map__region--core { --muscle-fill: var(--muscle-core); }
.muscle-map__region--core-alt { --muscle-fill: var(--muscle-core-alt); }
.muscle-map__region--serratus { --muscle-fill: var(--muscle-serratus); }
.muscle-map__region--trap { --muscle-fill: var(--muscle-trap); }
.muscle-map__region--back { --muscle-fill: var(--muscle-back); }
.muscle-map__region--spine { --muscle-fill: var(--muscle-spine); }
.muscle-map__region--scapula { --muscle-fill: var(--muscle-scapula); }
.muscle-map__region--glute { --muscle-fill: var(--muscle-glute); }
.muscle-map__region--glute-alt { --muscle-fill: var(--muscle-glute-alt); }
.muscle-map__region--hip { --muscle-fill: var(--muscle-hip); }
.muscle-map__region--quad { --muscle-fill: var(--muscle-quad); }
.muscle-map__region--quad-alt { --muscle-fill: var(--muscle-quad-alt); }
.muscle-map__region--sartorius { --muscle-fill: var(--muscle-sartorius); }
.muscle-map__region--adductor { --muscle-fill: var(--muscle-adductor); }
.muscle-map__region--hamstring { --muscle-fill: var(--muscle-hamstring); }
.muscle-map__region--hamstring-alt { --muscle-fill: var(--muscle-hamstring-alt); }
.muscle-map__region--calf { --muscle-fill: var(--muscle-calf); }
.muscle-map__region--calf-alt { --muscle-fill: var(--muscle-calf-alt); }
.muscle-map__region--shin { --muscle-fill: var(--muscle-shin); }
.muscle-map__region--shin-alt { --muscle-fill: var(--muscle-shin-alt); }

html[data-theme="dark"] .muscle-map,
.theme-dark .muscle-map { background: linear-gradient(90deg, transparent 49.8%, rgba(223, 229, 226, .08) 50%, transparent 50.2%), radial-gradient(ellipse at 50% 43%, #29343a 0 42%, #131e25 100%); border-color: rgba(210, 173, 98, .24); }
html[data-theme="dark"] .muscle-map__outline,
.theme-dark .muscle-map__outline { fill: #9a8174; }
html[data-theme="dark"] .muscle-map__contour,
.theme-dark .muscle-map__contour { stroke: #ead8c6; }
html[data-theme="dark"] .muscle-map__anatomy,
.theme-dark .muscle-map__anatomy { stroke: rgba(220, 220, 201, .34); }
html[data-theme="dark"] .muscle-map__region.is-secondary,
.theme-dark .muscle-map__region.is-secondary { stroke: #ffe08b; }
html[data-theme="dark"] .muscle-map__region.is-primary,
.theme-dark .muscle-map__region.is-primary { stroke: #ffb1a2; }
html[data-theme="dark"] .muscle-map__region.is-selected,
.theme-dark .muscle-map__region.is-selected { stroke: #c9f2ff; filter: brightness(1.14) saturate(1.12) drop-shadow(0 0 4px rgba(91, 196, 238, .9)); }
html[data-theme="dark"] .muscle-map__fibres,
.theme-dark .muscle-map__fibres { stroke: rgba(238, 232, 220, .34); }
html[data-theme="dark"] .muscle-map__tendons,
.theme-dark .muscle-map__tendons { stroke: rgba(255, 247, 235, .72); }

@media (prefers-reduced-motion: reduce) { .muscle-map__region { transition: none; } }
