/* One continuous Rio journey. Scoped here so Deck, Shop and battle HUD stay intact. */
#startModal .hub-trail-guide { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; padding:8px 10px; background:#102f3bea; }
#startModal .hub-trail-guide strong { color:#ffe08f; font-size:11px; letter-spacing:.06em; }
#startModal .hub-trail-guide #crownNext { grid-column:1/-1; margin:0; font-size:11px; line-height:1.35; }
#trailToPlayer { align-self:start; padding:3px 6px; border:1px solid #78a5ad; border-radius:6px; background:#1a4350; color:#ecf5ee; font:800 9px/1.3 system-ui; cursor:pointer; }
#startModal .journey-shell #journeyScroll { border-color:#537c85; background:#123949; scrollbar-color:#e5c46f #163843; }
#startModal .bairro-map { height:var(--road-height); padding:0; background:#123444; }
#startModal .bairro-map::before { z-index:1; background:linear-gradient(90deg,#0a283633,transparent 58%,#082636cc); }
#startModal .bairro-map::after { display:none; }
#startModal .bairro-map #trailRegions { z-index:0; }
#startModal .bairro-map .bairro-region { border:0; background:linear-gradient(100deg,color-mix(in srgb,var(--realm-glow),#163f47 82%),#102f3f); }
#startModal .bairro-map .bairro-region > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 9%; opacity:.23; filter:saturate(.8); mask-image:linear-gradient(transparent,#000 15%,#000 80%,transparent); }
#startModal .bairro-map #trailPosts { position:absolute; inset:0; z-index:1; pointer-events:none; }
#startModal .bairro-map .climb-post { width:76px; height:76px; transform:translate(-84%,-40%); z-index:1; filter:drop-shadow(0 3px 3px #001c28a0); }
#startModal .bairro-map .climb-post > img { display:block; width:100%; height:100%; object-fit:contain; }
#startModal .bairro-map .climb-post.locked { filter:saturate(.6) brightness(.82); }
#startModal .bairro-map .journey-road { z-index:2; height:var(--road-height); width:100%; inset:0; }
#startModal .bairro-map .journey-road .wire-cable { stroke:#263e45; stroke-width:3; opacity:1; }
#startModal .bairro-map .journey-road .wire-progress { stroke:#ffeb8a; stroke-width:3; filter:drop-shadow(0 0 5px #ffd269); }
#startModal .bairro-map .wire-checkpoint { fill:#557079; stroke:none; }
#startModal .bairro-map .wire-checkpoint.earned { fill:#ffe79a; }
#startModal .bairro-map #arenaLadder { z-index:3; margin:0; padding:0; }
#startModal .bairro-map #arenaLadder > li { left:3%; width:76%; height:116px; transform:translateY(-50%); }
#startModal .bairro-map #arenaLadder .journey-stop { padding:0; border:1px solid #a3c8c86b; border-left:3px solid var(--realm); border-radius:13px; overflow:hidden; background:#17404b; box-shadow:0 3px 0 #071f29,0 6px 12px #05273470; }
#startModal .bairro-map #arenaLadder .journey-stop::before { z-index:1; background:linear-gradient(180deg,#05273500 0%,#05273500 30%,#052331a1 52%,#052331f5 100%); }
#startModal .bairro-map #arenaLadder .journey-stop::after { inset:3px; border:1px solid #ffffff24; border-radius:9px; background:none; z-index:4; }
#startModal .bairro-map #arenaLadder .journey-stop > img.journey-stop-art { z-index:0; width:100%; height:100%; inset:0; object-fit:cover; object-position:center 5%; transform:none; border:0; filter:saturate(1.06); }
#startModal .bairro-map #arenaLadder .journey-stop > .stop-number { z-index:3; width:23px; height:23px; top:7px; left:7px; border:1px solid #ffeba2; transform:none; color:#241b0e; background:linear-gradient(#ffe18c,#dfa73b); font:900 13px/1 system-ui; text-shadow:none; -webkit-text-stroke:0; box-shadow:0 2px 3px #07151ca0; }
#startModal .bairro-map #arenaLadder .journey-stop > .stop-label { z-index:3; left:10px; right:8px; bottom:8px; top:auto; min-height:0; padding:0; gap:3px; border:0; border-radius:0; background:none; }
#startModal .bairro-map #arenaLadder .stop-serial { color:#fff1c8; font:800 8px/1.2 system-ui; letter-spacing:.1em; text-shadow:0 1px 3px #031922; }
#startModal .bairro-map #arenaLadder .journey-stop > .stop-label strong { display:block; max-height:none; overflow:visible; -webkit-line-clamp:unset; color:#fff!important; font:1000 clamp(17px,4.7cqw,23px)/1.08 system-ui!important; letter-spacing:-.025em; -webkit-text-stroke:.7px #09181e; paint-order:stroke fill; text-shadow:0 2px #07141c,1px 0 #07141c,-1px 0 #07141c!important; }
#startModal .bairro-map #arenaLadder .journey-stop > .stop-label small { color:#f8dc89!important; margin:0; font:850 8px/1.2 system-ui!important; letter-spacing:.035em; text-shadow:0 1px 3px #041823; }
#startModal .bairro-map #arenaLadder .current .journey-stop { border-color:#ffe296; border-left-color:#ffe296; box-shadow:0 0 0 2px #fff0ad33,0 0 17px #f0d1704d,0 3px 0 #08232d; }
#startModal .bairro-map #arenaLadder .locked .journey-stop > img.journey-stop-art { filter:saturate(.85) brightness(.85); }
#startModal .bairro-map #arenaLadder .unlocked .stop-label small { color:#a9eab5!important; }
#startModal .bairro-map #trailRewards { z-index:3; }
#startModal .bairro-map .trail-bonus { position:absolute; left:3%; width:76%; height:96px; box-sizing:border-box; transform:translateY(-50%); display:grid; grid-template-columns:37px minmax(0,1fr); align-items:center; gap:8px; padding:5px 0; pointer-events:auto; color:#e9f2ed; }
#startModal .bairro-map .bonus-art { display:grid; place-items:center; }
#startModal .bairro-map .bonus-art .pack-object { width:31px; height:40px; margin:0; border-width:1px; border-radius:6px; box-shadow:inset 0 4px #ffedb155,0 3px 0 #071e29; }
#startModal .bairro-map .bonus-art .pack-object::before { inset:4px; }
#startModal .bairro-map .bonus-art .pack-object i { inset:5px; }
#startModal .bairro-map .bonus-art .pack-object img { width:22px; height:22px; object-fit:contain; }
#startModal .bairro-map .bonus-copy { min-width:0; display:grid; gap:4px; }
#startModal .bairro-map .bonus-copy h4 { margin:0; color:#ffe1a1; font:900 11px/1.1 system-ui; letter-spacing:0; }
#startModal .bairro-map .bonus-copy p { margin:0; color:#e0e9e5; font:600 10px/1.25 system-ui; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
#startModal .bairro-map .bonus-footer { display:flex; justify-content:space-between; align-items:center; gap:3px; }
#startModal .bairro-map .bonus-value { display:flex; align-items:center; gap:2px; color:#f7eac2; font:800 9px/1.2 system-ui; white-space:nowrap; }
#startModal .bairro-map .bonus-value img { width:15px; height:15px; object-fit:contain; }
#startModal .bairro-map .bonus-footer button { flex:none; min-height:25px; padding:3px 6px; border:1px solid #e3c786; border-radius:6px; color:#2b220f; background:linear-gradient(#ffe49b,#e6b85d); font:950 8px/1 system-ui; cursor:pointer; box-shadow:0 2px 0 #403011; }
#startModal .bairro-map .trail-bonus.locked .bonus-footer button { border-color:#7298a2; color:#d5e4e8; background:#153d4b; box-shadow:none; cursor:default; }
#startModal .bairro-map .trail-bonus.locked .bonus-art { filter:saturate(.6); }
#startModal .bairro-map .trail-bonus.claimed .bonus-copy p { color:#b4cacd; }
#startModal .bairro-map .trail-bonus.claimed .bonus-footer button { color:#a2e5b4; border-color:#659c80; background:#193f36; cursor:default; box-shadow:none; }
#startModal .bairro-map .trail-bonus.ready .pack-object { animation:bonus-breathe 2.6s ease-in-out infinite; }
#startModal .bairro-map #trailPlayer { z-index:5; filter:drop-shadow(0 3px 3px #041e2999); }
#startModal .bairro-map #trailPlayer > .trail-emote { display:block; box-sizing:border-box; width:42px; height:42px; border:2px solid #ffe39d; border-radius:12px; background-color:#123846; background-image:image-set(url('assets/image-quality/variants/opombo_tower_moods-0fb29c9a8bbe-512.webp') 1x,url('assets/image-quality/variants/opombo_tower_moods-0fb29c9a8bbe-1024.webp') 2x); background-size:400% 400%; background-position:33.333333% 0; box-shadow:0 0 11px #ffd86b77; }
#startModal .bairro-map #trailPlayer strong { top:41px; padding:3px 4px; font:900 8px/1 system-ui; border-radius:4px; background:#ffe195; color:#133443; }
#startModal .journey-shell .journey-preview { inset:8px; height:auto; min-height:0; z-index:12; border:2px solid var(--accent); border-radius:15px; background:#102a35; box-shadow:0 0 0 100vmax #031822bd,0 8px 30px #0009; }
#startModal .journey-preview > img { inset:0; height:100%; width:100%; object-fit:contain; transform:none; animation:none; }
#startModal .journey-preview::after { background:linear-gradient(transparent 45%,#071b2ade 77%,#071b2afa); }
#startModal .journey-preview .preview-caption { left:14px; right:14px; bottom:60px; }
#startModal .journey-preview .preview-caption h3 { font-size:clamp(20px,5cqw,27px); color:#fff; text-shadow:0 2px 3px #000; }
#startModal .journey-preview #useArenaBtn { min-height:36px; height:auto; padding:7px; bottom:12px; letter-spacing:.035em; }
#startModal .journey-stop:focus-visible, #startModal .bonus-footer button:focus-visible, #trailToPlayer:focus-visible { outline:3px solid #a8efff; outline-offset:3px; }
@keyframes bonus-breathe { 50% { transform:rotate(-3deg) translateY(-2px); filter:brightness(1.12); } }
@container (min-width:390px) {
  #startModal .bairro-map .bonus-copy h4 { font-size:13px; }
  #startModal .bairro-map .bonus-copy p { font-size:11px; }
  #startModal .bairro-map .bonus-value { font-size:10px; }
  #startModal .bairro-map .bonus-footer button { font-size:9px; }
  #startModal .bairro-map #arenaLadder .stop-serial { font-size:9px; }
  #startModal .bairro-map #arenaLadder .journey-stop > .stop-label small { font-size:9px!important; }
}
@media(prefers-reduced-motion:reduce) { #startModal .bairro-map .trail-bonus.ready .pack-object { animation:none; } }
