/* R41 modern course: all assets and styles served locally. */
.r39-cm{background:#fff;color:#132a40;border:1px solid #dbe6ee;border-radius:22px;padding:clamp(12px,2vw,25px);box-shadow:0 16px 42px #102b3415;overflow:hidden}
.r39-hero{position:relative;border-radius:16px;overflow:hidden;margin:0 0 16px;max-height:225px}.r39-hero img{display:block;width:100%;height:225px;object-fit:cover}.r39-hero-caption{position:absolute;left:14px;bottom:14px;padding:8px 13px;background:#142f3edc;color:white;border-radius:9px;font-weight:800}
.r39-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(245px,.75fr);gap:clamp(15px,2vw,27px);align-items:start;margin-top:15px}.r39-main>div{min-width:0}.r39-role{font-weight:800;color:#16344a;margin:0 0 12px}.r39-grid.r41-parkour{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;aspect-ratio:820/620!important;background:#79b68e;border:3px solid #d9e8e0;border-radius:20px;overflow:hidden;box-shadow:0 13px 24px #274b3926}
.r41-scene{width:100%;height:100%;display:block}.r41-move-marker{fill:#f8f4bc;stroke:#fff;stroke-width:5;opacity:.92;filter:drop-shadow(0 1px 5px #fff)}.r41-character{filter:drop-shadow(0 5px 4px #16413765)}.r41-move-target{position:absolute;width:8.5%;aspect-ratio:1;border:2px solid white;border-radius:50%;background:#ffd86aee;color:#16344b;display:grid;place-items:center;transform:translate(-50%,-50%);font-size:clamp(12px,1.4vw,22px);font-weight:900;cursor:pointer;box-shadow:0 3px 11px #173e3b40;transition:scale .16s,background .16s;z-index:3}.r41-move-target:hover,.r41-move-target:focus-visible{background:#fff3b2;scale:1.12;outline:3px solid #1757a0;outline-offset:1px}.r41-preview{position:absolute;inset:0;display:grid;place-items:center;background:#f6fbf360;z-index:4;padding:15px}.r41-preview-card{background:#ffffffed;max-width:320px;padding:20px;border-radius:16px;box-shadow:0 16px 35px #16332e30;text-align:center}.r41-preview-card strong{font-weight:900;font-size:1.1rem}.r41-preview-card p{margin:10px 0;color:#37536c}.r41-preview-card .button{display:inline-flex}
.r39-meta{padding:20px;background:#f5f8fc;border:1px solid #dce4ed;border-radius:16px;color:#223d52}.r39-meta h2{color:#152c45;font-size:1.3rem;margin:0 0 12px}.r39-meta p{font-size:.91rem;line-height:1.58;color:#4c6174}.r39-stats{margin:18px 0 12px}.r39-stats div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #d6e0e9}.r39-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.r39-controls button,.r39-new{min-height:44px;border:0;border-radius:11px;background:#15344f;color:#fff;padding:11px 17px;font-weight:800;cursor:pointer}.r39-controls button:disabled{opacity:.45;cursor:default}.r39-controls button:focus-visible,.r39-new:focus-visible{outline:3px solid #3e74e8;outline-offset:3px}.r39-status{font-weight:750;color:#20543d;min-height:28px}
@media(max-width:940px){.r39-main{grid-template-columns:1fr}.r39-meta{padding:16px}.r39-hero img{height:170px}}
@media(max-width:480px){.r39-cm{padding:10px}.r41-move-target{width:12%}.r39-hero img{height:145px}}
@media(prefers-reduced-motion:reduce){.r41-move-target{transition:none!important}}

/* R42: meaningful directional arrows; catch ring never obscures the opponent. */
#r39-cm .r41-move-target{font-family:system-ui,sans-serif;touch-action:manipulation}
#r39-cm .r41-move-target span{line-height:1;font-size:clamp(13px,1.5vw,22px);font-weight:900}
#r39-cm .r41-move-target.r42-catch-target{background:transparent!important;border:2px solid #fff8bd;box-shadow:0 0 0 4px #158c5caa,0 0 18px 5px #e9fca583!important;z-index:6}
#r39-cm .r41-move-target.r42-catch-target:hover,#r39-cm .r41-move-target.r42-catch-target:focus-visible{background:transparent!important;outline:3px solid #135d3f!important;outline-offset:4px}
#r39-cm .r42-catch-marker{fill:none;stroke:#fff7a4;stroke-width:7;pointer-events:none;filter:drop-shadow(0 0 9px #1a9957)}
#r39-cm .r41-move-target:not(.r42-catch-target){background:#fff3bce8;box-shadow:0 4px 10px #18394b33}
@media(max-width:480px){#r39-cm .r41-move-target.r42-catch-target{width:13%;}}
@media(prefers-reduced-motion:reduce){#r39-cm .r42-catch-marker{filter:none}}
