/* VybzzZ — carte du monde (world.js) : préfixe .vw */
.vw{margin:26px 0 8px;max-width:880px;padding:clamp(14px,3vw,26px);border-radius:var(--radius);border:1px solid var(--panel-line);background:radial-gradient(120% 90% at 50% 0%,rgba(40,70,120,.22),rgba(10,18,38,.55)),rgba(7,12,24,.5);overflow:hidden}
.vw__cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:6px}
.vw__cap b{font-family:var(--serif);font-size:clamp(1.9rem,6vw,3rem);line-height:1;color:var(--gold-2)}
.vw__cap span{color:var(--text);font-size:clamp(.95rem,2.2vw,1.1rem);max-width:46ch;line-height:1.4}
.vw__map{position:relative}
.vw__svg{display:block;width:100%;height:auto}
.vw__land{opacity:.55}
.vw__hl{fill:rgba(230,203,134,.62);stroke:#f2e3b6;stroke-width:.7;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(230,203,134,.55));opacity:.25;transition:opacity 1.1s ease}
.vw--go .vw__hl{opacity:1}
.vw__arc{fill:none;stroke:#ecd48f;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.9;filter:drop-shadow(0 0 3px rgba(236,212,143,.8))}
.vw--go .vw__arc{animation:vw-draw 1.8s cubic-bezier(.3,.7,.2,1) forwards;animation-delay:calc(.35s + var(--i) * .3s)}
.vw__pt{opacity:0;transform-box:fill-box;transform-origin:center}
.vw--go .vw__pt{animation:vw-pop .6s ease forwards;animation-delay:calc(1.1s + var(--i) * .3s)}
.vw__dot{fill:#fff3c4;stroke:#c8a85e;stroke-width:1.4}
.vw__ring{fill:none;stroke:#ecd48f;stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center}
.vw--go .vw__ring{animation:vw-ring 2.6s ease-out infinite;animation-delay:calc(1.4s + var(--i,0) * .3s)}
.vw__odot{fill:#fff;stroke:#6f9be0;stroke-width:1.8}
.vw__ring--o{stroke:#9fc0f0}
.vw__lbl{fill:#f4efe6;font-size:11px;font-weight:700;paint-order:stroke;stroke:#0a1226;stroke-width:3px;stroke-linejoin:round;font-family:var(--sans,system-ui,sans-serif)}
.vw__lbl--o{fill:#b9d1f7}
.vw__chips{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.vw__chips li{display:flex;flex-direction:column;gap:1px;padding:8px 14px;border-radius:12px;border:1px solid rgba(230,203,134,.4);background:rgba(230,203,134,.08)}
.vw__chips b{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2)}
.vw__chips span{color:var(--text);font-size:.92rem}
@keyframes vw-draw{to{stroke-dashoffset:0}}
@keyframes vw-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes vw-ring{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}
@media(max-width:560px){.vw__lbl{display:none}.vw__chips li{padding:7px 12px}.vw__dot{r:4.2px}.vw__odot{r:5px}}
@media(prefers-reduced-motion:reduce){.vw__hl{opacity:1;transition:none}.vw__arc{stroke-dashoffset:0;animation:none!important}.vw__pt{opacity:1;animation:none!important}.vw__ring{animation:none!important;opacity:0}}
