#nerve-map .rd-map-layout { display:grid; gap:22px; align-items:stretch; }
.rd-anatomy { margin:0; min-width:0; padding:22px; border:1px solid #ffffff25; border-radius:24px; background:radial-gradient(ellipse at 50% 45%,#204c65,#082238 78%); box-shadow:0 24px 55px -30px #000b; color:#e3f2fa; }
.rd-anatomy-head { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:13px; }
.rd-anatomy-head strong { color:#fff; font-size:16px; }
.rd-view-label { border:1px solid #92d5f644; border-radius:99px; padding:4px 10px; color:#a9d9ee; white-space:nowrap; }
.rd-body-stage { position:relative; margin-top:10px; background:#0b293e; border-radius:16px; overflow:hidden; }
.rd-body-svg { display:block; width:100%; height:425px; overflow:visible; }
.rd-body-svg image { pointer-events:none; }
.rd-pain-zone { fill:transparent; stroke:transparent; stroke-width:5; cursor:pointer; transition:fill .2s,stroke .2s; }
.rd-pain-zone.is-active { fill:#ffad4266; stroke:#ffd58b; stroke-width:3; }
.rd-pain-zone:hover,.rd-pain-zone:focus { fill:#ffc26780; stroke:#fff0c9; outline:none; }
.rd-nerve-glow,.rd-nerve-core { fill:none; stroke:#ffbf60; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.rd-nerve-glow { stroke-width:16; opacity:.24; }
.rd-nerve-core { stroke-width:4; stroke-dasharray:9 6; animation:rd-nerve-flow 2s linear infinite; }
.rd-map-origin { fill:#fff5d8; stroke:#ffb746; stroke-width:5; }
.rd-map-legend { display:flex; gap:15px; flex-wrap:wrap; align-items:center; font-size:12px; color:#c4dce8; margin:4px 0 12px; }
.rd-map-legend span { display:inline-flex; align-items:center; gap:6px; }
.rd-zone-key { width:12px; height:12px; background:#ffad4266; border:1px solid #ffd58b; border-radius:3px; }
.rd-path-key { width:20px; height:0; border-top:2px dashed #ffbf60; }
.rd-anatomy figcaption { padding-top:12px; border-top:1px solid #ffffff1f; font-size:13px; line-height:1.6; color:#b7cedc; }
.rd-anatomy figcaption strong { display:block; color:#fff0d3; font-size:15px; margin-bottom:3px; }
#nerve-map .rd-detail { padding:26px; min-width:0; }
.rd-root-heading { display:flex; align-items:center; gap:13px; margin-bottom:20px; }
.rd-root-badge { display:grid; place-items:center; flex:0 0 55px; height:55px; border-radius:15px; background:#0a4d8c; color:#fff; font-size:23px; font-weight:800; }
.rd-root-heading h3 { margin:0; font-size:25px; color:#101827; }
.rd-root-heading p { margin:3px 0 0; font-size:14px; color:#647184; }
.rd-root-note { display:inline-block; margin:0 0 16px; padding:4px 10px; border-radius:20px; background:#fff5df; color:#805213; font-size:12px; }
.rd-facts { display:grid; gap:12px; }
.rd-fact { padding:16px 18px; background:#f5f7f9; border-radius:14px; }
.rd-fact h4 { margin:0 0 5px; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:#607184; font-weight:800; }
.rd-fact h4 i { color:#0a4d8c; margin-right:4px; }
.rd-fact p { margin:0; color:#263446; line-height:1.5; }
.rd-confirm { font-size:13px; line-height:1.65; color:#647184; margin:18px 0 0; }
#nerve-map button:focus-visible { outline:3px solid #ffc46c; outline-offset:4px; }
@keyframes rd-nerve-flow { to { stroke-dashoffset:-30; } }
@media (min-width:900px) { #nerve-map .rd-map-layout { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); } }
@media (max-width:599px) { .rd-anatomy { padding:18px; } .rd-body-svg { height:360px; } #nerve-map .rd-detail { padding:22px; } #nerve-map .region-tab { padding:10px 12px; font-size:12px; } .rd-root-heading h3 { font-size:23px; } }
@media (prefers-reduced-motion:reduce) { .rd-nerve-core { animation:none; } .rd-pain-zone { transition:none; } }
