/* ======================
   SHARED BUTTON STYLES
   ====================== */
.morse-cancel-btn {
    font-family: 'Cormorant', Georgia, serif;
    font-size: var(--text-button);
    font-weight: 300;
    letter-spacing: var(--ls-heading);
    text-transform: lowercase;
    background: none;
    border: 1px solid var(--warm-grey);
    color: var(--text-muted);
    padding: 0.625rem var(--space-lg);
    cursor: pointer;
    transition: all var(--duration-normal) ease;
}

@media (hover: hover) {
    .morse-cancel-btn:hover {
        border-color: var(--accent);
        color: var(--text-primary);
    }
}

/* ======================
   TOAST & CENTER MESSAGE
   ====================== */
.morse-toast {
    position: fixed;
    bottom: var(--space-xl);
    left: 50%;
    transform: translateX(-50%) translateY(1rem);
    font-family: 'Cormorant', Georgia, serif;
    font-size: var(--text-caption);
    font-style: italic;
    letter-spacing: var(--ls-body);
    color: var(--text-primary);
    background: var(--warm-white);
    border: 1px solid var(--warm-grey);
    padding: var(--space-xs) var(--space-lg);
    opacity: 0;
    transition: opacity var(--duration-normal) ease, transform var(--duration-normal) ease;
    z-index: var(--z-toast);
    text-align: center;
    pointer-events: none;
    white-space: nowrap;
    -webkit-user-select: text;
    user-select: text;
}

.morse-toast.visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.center-message {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Cormorant', Georgia, serif;
    font-size: var(--text-body);
    font-style: italic;
    letter-spacing: var(--ls-body);
    color: var(--text-primary);
    text-align: center;
    pointer-events: none;
    z-index: var(--z-toast);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.center-message.visible {
    animation: center-msg-pulse 3s ease-in-out infinite;
}

@keyframes center-msg-pulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}
