:root{--ink:#30265f}
body{color:#30265f}
.header-cta,.primary,.event-meta .event-button,#result,.btn.dark,.event-next .primary{background:#5b32a5}
.event-card{border-left:7px solid var(--card-color);background:color-mix(in srgb,var(--card-color) 7%,white);margin:10px 0;border-radius:14px;padding-left:24px}
.event-card:hover{background:color-mix(in srgb,var(--card-color) 13%,white)}
.interaction{background:#fff;color:#30265f}
.pet-sprite{background-image:url('assets/pet30/pose-01.png');background-size:contain;background-position:center;background-repeat:no-repeat}
.roaming-pet{position:fixed;z-index:50;left:30px;bottom:18px;width:110px;height:190px;border:0;background-color:transparent;background-position:center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 12px 12px #43356a30);cursor:pointer;padding:0;transition:left 2.5s cubic-bezier(.45,.05,.2,1),transform .25s}
.roaming-pet.right{left:calc(100vw - 140px);transform:none}
.roaming-bubble{position:fixed;z-index:51;bottom:170px;left:120px;max-width:260px;background:white;color:#30265f;border:1px solid #d7d0e2;padding:12px 15px;border-radius:15px 15px 15px 3px;box-shadow:0 12px 32px #43356a18;font-size:13px;transition:left 2.5s}
.roaming-bubble.right{left:calc(100vw - 410px)}
.mascot-stage.is-speaking .mascot-speech{transform:translateY(-5px);box-shadow:0 18px 45px #67509a22}
@media(max-width:700px){.roaming-pet{width:78px;height:135px}.roaming-pet.right{left:calc(100vw - 100px)}.roaming-bubble{bottom:125px;left:80px;max-width:210px}.roaming-bubble.right{left:calc(100vw - 250px)}}
