.ui-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ui-space-2);
    min-height: var(--ui-control-height);
    padding: 0 var(--ui-space-3);
    border: 1px solid var(--ui-color-line);
    border-radius: var(--ui-radius-md);
    background: var(--ui-color-surface);
    color: var(--ui-color-ink);
    font-size: var(--ui-font-md);
    font-weight: 800;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.ui-button:hover {
    text-decoration: none;
}

.ui-button:active,
.ui-button.is-pressed {
    transform: scale(.98);
}

.ui-button--accent {
    border-color: var(--ui-color-accent);
    background: var(--ui-color-accent);
    color: #FFF8EC;
}

.ui-button--accent:hover {
    background: var(--ui-color-accent-dark);
}

.ui-button--ghost {
    background: transparent;
}

.ui-button--pill {
    border-radius: var(--ui-radius-pill);
}

.ui-button--full {
    width: 100%;
}

.ui-action-link {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: var(--ui-space-2);
    color: var(--ui-color-accent);
    font-weight: 900;
    line-height: 1.15;
}

.ui-action-link:hover {
    color: var(--ui-color-accent-dark);
    text-decoration: none;
}
