/* ===== BODY MAP ===== */
.bm-step{display:none;animation:fadeIn .4s ease-out}.bm-step.on{display:block}
.bm-dots{display:flex;justify-content:center;gap:6px;margin-bottom:14px}
.bm-dot{width:28px;height:3px;border-radius:2px;background:var(--border);transition:all .3s}
.bm-dot.on{background:var(--accent);width:44px}.bm-dot.ok{background:var(--green)}
.bm-toggle{display:flex;justify-content:center;margin-bottom:8px}
.bm-tog-inner{display:flex;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:3px}
.bm-vt{padding:7px 20px;border:none;background:transparent;color:var(--text3);font-family:var(--sans);font-size:13px;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500}
.bm-vt.on{background:var(--accent);color:#fff}
.bmc{position:relative;width:300px;margin:0 auto 6px;user-select:none;-webkit-tap-highlight-color:transparent}
.bmc svg{width:100%;height:auto}
.bm-v{display:none}.bm-v.on{display:block}
.bz{cursor:pointer;transition:all .2s;fill:rgba(255,255,255,.18);stroke:rgba(255,255,255,.55);stroke-width:1.5}
.bz:hover,.bz:active{fill:rgba(255,255,255,.28);stroke:rgba(255,255,255,.75);stroke-width:2}
.bz.sel{fill:rgba(212,115,110,.45);stroke:#D4736E;stroke-width:2.5}
.bzl{font-size:12px;fill:rgba(255,255,255,.85);pointer-events:none;font-family:system-ui,sans-serif;font-weight:600}
.bo{fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.5);stroke-width:1.5}
.bm-hint{text-align:center;font-size:12px;color:var(--text2);margin-bottom:6px}
.bm-sel{text-align:center;font-size:12px;color:var(--accent);margin-bottom:10px;min-height:16px;font-weight:500}
.bm-pnl{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:10px}
.bm-pt{font-size:14px;font-weight:600;margin-bottom:2px;color:var(--text)}.bm-ps{font-size:12px;color:var(--text2);margin-bottom:10px}
.bm-cw{display:flex;flex-wrap:wrap;gap:6px}
.bm-ch{background:var(--bg);border:1px solid var(--border);color:var(--text2);padding:7px 12px;border-radius:16px;font-size:12.5px;font-family:var(--sans);cursor:pointer;transition:all .2s}
.bm-ch:hover{border-color:var(--accent);color:var(--text)}
.bm-ch.sel{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:500}
.dur-zone{margin-bottom:10px}.dur-zone-name{font-size:12.5px;font-weight:600;margin-bottom:6px}
.dur-row{display:flex;flex-wrap:wrap;gap:5px}
.dur-ch{background:var(--bg);border:1px solid var(--border);color:var(--text3);padding:5px 10px;border-radius:14px;font-size:11.5px;font-family:var(--sans);cursor:pointer;transition:all .2s}
.dur-ch:hover{border-color:var(--accent)}.dur-ch.sel{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}
.bm-ld{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:bmBn 1.4s ease-in-out infinite}
@keyframes bmBn{0%,80%,100%{transform:scale(.6);opacity:.3}40%{transform:scale(1);opacity:1}}
.bm-rc{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:14px}
.bm-rs{display:inline-block;padding:5px 12px;border-radius:14px;font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px}
.bm-rs-s{background:var(--red-dim);color:var(--red)}.bm-rs-d{background:var(--blue-dim);color:var(--blue)}.bm-rs-m{background:rgba(184,150,62,.12);color:#B8963E}
.bm-rt{font-family:var(--serif);font-weight:300;font-size:20px;line-height:1.3;margin-bottom:10px}
.bm-rx{font-size:13.5px;line-height:1.65;color:var(--text2);margin-bottom:12px}
.bm-rx strong{color:var(--text);font-weight:600}
.bm-zs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.bm-zt{display:flex;align-items:center;gap:4px;background:var(--bg);border:1px solid var(--border);padding:5px 10px;border-radius:8px;font-size:11px;color:var(--text2)}
.bm-zd{width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0}
.bm-ri{font-size:14px;line-height:1.6;color:var(--text);padding-left:12px;border-left:2.5px solid var(--accent);margin-bottom:12px;font-style:italic}
