/* Per-symptom figures. Additive override — loaded after the page's own CSS.
   Replaces the single shared body diagram with one figure per symptom. */
.body-map .body-figure{display:none}
.body-map{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  grid-template-areas:none!important;
  gap:30px 26px!important;
  align-items:start!important;
  grid-auto-rows:min-content!important;
  grid-template-rows:auto auto!important;  /* theirs is 1fr 1fr, which forces equal tall rows */
  align-content:start!important;
}
.body-map>*{grid-area:auto!important}
.body-map .daily-impact{grid-column:1/-1!important;border-top:1px solid currentColor;
  border-color:color-mix(in srgb,currentColor 18%,transparent);padding-top:16px;margin-top:2px}
/* neutralise the offsets that positioned these around the old centre figure */
.body-map .symptom-focus,.body-map .symptom-energy,.body-map .symptom-skin{
  padding-top:0!important;padding-bottom:0!important;align-self:start!important}
.symptom{display:flex;flex-direction:column;gap:2px;min-height:0!important;height:auto!important}
.sym-fig{width:100%;max-width:120px;height:auto;margin:2px 0 12px;display:block}
.sym-fig .frame{fill:none;stroke:currentColor;stroke-width:5.5;stroke-linecap:round;
  stroke-linejoin:round;opacity:.42}
.sym-fig .hit{fill:currentColor;opacity:.22}
.sym-fig .mark{fill:none;stroke:currentColor;stroke-width:3.4;stroke-linecap:round;opacity:.95}
.sym-fig .dotmark{fill:currentColor;opacity:.9}
.sym-fig .zz{font:700 17px Fraunces,Georgia,serif;fill:currentColor;opacity:.85}
/* Animate the symptom accents without shifting the figure or its caption. */
.symptom-motion{font:600 15px/1.3 Inter,Arial,sans-serif;color:inherit;background:transparent;border:1px solid currentColor;border-radius:4px;padding:10px 14px;min-height:44px;cursor:pointer;white-space:nowrap}
.symptom-motion[hidden]{display:none}
.symptom-motion:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.body-map-heading{flex-wrap:wrap}
.symptoms-ready .sym-fig .hit,.symptoms-ready .sym-fig .mark,.symptoms-ready .sym-fig .zz,.symptoms-ready .sym-fig .dotmark circle{transform-box:fill-box;transform-origin:center}
.symptoms-ready .symptom-focus .hit{animation:sym-head-throb 2.8s ease-in-out infinite}
.symptoms-ready .symptom-focus .mark{animation:sym-head-ache 2.8s ease-in-out infinite}
.symptoms-ready .symptom-energy circle.frame{transform-box:view-box;transform-origin:54px 68px;animation:sym-sleep-nod 4.2s ease-in-out infinite}
.symptoms-ready .symptom-energy .hit{animation:sym-head-throb 4.2s ease-in-out infinite}
.symptoms-ready .symptom-energy .zz{animation:sym-sleep-drift 3.6s ease-in-out infinite}
.symptoms-ready .symptom-energy .zz:nth-of-type(2){animation-delay:-1.2s}
.symptoms-ready .symptom-energy .zz:nth-of-type(3){animation-delay:-2.4s}
.symptoms-ready .symptom-skin .hit{animation:sym-skin-glow 3s ease-in-out infinite}
.symptoms-ready .symptom-skin .mark{animation:sym-skin-ripple 3s ease-in-out infinite}
.symptoms-ready .symptom-skin .dotmark circle{animation:sym-tingle 2.6s ease-in-out infinite}
.symptoms-ready .dotmark circle:nth-child(2){animation-delay:-.5s}
.symptoms-ready .dotmark circle:nth-child(3){animation-delay:-1s}
.symptoms-ready .dotmark circle:nth-child(4){animation-delay:-1.5s}
.symptoms-ready .dotmark circle:nth-child(5){animation-delay:-2s}
.symptoms-ready:not(.symptoms-playing) .sym-fig *{animation-play-state:paused!important}
@keyframes sym-head-throb{0%,100%{transform:scale(.96);opacity:.17}50%{transform:scale(1.08);opacity:.3}}
@keyframes sym-head-ache{0%,100%{transform:scale(.98);opacity:.55}50%{transform:scale(1.06);opacity:.95}}
@keyframes sym-sleep-nod{0%,20%,100%{transform:rotate(0) translateY(0)}55%,70%{transform:rotate(-7deg) translateY(3px)}}
@keyframes sym-sleep-drift{0%,100%{transform:translate(0,2px);opacity:.35}50%{transform:translate(2px,-7px);opacity:.9}}
@keyframes sym-skin-glow{0%,100%{transform:scale(.95);opacity:.15}50%{transform:scale(1.12);opacity:.3}}
@keyframes sym-skin-ripple{0%,100%{transform:scale(.94);opacity:.45}50%{transform:scale(1.12);opacity:.95}}
@keyframes sym-tingle{0%,100%{transform:scale(.8);opacity:.45}50%{transform:scale(1.3);opacity:1}}
.body-map .daily-impact{padding-top:28px}
.daily-impact h3{font:800 30px/1.15 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 16px}
.home .daily-impact .impact-intro{max-width:750px;font-size:19px;margin:0 0 26px}
.impact-figures{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.impact-example{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr);align-items:center;gap:22px}
.sym-fig.impact-scene{max-width:220px;margin:0}
.sym-fig .scene-prop{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.4}
.sym-fig .impact-social-link{fill:none;stroke:currentColor;stroke-width:3;stroke-dasharray:3 6;stroke-linecap:round;opacity:.35}
.impact-example h4{font:800 27px/1.15 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 15px}
.home .daily-impact .impact-example p{font-size:18px;max-width:none;margin:0}
.home .daily-impact .impact-context{max-width:900px;font-size:16px;margin:28px 0 0;line-height:1.6}
.symptoms-ready .impact-desk-person{transform-box:view-box;transform-origin:58px 108px;animation:sym-desk-lean 4.8s ease-in-out infinite}
.symptoms-ready .impact-desk-sigh{animation:sym-desk-sigh 4.8s ease-in-out infinite}
.symptoms-ready .impact-social-person{animation:sym-social-retreat 5.6s ease-in-out infinite}
.symptoms-ready .impact-social-link{animation:sym-social-distance 5.6s ease-in-out infinite}
.symptoms-ready .impact-chat{animation:sym-chat-bob 3.8s ease-in-out infinite}
@keyframes sym-desk-lean{0%,20%,100%{transform:translateX(0) rotate(0)}50%,70%{transform:translateX(-4px) rotate(-7deg)}}
@keyframes sym-desk-sigh{0%,100%{transform:translateX(0);opacity:.25}55%{transform:translateX(7px);opacity:.75}}
@keyframes sym-social-retreat{0%,15%,100%{transform:translateX(0)}50%,75%{transform:translateX(-10px)}}
@keyframes sym-social-distance{0%,15%,100%{opacity:.4}50%,75%{opacity:.12}}
@keyframes sym-chat-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:1100px){.impact-example{grid-template-columns:1fr;gap:12px}.sym-fig.impact-scene{width:190px}.impact-example h4{font-size:25px}}
@media(max-width:620px){.impact-figures{grid-template-columns:1fr;gap:32px}.impact-example{grid-template-columns:1fr;gap:12px}.sym-fig.impact-scene{width:180px}.impact-example h4{font-size:25px}.home .daily-impact .impact-example p{font-size:17px}}
@media(max-width:380px){.impact-example{grid-template-columns:1fr;gap:12px}.sym-fig.impact-scene{width:180px}}
@media(prefers-reduced-motion:reduce){.symptoms-ready .sym-fig *{animation:none!important;transform:none!important}.symptom-motion{display:none}}
@media(max-width:820px){
  .body-map{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){
  .body-map{grid-template-columns:1fr!important}
  .sym-fig{max-width:96px}
}
