.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    cursor: pointer;
    font-family: 'Lexend Deca', sans-serif;
    font-size: 14.2857142857px;
    font-weight: 700;
    padding: 0.75rem 1.5rem;
    margin: 0;
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));
    color: var(--color-on-primary);
    border-radius: 12px;
    box-shadow: 0 0 16px var(--color-primary-glow);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
    background: var(--color-primary-disabled);
}

.btn:not(:disabled):hover {
    transform: translateY(-2px);
    box-shadow: 0 0 24px var(--color-primary-glow);
}

.btn:not(:disabled):active {
    transform: translateY(0);
}

.btn-secondary {
    background: var(--color-surface-card);
    color: var(--color-text);
    border: 1px solid var(--color-border);
    box-shadow: none;
}

.btn-secondary:not(:disabled):hover {
    background: var(--color-surface-hover);
    border-color: var(--color-border-glow);
    box-shadow: 0 0 12px var(--color-primary-glow);
}

.btn-danger {
    background: var(--color-error);
    box-shadow: 0 0 16px rgba(239, 68, 68, 0.35);
}

.btn-danger:not(:disabled):hover {
    box-shadow: 0 0 24px rgba(239, 68, 68, 0.55);
}
