.journey .chapter-map{position:relative;container-type:inline-size;aspect-ratio:384/1216;height:auto;min-height:0;max-height:none;overflow:hidden;border-radius:26px;background:#eee0c6 var(--chapter-bg) center/cover;isolation:isolate}
.chapter-roads{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.chapter-roads path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.chapter-road-shadow{stroke:#9b784b;stroke-width:20;opacity:.32;transform:translateY(2px)}
.chapter-road-bed{stroke:#ead6b0;stroke-width:16}
.chapter-road-inset{stroke:#a98c60;stroke-width:1;stroke-dasharray:1 4;opacity:.45}
.chapter-map--arena.chapter-map--2 .chapter-road-bed{stroke:#d5bd8a;stroke-width:12}
.chapter-road-progress{stroke:#ab8434;stroke-width:2.8;stroke-dasharray:.009 .015;animation:chapter-travel .75s ease-out both}
.chapter-stop{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:44%;display:grid;justify-items:center;gap:5px;padding:0;border:0!important;background:none!important;box-shadow:none!important;color:#193c2b;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent}
.chapter-object{display:block;width:72%;height:26cqw;transition:transform .25s ease,filter .25s ease;transform-origin:50% 80%;filter:drop-shadow(0 4px 3px #5b421e44)}
.chapter-object img{display:block;width:100%;height:100%;object-fit:contain}
.chapter-label{position:relative;display:grid;justify-items:center;width:100%;text-align:center;line-height:1.14}
.chapter-label strong{font:600 clamp(13px,4cqw,24px)/1.12 Georgia,serif;background:#fff9e9;padding:6px 11px;border-radius:13px;box-shadow:0 2px 5px #68461b24;max-width:100%;text-wrap:balance}
.chapter-label b{position:absolute;left:-9px;top:-5px;z-index:1;border-radius:100%;width:27px;height:27px;display:grid;place-items:center;background:#173d2d;color:#fff8e7;border:1px solid #d8c587;font:600 16px Georgia,serif}
.chapter-label small{margin-top:4px;background:#eedca5;color:#3c4829;border-radius:12px;padding:2px 10px;font-size:clamp(11px,2.8cqw,15px);font-weight:600}
.chapter-stop.is-locked .chapter-object{filter:grayscale(1) opacity(.55);animation:none}
.chapter-stop.is-locked .chapter-label{opacity:.78}
.chapter-stop.is-active .chapter-object{animation:chapter-arrival .9s ease-out both;filter:drop-shadow(0 4px 4px #95732370)}
.chapter-stop:not(.is-locked):hover .chapter-object,.chapter-stop:not(.is-locked):focus-visible .chapter-object{transform:translateY(-5px) rotate(-3deg) scale(1.06);filter:drop-shadow(0 5px 6px #b99543aa) brightness(1.1)}
.chapter-stop:focus-visible{outline:0}.chapter-stop:focus-visible strong{text-decoration:underline;text-decoration-color:#a9802d;text-underline-offset:3px}
.campaign-context-stage{background:#eee2c9 var(--chapter-bg) center/cover;display:grid;place-items:center;overflow:hidden;position:relative;aspect-ratio:4/3;border-radius:22px}
.campaign-context-stage img{width:64%;height:88%;object-fit:contain;filter:drop-shadow(0 12px 12px #66482135);animation:campaign-object-discover 3.8s ease-in-out both}
.campaign-context-stage[data-focus-index="1"] img{transform:translateX(-5%) rotate(5deg) scale(1.15);animation:none;transition:transform .4s ease}
.paused .campaign-context-stage img{animation-play-state:paused}
.campaign-discovery .annotation{position:relative;margin:12px 0 0;background:#1a3c2c;color:#fff8e9;border-radius:18px;padding:20px}
.campaign-discovery .annotation h3{color:#eed48e;margin:4px 0 10px}
.specialist-action{border:1px solid #d8cfb3;border-radius:18px;background:#faf6e8;padding:18px;margin-top:15px}.specialist-action h3{margin-top:0}.specialist-choices{display:flex;flex-wrap:wrap;gap:10px}.specialist-action .primary{margin-top:14px}.specialist-action small{display:block}
@keyframes chapter-travel{from{opacity:0}to{opacity:1}}
@keyframes chapter-arrival{0%{transform:translateY(9px) scale(.9);opacity:.6}70%{transform:translateY(-3px) scale(1.03)}100%{transform:none;opacity:1}}
@keyframes campaign-object-discover{0%{transform:translateY(12px) scale(.86) rotate(-6deg)}45%{transform:scale(1.12) rotate(3deg)}100%{transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.chapter-map *,.campaign-context-stage img{animation:none!important;transition:none!important}.chapter-stop:hover .chapter-object{transform:none}}
body[data-reduce-motion=true] .chapter-map *,body[data-reduce-motion=true] .campaign-context-stage img{animation:none!important;transition:none!important}
