.character-art{pointer-events:none}.character-hit{pointer-events:all;cursor:pointer;fill:transparent;stroke:transparent;stroke-width:7}.character-hit:hover,.character-hit:focus-visible{stroke:#ff19cd;outline:none;filter:drop-shadow(0 0 7px #ff19cd)}.character-start[aria-disabled=true]{pointer-events:none}.ribbon-text{fill:#ff10c5;font:bold 25px Arial,sans-serif;letter-spacing:2px;filter:drop-shadow(0 0 2px #ff10c5) drop-shadow(0 0 5px #ff10c5);pointer-events:none}.ribbon-track{pointer-events:none}.podium-occlusion,.character-devices{display:none}.character-in-motion .podium-occlusion,.character-arrived .podium-occlusion{display:block}.character-arrived .character-devices{display:block}.character-arrived .character-start,.character-arrived .ribbon-track,.character-in-motion .character-start,.character-in-motion .ribbon-track{display:none}.character-devices .character-hit:hover,.character-devices .character-hit:focus-visible{stroke:#82ff00}.character-contact{position:absolute;z-index:4;left:50%;bottom:3%;transform:translateX(-50%);width:min(360px,56%);padding:14px;border:1px solid #83ff004f;background:#070709ed;box-shadow:0 0 24px #ff10c526;border-radius:15px;text-align:center}.character-contact[hidden]{display:none}.character-contact p{font-size:14px;color:white;margin:0 0 12px;font-weight:700}.contact-buttons{display:flex;gap:10px;justify-content:center}.contact-buttons button{flex:1;border-radius:10px;padding:12px 5px;font-weight:700;font-size:13px;line-height:1.3}.contact-buttons button:hover{border-color:#ff10c5;box-shadow:0 0 12px #ff10c54d}.contact-symbol{display:block;font-size:28px;margin-bottom:4px}.character-contact .reset-character{padding:5px 12px;margin-top:9px;font-size:11px;color:#ccc;background:transparent;border:0}.character-loading{position:absolute;right:2%;bottom:5%;z-index:3;background:#111d;border:1px solid #ff10c5;border-radius:12px;padding:10px;font-size:12px}.character-loading[hidden]{display:none}.character-destination-dialog a{display:block;padding:13px;color:#fff;background:#ff10c5;border-radius:8px;text-align:center;margin:16px 0;text-decoration:none}.character-destination-dialog .actions{flex-wrap:wrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.character-contact{padding:8px;bottom:1%;width:62%}.character-contact p{font-size:11px;margin-bottom:5px}.contact-buttons button{padding:7px 3px;font-size:10px}.contact-symbol{font-size:20px}.character-contact .reset-character{font-size:10px;margin-top:3px}}
.character-destination-dialog a[hidden]{display:none}

.character-sprite{position:static!important;inset:auto!important;width:129px!important;height:161.193px!important;max-width:129px!important;max-height:161.193px!important;min-width:129px!important;min-height:161.193px!important;overflow:visible!important}.character-sprite canvas{display:block!important;width:1122px!important;height:1402px!important;max-width:none!important;max-height:none!important}

#assistant-bubble{cursor:pointer;animation:assistantBubblePulse 1.8s ease-in-out infinite;filter:drop-shadow(0 0 7px #ff19cd)}#assistant-bubble:focus-visible{outline:none;filter:drop-shadow(0 0 12px #75ff00)}@keyframes assistantBubblePulse{0%,100%{opacity:1}50%{opacity:.4}}.assistant-center-cover{display:none}.assistant-walking .assistant-center-cover,.assistant-arrived .assistant-center-cover{display:block}.assistant-walking #assistant-bubble,.assistant-arrived #assistant-bubble{display:none}.paused #assistant-bubble{animation-play-state:paused}

@font-face{font-family:CampaignBrush;src:url('assets/campaign-graffiti-bold.otf') format('opentype');font-weight:900;font-display:swap}#assistant-bubble{pointer-events:none}.assistant-walking #assistant-shoe-trigger,.assistant-arrived #assistant-shoe-trigger{display:none}.character-contact{border:2px solid #ff10c5;background:linear-gradient(135deg,#101017,#08080c);box-shadow:0 0 20px #ff10c560}.character-contact .graffiti-heading,.character-contact .graffiti-word,.character-destination-dialog h2,.character-destination-dialog button,.character-destination-dialog a{font-family:CampaignBrush,Arial,sans-serif;font-weight:900;font-style:italic;letter-spacing:-1px;text-transform:uppercase;text-shadow:2px 2px #000,3px 3px #ff10c5;transform:skew(-5deg) rotate(-2deg)}.character-contact .graffiti-heading{font-size:clamp(16px,2.8vw,30px);color:#75ff00;margin:0 0 5px;-webkit-text-stroke:.4px #000}.character-contact .graffiti-subtitle{font-family:CampaignBrush,Arial,sans-serif;font-style:italic;font-size:clamp(10px,1.2vw,14px);color:white;letter-spacing:-.3px}.contact-buttons .graffiti-word{display:block;font-size:clamp(15px,2.3vw,25px);color:#ff10c5;text-shadow:1px 1px #000,2px 2px #fff}.contact-buttons button:nth-child(2) .graffiti-word{color:#75ff00;text-shadow:1px 1px #000,2px 2px #008aff}.character-contact .reset-character .graffiti-word{font-size:11px;color:white;letter-spacing:0}.character-contact:before{content:'';position:absolute;left:8%;top:-7px;width:60%;height:8px;background:#ff10c5;transform:rotate(-3deg) skew(-24deg);box-shadow:25px 5px #75ff00;pointer-events:none}.character-destination-dialog h2{color:#75ff00}.character-destination-dialog p{font-family:CampaignBrush,Arial,sans-serif;font-style:italic;line-height:1.6}



.shoe-flashing-text{font:900 12px Arial,sans-serif;letter-spacing:.5px;fill:#ff009d;pointer-events:none;paint-order:stroke fill;stroke:#ff009d;stroke-width:.2px;filter:drop-shadow(0 0 2px #ff009d) drop-shadow(0 0 4px #ff009d);animation:shoeHotPinkFlash 1.3s ease-in-out infinite}@keyframes shoeHotPinkFlash{0%,100%{opacity:1}50%{opacity:.2}}.paused .shoe-flashing-text{animation-play-state:paused}

#assistant-bubble{animation:none;filter:none}.bubble-graffiti{font-family:CampaignBrush,Arial,sans-serif;font-style:italic;font-weight:900;letter-spacing:-.6px;paint-order:stroke fill;stroke:#111;stroke-width:.5px;filter:drop-shadow(1px 1px 0 #111)}.bubble-graffiti tspan:last-child{stroke:none;filter:none}.assistant-skirt-sway{transform-origin:1298px 633px;transform-box:view-box;animation:skirtSway 1.6s ease-in-out infinite}@keyframes skirtSway{0%,100%{transform:rotate(-2.6deg) skewX(-1.5deg)}50%{transform:rotate(2.6deg) skewX(1.5deg)}}.paused .assistant-skirt-sway{animation-play-state:paused}

.shoe-bold-scroll{font-size:19px;font-weight:900;letter-spacing:1px;stroke:#ff009d;stroke-width:1px;filter:drop-shadow(0 0 2px #ff009d) drop-shadow(0 0 5px #ff009d);animation:none}
