#companion-container {
    position: fixed;
    bottom: 20px;
    right: -200px;   /* Start off the screen */
    z-index: 9999;
    pointer-events: none;
}

#companion {
    width: 170px;
    height: auto;
    user-select: none;
}

#speech-bubble {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition:
        opacity .3s ease,
        transform .3s ease;
    position: absolute;
    bottom: 250px;
    right: 20px;
    max-width: 220px;
    padding: 12px 16px;
    background: white;
    color: #1e293b;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
    font-size: 14px;
    line-height: 1.4;
    opacity: 0;
    transform: translateY(10px);
    transition: all .3s ease;
}
#speech-bubble::after{
    content:"";
    position:absolute;
    bottom:-8px;
    right:28px;
    width:16px;
    height:16px;
    background:white;
    transform:rotate(45deg);
}