:root { --football-ai-launcher-obstruction: 0px; }
.football-ai-launcher {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: calc(max(1rem, env(safe-area-inset-bottom)) + var(--football-ai-launcher-obstruction));
    z-index: 1035;
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 50%;
    background: #17a2b8;
    color: #fff;
    box-shadow: 0 .35rem .9rem rgba(33, 37, 41, .22);
    text-decoration: none;
    transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.football-ai-launcher:hover { background: #138496; color: #fff; box-shadow: 0 .45rem 1rem rgba(33, 37, 41, .27); text-decoration: none; }
.football-ai-launcher:focus-visible { color: #fff; outline: 3px solid rgba(23, 162, 184, .35); outline-offset: 3px; }
.football-ai-launcher__mark { position: relative; display: grid; place-items: center; font-size: 2rem; line-height: 1; }
.football-ai-launcher__mark .bi-chat-dots-fill { position: absolute; right: -.35rem; bottom: -.2rem; padding: 2px; border-radius: 50%; background: #17a2b8; font-size: .7rem; }
.football-ai-launcher__label { position: absolute; right: calc(100% + .6rem); padding: .3rem .55rem; border-radius: .35rem; background: #343a40; color: #fff; font-size: .78rem; white-space: nowrap; opacity: 0; pointer-events: none; transform: translateX(.25rem); transition: opacity .15s ease, transform .15s ease; }
.football-ai-launcher:hover .football-ai-launcher__label,
.football-ai-launcher:focus-visible .football-ai-launcher__label { opacity: 1; transform: translateX(0); }
.football-ai-launcher--idle-notice { animation: football-ai-launcher-notice .65s ease-in-out 1; }
@keyframes football-ai-launcher-notice { 0%, 100% { transform: translateY(0); } 35% { transform: translateY(-7px); } 65% { transform: translateY(-2px); } }
@media (max-width: 575.98px) {
    .football-ai-launcher { right: max(.75rem, env(safe-area-inset-right)); bottom: calc(max(.75rem, env(safe-area-inset-bottom)) + var(--football-ai-launcher-obstruction)); width: 50px; height: 50px; }
    .football-ai-launcher__label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .football-ai-launcher, .football-ai-launcher__label { transition: none; }
    .football-ai-launcher--idle-notice { animation: none; }
}
