.spell-check-launcher {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 2147483000;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.35rem;
    padding: 0.45rem 0.85rem;
    border: 1px solid rgba(31, 107, 103, 0.35);
    border-radius: 999px;
    background: linear-gradient(90deg, #f4fffb 0%, #d7f3ee 100%);
    color: #124f4d;
    font-size: 0.85rem;
    font-weight: 700;
    box-shadow: 0 0.35rem 1rem rgba(15, 95, 97, 0.18);
    cursor: pointer;
}

.spell-check-launcher:hover,
.spell-check-launcher:focus {
    background: linear-gradient(90deg, #e7fbf6 0%, #bfe9e2 100%);
    color: #073c3f;
    border-color: rgba(31, 107, 103, 0.55);
}

.spell-check-status {
    position: fixed;
    right: 1rem;
    bottom: 3.9rem;
    z-index: 2147483000;
    max-width: min(24rem, calc(100vw - 2rem));
    padding: 0.6rem 0.8rem;
    border: 1px solid rgba(31, 107, 103, 0.22);
    border-radius: 0.5rem;
    background: rgba(255, 250, 242, 0.98);
    color: #2d241d;
    font-size: 0.82rem;
    box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.12);
}

.spell-check-status[hidden] {
    display: none !important;
}

.spell-check-active-field {
    outline: 2px solid rgba(31, 107, 103, 0.55) !important;
    outline-offset: 2px;
}

@media (max-width: 767.98px) {
    .spell-check-launcher {
        right: 0.75rem;
        bottom: 0.75rem;
        padding-inline: 0.7rem;
    }

    .spell-check-status {
        right: 0.75rem;
        bottom: 3.6rem;
    }
}
