.guide-bodymap{max-width:660px;margin:40px auto 0;text-align:center;color:var(--navy)}
.guide-bodymap .guide-body-map-question{font:500 26px/1.3 var(--display);letter-spacing:-.025em;max-width:530px;margin:0 auto 12px;text-wrap:balance}
.guide-bodymap .guide-body-map-hint{font:400 14px/1.5 var(--display);color:var(--muted);margin:0 auto 10px}
.guide-bodymap .guide-body-map{width:100%;max-width:400px;height:auto;margin:0 auto;overflow:visible}
.guide-bodymap .guide-body-region{cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none}
.guide-bodymap .guide-body-shape{fill:#ddf0ff;stroke:#7897a9;stroke-width:1.1;stroke-linejoin:round;transition:fill .15s,stroke .15s}
.guide-bodymap .guide-body-label-hit{fill:transparent;stroke:transparent;stroke-width:1.5;pointer-events:all}
.guide-bodymap .guide-body-label{fill:var(--navy);font:400 15px var(--display);pointer-events:none}
.guide-bodymap .guide-body-leader{fill:none;stroke:#b2c5d1;stroke-width:1;stroke-linecap:round;pointer-events:none}
.guide-bodymap .guide-body-check{opacity:0;pointer-events:none;transition:opacity .15s}
.guide-bodymap .guide-body-check circle{fill:var(--navy)}
.guide-bodymap .guide-body-check path{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guide-bodymap .guide-body-region:hover .guide-body-shape{fill:#c6e5f9;stroke:var(--navy)}
.guide-bodymap .guide-body-region.is-answered .guide-body-shape{fill:var(--sun);stroke:#a98d31}
.guide-bodymap .guide-body-region.is-answered .guide-body-check{opacity:1}
.guide-bodymap .guide-body-region.is-answered .guide-body-label{font-weight:500}
.guide-bodymap .guide-body-region.is-active .guide-body-shape,.guide-bodymap .guide-body-region:focus-visible .guide-body-shape{stroke:var(--navy);stroke-width:2.5}
.guide-bodymap .guide-body-region.is-active .guide-body-label-hit,.guide-bodymap .guide-body-region:focus-visible .guide-body-label-hit{fill:#f2f8fc;stroke:var(--navy)}
.guide-bodymap .guide-body-region.is-active .guide-body-leader,.guide-bodymap .guide-body-region:focus-visible .guide-body-leader{stroke:var(--navy);stroke-width:1.5}
.guide-bodymap .guide-body-completion{margin:4px auto 0;max-width:220px}
.guide-bodymap .guide-body-completion p{font:400 14px/1.5 var(--display);color:var(--muted);margin:0 auto 9px}
.guide-bodymap .guide-body-completion progress{display:block;width:100%;height:5px;border:0;border-radius:99px;overflow:hidden;background:#e5eef4;appearance:none;-webkit-appearance:none}
.guide-bodymap .guide-body-completion progress::-webkit-progress-bar{background:#e5eef4;border-radius:99px}
.guide-bodymap .guide-body-completion progress::-webkit-progress-value{background:var(--navy);border-radius:99px}
.guide-bodymap .guide-body-completion progress::-moz-progress-bar{background:var(--navy);border-radius:99px}
.guide-bodymap .guide-body-feeling-dialog{width:min(480px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:32px 28px 28px;border:1px solid #d9e6ee;border-radius:22px;background:#fff;color:var(--navy);text-align:left;box-shadow:0 16px 70px rgba(20,62,86,.18);overflow:auto;overscroll-behavior:contain}
.guide-bodymap .guide-body-feeling-dialog::backdrop{background:rgba(20,62,86,.32)}
.guide-bodymap .guide-body-feeling-dialog h2{font:500 28px/1.2 var(--display);letter-spacing:-.025em;margin:0 42px 25px 0}
.guide-bodymap .guide-body-feeling-dialog h2:focus{outline:none}
.guide-bodymap .guide-body-dialog-close{display:grid;place-items:center;position:absolute;right:14px;top:17px;width:44px;height:44px;border-radius:50%;background:transparent;color:var(--navy)}
.guide-bodymap .guide-body-dialog-close:hover{background:#f2f8fc}
.guide-bodymap .guide-body-dialog-close svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.guide-bodymap .guide-body-feeling-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.guide-bodymap .guide-body-feeling-choice{min-height:66px;padding:15px 14px;background:#f2f8fc;border:1px solid #d0e1ec;border-radius:13px;text-align:left;color:var(--navy);font:400 16px/1.35 var(--display)}
.guide-bodymap .guide-body-feeling-choice:hover{background:var(--sky);border-color:#7f9fb1}
.guide-bodymap .guide-body-feeling-choice.is-selected{background:var(--sun);border-color:var(--navy)}
.guide-bodymap .guide-body-other-form{margin-top:22px;display:grid;gap:12px}
.guide-bodymap .guide-body-other-form[hidden]{display:none}
.guide-bodymap .guide-body-other-form label{font:500 16px/1.4 var(--display)}
.guide-bodymap .guide-body-other-form input{display:block;width:100%;padding:13px 15px;min-height:48px;border:1px solid #9fb8c6;border-radius:12px;color:var(--navy);background:white;font:400 17px/1.4 var(--display)}
.guide-bodymap .guide-body-other-form .button{justify-self:end}
.guide-bodymap .guide-body-other-form .button:disabled{opacity:.35;cursor:default}
body:has(.guide-bodymap .guide-body-feeling-dialog[open]){overflow:hidden}
@media(max-width:600px){
 .guide-bodymap .guide-body-map-question{font-size:25px}
 .guide-bodymap .guide-body-map{max-width:370px}
 .guide-bodymap .guide-body-feeling-dialog{width:100%;max-height:calc(100dvh - 20px);margin:auto 0 0;padding:29px 23px calc(25px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;border-bottom:0}
 .guide-bodymap .guide-body-feeling-dialog h2{font-size:26px;margin-bottom:23px}
}
@media(prefers-reduced-motion:reduce){.guide-bodymap .guide-body-shape,.guide-bodymap .guide-body-check{transition:none}}
