#largestar-contact {
    position: fixed;
    right: 18px;
    right: max(18px, env(safe-area-inset-right));
    bottom: 100px;
    bottom: max(100px, calc(env(safe-area-inset-bottom) + 80px));
    z-index: 99990;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    width: auto;
    margin: 0;
    padding: 0;
    font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", sans-serif;
    text-align: left;
    color: #16332b;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease, visibility 0s linear .15s;
}
#largestar-contact.ls-contact-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .25s ease, visibility 0s;
}
#largestar-contact[hidden] { display: none !important; }
#largestar-contact * { box-sizing: border-box; }
#largestar-contact .ls-contact-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    min-width: 56px;
    margin: 0;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 3px 14px #0003;
    list-style: none;
    transition: filter .15s ease;
    -webkit-tap-highlight-color: transparent;
}
#largestar-contact .ls-contact-green { background: #087b38; }
#largestar-contact .ls-contact-blue { background: #155e91; }
#largestar-contact .ls-contact-slate { background: #435568; }
#largestar-contact .ls-contact-button:hover { filter: brightness(1.12); }
#largestar-contact .ls-contact-button:focus-visible,
#largestar-contact button:focus-visible,
#largestar-contact input:focus-visible { outline: 3px solid #e89c12; outline-offset: 3px; }
#largestar-contact .ls-contact-line-word { color: #fff; font: 800 13px/1 sans-serif; letter-spacing: -.4px; }
#largestar-contact .ls-contact-label {
    position: absolute;
    right: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
    padding: 5px 10px;
    border-radius: 6px;
    background: #17382f;
    color: #fff;
    white-space: nowrap;
    font-size: 13px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
#largestar-contact .ls-contact-button:hover .ls-contact-label,
#largestar-contact .ls-contact-button:focus-visible .ls-contact-label { opacity: 1; visibility: visible; }
@media (max-width: 600px) {
    #largestar-contact { right: 12px; right: max(12px, env(safe-area-inset-right)); gap: 10px; }
    #largestar-contact .ls-contact-button { width: 50px; height: 50px; min-width: 50px; }
    #largestar-contact .ls-contact-label { display: none; }
}
@media (max-height: 520px) {
    #largestar-contact { bottom: 16px; }
}
@media print { #largestar-contact { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
    #largestar-contact, #largestar-contact.ls-contact-visible,
    #largestar-contact .ls-contact-button { transition: none; }
}
