.dag-btn,
.btn,
button.btn,
a.btn,
.dag-btn--primary,
.btn--primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-5);
    background: var(--color-primary);
    color: var(--color-paper);
    border: 1px solid var(--color-primary);
    border-radius: 0;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: var(--ls-wide);
    text-decoration: none;
    cursor: pointer;
    line-height: 1.2;
    transition: background var(--anim-fast) var(--ease-out),
                color var(--anim-fast) var(--ease-out),
                border-color var(--anim-fast) var(--ease-out);
}
.dag-btn:hover,
.btn:hover,
.dag-btn--primary:hover,
.btn--primary:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    color: var(--color-paper);
}

.dag-btn--ghost,
.btn--ghost,
.dag-btn--secondary {
    background: var(--color-paper);
    color: var(--color-ink);
    border: 1px solid var(--color-border-2);
}
.dag-btn--ghost:hover,
.btn--ghost:hover,
.dag-btn--secondary:hover {
    background: var(--color-ink);
    color: var(--color-paper);
    border-color: var(--color-ink);
}

.dag-btn--accent,
.btn--accent,
.dag-btn--dark {
    background: var(--color-ink);
    color: var(--color-paper);
    border: 1px solid var(--color-ink);
}
.dag-btn--accent:hover,
.btn--accent:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
}

.dag-btn--lg,
.btn--lg {
    padding: var(--space-4) var(--space-6);
    font-size: var(--fs-base);
}
.dag-btn--sm,
.btn--sm {
    padding: var(--space-2) var(--space-3);
    font-size: var(--fs-xs);
}
.dag-btn:disabled,
.btn:disabled,
.dag-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
